[epiphany] Update to pdf.js v2.4.456



commit c9fb8ab354369442e45fea15958f0ef934bf115d
Author: Jan-Michael Brummer <jan brummer tabos org>
Date:   Sun Jun 21 14:00:42 2020 +0200

    Update to pdf.js v2.4.456

 third-party/pdfjs/build/pdf.js        | 24470 +++++-----------
 third-party/pdfjs/build/pdf.worker.js | 49199 +++++++++++++-------------------
 third-party/pdfjs/web/viewer.css      |   546 +-
 third-party/pdfjs/web/viewer.js       | 17319 +++++------
 4 files changed, 33511 insertions(+), 58023 deletions(-)
---
diff --git a/third-party/pdfjs/build/pdf.js b/third-party/pdfjs/build/pdf.js
index 0dfefedbd..617ad0a24 100644
--- a/third-party/pdfjs/build/pdf.js
+++ b/third-party/pdfjs/build/pdf.js
@@ -2,7 +2,7 @@
  * @licstart The following is the entire license notice for the
  * Javascript code in this page
  *
- * Copyright 2019 Mozilla Foundation
+ * Copyright 2020 Mozilla Foundation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -123,44 +123,46 @@ return /******/ (function(modules) { // webpackBootstrap
 "use strict";
 
 
-var pdfjsVersion = '2.3.200';
-var pdfjsBuild = '4ae3f9fc';
+var pdfjsVersion = '2.4.456';
+var pdfjsBuild = '228a591c';
 
 var pdfjsSharedUtil = __w_pdfjs_require__(1);
 
-var pdfjsDisplayAPI = __w_pdfjs_require__(179);
+var pdfjsDisplayAPI = __w_pdfjs_require__(3);
 
-var pdfjsDisplayTextLayer = __w_pdfjs_require__(194);
+var pdfjsDisplayTextLayer = __w_pdfjs_require__(16);
 
-var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(195);
+var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(17);
 
-var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(183);
+var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(4);
 
-var pdfjsDisplaySVG = __w_pdfjs_require__(196);
+var pdfjsDisplaySVG = __w_pdfjs_require__(18);
 
-var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(188);
+const pdfjsDisplayWorkerOptions = __w_pdfjs_require__(10);
 
-var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);
+const pdfjsDisplayAPICompatibility = __w_pdfjs_require__(6);
 
 {
-  var isNodeJS = __w_pdfjs_require__(4);
+  const {
+    isNodeJS
+  } = __w_pdfjs_require__(7);
 
-  if (isNodeJS()) {
-    var PDFNodeStream = __w_pdfjs_require__(197).PDFNodeStream;
+  if (isNodeJS) {
+    const PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;
 
-    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
+    pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {
       return new PDFNodeStream(params);
     });
   } else {
-    var PDFNetworkStream = __w_pdfjs_require__(200).PDFNetworkStream;
+    const PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;
 
-    var PDFFetchStream;
+    let PDFFetchStream;
 
     if (pdfjsDisplayDisplayUtils.isFetchSupported()) {
-      PDFFetchStream = __w_pdfjs_require__(201).PDFFetchStream;
+      PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;
     }
 
-    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
+    pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {
       if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {
         return new PDFFetchStream(params);
       }
@@ -194,7 +196,6 @@ exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
 exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
 exports.shadow = pdfjsSharedUtil.shadow;
 exports.Util = pdfjsSharedUtil.Util;
-exports.ReadableStream = pdfjsSharedUtil.ReadableStream;
 exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;
 exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;
 exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;
@@ -227,15 +228,8 @@ exports.isBool = isBool;
 exports.isEmptyObj = isEmptyObj;
 exports.isNum = isNum;
 exports.isString = isString;
-exports.isSpace = isSpace;
 exports.isSameOrigin = isSameOrigin;
 exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.isLittleEndian = isLittleEndian;
-exports.isEvalSupported = isEvalSupported;
-exports.log2 = log2;
-exports.readInt8 = readInt8;
-exports.readUint16 = readUint16;
-exports.readUint32 = readUint32;
 exports.removeNullCharacters = removeNullCharacters;
 exports.setVerbosityLevel = setVerbosityLevel;
 exports.shadow = shadow;
@@ -246,47 +240,21 @@ exports.stringToUTF8String = stringToUTF8String;
 exports.utf8StringToString = utf8StringToString;
 exports.warn = warn;
 exports.unreachable = unreachable;
-Object.defineProperty(exports, "ReadableStream", {
-  enumerable: true,
-  get: function () {
-    return _streams_polyfill.ReadableStream;
-  }
-});
-exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = 
exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag 
= exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = 
exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = 
exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = 
exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = 
exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = 
exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = 
exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;
+exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError 
= exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = 
exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = 
exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = 
exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = 
exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState 
= exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = 
exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = 
exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = 
exports.BaseException = void 0;
 
 __w_pdfjs_require__(2);
 
-var _streams_polyfill = __w_pdfjs_require__(177);
-
-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); return Constructor; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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); }
-
-var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
+const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
 exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
+const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
 exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-var NativeImageDecoding = {
-  NONE: 'none',
-  DECODE: 'decode',
-  DISPLAY: 'display'
+const NativeImageDecoding = {
+  NONE: "none",
+  DECODE: "decode",
+  DISPLAY: "display"
 };
 exports.NativeImageDecoding = NativeImageDecoding;
-var PermissionFlag = {
+const PermissionFlag = {
   PRINT: 0x04,
   MODIFY_CONTENTS: 0x08,
   COPY: 0x10,
@@ -297,7 +265,7 @@ var PermissionFlag = {
   PRINT_HIGH_QUALITY: 0x800
 };
 exports.PermissionFlag = PermissionFlag;
-var TextRenderingMode = {
+const TextRenderingMode = {
   FILL: 0,
   STROKE: 1,
   FILL_STROKE: 2,
@@ -310,13 +278,13 @@ var TextRenderingMode = {
   ADD_TO_PATH_FLAG: 4
 };
 exports.TextRenderingMode = TextRenderingMode;
-var ImageKind = {
+const ImageKind = {
   GRAYSCALE_1BPP: 1,
   RGB_24BPP: 2,
   RGBA_32BPP: 3
 };
 exports.ImageKind = ImageKind;
-var AnnotationType = {
+const AnnotationType = {
   TEXT: 1,
   LINK: 2,
   FREETEXT: 3,
@@ -345,30 +313,30 @@ var AnnotationType = {
   REDACT: 26
 };
 exports.AnnotationType = AnnotationType;
-var AnnotationStateModelType = {
-  MARKED: 'Marked',
-  REVIEW: 'Review'
+const AnnotationStateModelType = {
+  MARKED: "Marked",
+  REVIEW: "Review"
 };
 exports.AnnotationStateModelType = AnnotationStateModelType;
-var AnnotationMarkedState = {
-  MARKED: 'Marked',
-  UNMARKED: 'Unmarked'
+const AnnotationMarkedState = {
+  MARKED: "Marked",
+  UNMARKED: "Unmarked"
 };
 exports.AnnotationMarkedState = AnnotationMarkedState;
-var AnnotationReviewState = {
-  ACCEPTED: 'Accepted',
-  REJECTED: 'Rejected',
-  CANCELLED: 'Cancelled',
-  COMPLETED: 'Completed',
-  NONE: 'None'
+const AnnotationReviewState = {
+  ACCEPTED: "Accepted",
+  REJECTED: "Rejected",
+  CANCELLED: "Cancelled",
+  COMPLETED: "Completed",
+  NONE: "None"
 };
 exports.AnnotationReviewState = AnnotationReviewState;
-var AnnotationReplyType = {
-  GROUP: 'Group',
-  REPLY: 'R'
+const AnnotationReplyType = {
+  GROUP: "Group",
+  REPLY: "R"
 };
 exports.AnnotationReplyType = AnnotationReplyType;
-var AnnotationFlag = {
+const AnnotationFlag = {
   INVISIBLE: 0x01,
   HIDDEN: 0x02,
   PRINT: 0x04,
@@ -381,7 +349,7 @@ var AnnotationFlag = {
   LOCKEDCONTENTS: 0x200
 };
 exports.AnnotationFlag = AnnotationFlag;
-var AnnotationFieldFlag = {
+const AnnotationFieldFlag = {
   READONLY: 0x0000001,
   REQUIRED: 0x0000002,
   NOEXPORT: 0x0000004,
@@ -403,7 +371,7 @@ var AnnotationFieldFlag = {
   COMMITONSELCHANGE: 0x4000000
 };
 exports.AnnotationFieldFlag = AnnotationFieldFlag;
-var AnnotationBorderStyleType = {
+const AnnotationBorderStyleType = {
   SOLID: 1,
   DASHED: 2,
   BEVELED: 3,
@@ -411,46 +379,46 @@ var AnnotationBorderStyleType = {
   UNDERLINE: 5
 };
 exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-var StreamType = {
-  UNKNOWN: 'UNKNOWN',
-  FLATE: 'FLATE',
-  LZW: 'LZW',
-  DCT: 'DCT',
-  JPX: 'JPX',
-  JBIG: 'JBIG',
-  A85: 'A85',
-  AHX: 'AHX',
-  CCF: 'CCF',
-  RLX: 'RLX'
+const StreamType = {
+  UNKNOWN: "UNKNOWN",
+  FLATE: "FLATE",
+  LZW: "LZW",
+  DCT: "DCT",
+  JPX: "JPX",
+  JBIG: "JBIG",
+  A85: "A85",
+  AHX: "AHX",
+  CCF: "CCF",
+  RLX: "RLX"
 };
 exports.StreamType = StreamType;
-var FontType = {
-  UNKNOWN: 'UNKNOWN',
-  TYPE1: 'TYPE1',
-  TYPE1C: 'TYPE1C',
-  CIDFONTTYPE0: 'CIDFONTTYPE0',
-  CIDFONTTYPE0C: 'CIDFONTTYPE0C',
-  TRUETYPE: 'TRUETYPE',
-  CIDFONTTYPE2: 'CIDFONTTYPE2',
-  TYPE3: 'TYPE3',
-  OPENTYPE: 'OPENTYPE',
-  TYPE0: 'TYPE0',
-  MMTYPE1: 'MMTYPE1'
+const FontType = {
+  UNKNOWN: "UNKNOWN",
+  TYPE1: "TYPE1",
+  TYPE1C: "TYPE1C",
+  CIDFONTTYPE0: "CIDFONTTYPE0",
+  CIDFONTTYPE0C: "CIDFONTTYPE0C",
+  TRUETYPE: "TRUETYPE",
+  CIDFONTTYPE2: "CIDFONTTYPE2",
+  TYPE3: "TYPE3",
+  OPENTYPE: "OPENTYPE",
+  TYPE0: "TYPE0",
+  MMTYPE1: "MMTYPE1"
 };
 exports.FontType = FontType;
-var VerbosityLevel = {
+const VerbosityLevel = {
   ERRORS: 0,
   WARNINGS: 1,
   INFOS: 5
 };
 exports.VerbosityLevel = VerbosityLevel;
-var CMapCompressionType = {
+const CMapCompressionType = {
   NONE: 0,
   BINARY: 1,
   STREAM: 2
 };
 exports.CMapCompressionType = CMapCompressionType;
-var OPS = {
+const OPS = {
   dependency: 1,
   setLineWidth: 2,
   setLineCap: 3,
@@ -544,21 +512,21 @@ var OPS = {
   constructPath: 91
 };
 exports.OPS = OPS;
-var UNSUPPORTED_FEATURES = {
-  unknown: 'unknown',
-  forms: 'forms',
-  javaScript: 'javaScript',
-  smask: 'smask',
-  shadingPattern: 'shadingPattern',
-  font: 'font'
+const UNSUPPORTED_FEATURES = {
+  unknown: "unknown",
+  forms: "forms",
+  javaScript: "javaScript",
+  smask: "smask",
+  shadingPattern: "shadingPattern",
+  font: "font"
 };
 exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
-var PasswordResponses = {
+const PasswordResponses = {
   NEED_PASSWORD: 1,
   INCORRECT_PASSWORD: 2
 };
 exports.PasswordResponses = PasswordResponses;
-var verbosity = VerbosityLevel.WARNINGS;
+let verbosity = VerbosityLevel.WARNINGS;
 
 function setVerbosityLevel(level) {
   if (Number.isInteger(level)) {
@@ -572,13 +540,13 @@ function getVerbosityLevel() {
 
 function info(msg) {
   if (verbosity >= VerbosityLevel.INFOS) {
-    console.log("Info: ".concat(msg));
+    console.log(`Info: ${msg}`);
   }
 }
 
 function warn(msg) {
   if (verbosity >= VerbosityLevel.WARNINGS) {
-    console.log("Warning: ".concat(msg));
+    console.log(`Warning: ${msg}`);
   }
 }
 
@@ -593,19 +561,19 @@ function assert(cond, msg) {
 }
 
 function isSameOrigin(baseUrl, otherUrl) {
-  var base;
+  let base;
 
   try {
     base = new URL(baseUrl);
 
-    if (!base.origin || base.origin === 'null') {
+    if (!base.origin || base.origin === "null") {
       return false;
     }
   } catch (e) {
     return false;
   }
 
-  var other = new URL(otherUrl, base);
+  const other = new URL(otherUrl, base);
   return base.origin === other.origin;
 }
 
@@ -615,11 +583,11 @@ function _isValidProtocol(url) {
   }
 
   switch (url.protocol) {
-    case 'http:':
-    case 'https:':
-    case 'ftp:':
-    case 'mailto:':
-    case 'tel:':
+    case "http:":
+    case "https:":
+    case "ftp:":
+    case "mailto:":
+    case "tel:":
       return true;
 
     default:
@@ -633,7 +601,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
   }
 
   try {
-    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
+    const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
 
     if (_isValidProtocol(absoluteUrl)) {
       return absoluteUrl;
@@ -645,7 +613,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
 
 function shadow(obj, prop, value) {
   Object.defineProperty(obj, prop, {
-    value: value,
+    value,
     enumerable: true,
     configurable: true,
     writable: false
@@ -653,10 +621,10 @@ function shadow(obj, prop, value) {
   return value;
 }
 
-var BaseException = function BaseExceptionClosure() {
+const BaseException = function BaseExceptionClosure() {
   function BaseException(message) {
     if (this.constructor === BaseException) {
-      unreachable('Cannot initialize BaseException.');
+      unreachable("Cannot initialize BaseException.");
     }
 
     this.message = message;
@@ -670,167 +638,89 @@ var BaseException = function BaseExceptionClosure() {
 
 exports.BaseException = BaseException;
 
-var PasswordException =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(PasswordException, _BaseException);
-
-  function PasswordException(msg, code) {
-    var _this;
-
-    _classCallCheck(this, PasswordException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
-    _this.code = code;
-    return _this;
+class PasswordException extends BaseException {
+  constructor(msg, code) {
+    super(msg);
+    this.code = code;
   }
 
-  return PasswordException;
-}(BaseException);
+}
 
 exports.PasswordException = PasswordException;
 
-var UnknownErrorException =
-/*#__PURE__*/
-function (_BaseException2) {
-  _inherits(UnknownErrorException, _BaseException2);
-
-  function UnknownErrorException(msg, details) {
-    var _this2;
-
-    _classCallCheck(this, UnknownErrorException);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
-    _this2.details = details;
-    return _this2;
+class UnknownErrorException extends BaseException {
+  constructor(msg, details) {
+    super(msg);
+    this.details = details;
   }
 
-  return UnknownErrorException;
-}(BaseException);
+}
 
 exports.UnknownErrorException = UnknownErrorException;
 
-var InvalidPDFException =
-/*#__PURE__*/
-function (_BaseException3) {
-  _inherits(InvalidPDFException, _BaseException3);
-
-  function InvalidPDFException() {
-    _classCallCheck(this, InvalidPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
-  }
-
-  return InvalidPDFException;
-}(BaseException);
+class InvalidPDFException extends BaseException {}
 
 exports.InvalidPDFException = InvalidPDFException;
 
-var MissingPDFException =
-/*#__PURE__*/
-function (_BaseException4) {
-  _inherits(MissingPDFException, _BaseException4);
-
-  function MissingPDFException() {
-    _classCallCheck(this, MissingPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
-  }
-
-  return MissingPDFException;
-}(BaseException);
+class MissingPDFException extends BaseException {}
 
 exports.MissingPDFException = MissingPDFException;
 
-var UnexpectedResponseException =
-/*#__PURE__*/
-function (_BaseException5) {
-  _inherits(UnexpectedResponseException, _BaseException5);
-
-  function UnexpectedResponseException(msg, status) {
-    var _this3;
-
-    _classCallCheck(this, UnexpectedResponseException);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
-    _this3.status = status;
-    return _this3;
+class UnexpectedResponseException extends BaseException {
+  constructor(msg, status) {
+    super(msg);
+    this.status = status;
   }
 
-  return UnexpectedResponseException;
-}(BaseException);
+}
 
 exports.UnexpectedResponseException = UnexpectedResponseException;
 
-var FormatError =
-/*#__PURE__*/
-function (_BaseException6) {
-  _inherits(FormatError, _BaseException6);
-
-  function FormatError() {
-    _classCallCheck(this, FormatError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
-  }
-
-  return FormatError;
-}(BaseException);
+class FormatError extends BaseException {}
 
 exports.FormatError = FormatError;
 
-var AbortException =
-/*#__PURE__*/
-function (_BaseException7) {
-  _inherits(AbortException, _BaseException7);
-
-  function AbortException() {
-    _classCallCheck(this, AbortException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
-  }
-
-  return AbortException;
-}(BaseException);
+class AbortException extends BaseException {}
 
 exports.AbortException = AbortException;
-var NullCharactersRegExp = /\x00/g;
+const NullCharactersRegExp = /\x00/g;
 
 function removeNullCharacters(str) {
-  if (typeof str !== 'string') {
-    warn('The argument for removeNullCharacters must be a string.');
+  if (typeof str !== "string") {
+    warn("The argument for removeNullCharacters must be a string.");
     return str;
   }
 
-  return str.replace(NullCharactersRegExp, '');
+  return str.replace(NullCharactersRegExp, "");
 }
 
 function bytesToString(bytes) {
-  assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for 
bytesToString');
-  var length = bytes.length;
-  var MAX_ARGUMENT_COUNT = 8192;
+  assert(bytes !== null && typeof bytes === "object" && bytes.length !== undefined, "Invalid argument for 
bytesToString");
+  const length = bytes.length;
+  const MAX_ARGUMENT_COUNT = 8192;
 
   if (length < MAX_ARGUMENT_COUNT) {
     return String.fromCharCode.apply(null, bytes);
   }
 
-  var strBuf = [];
+  const strBuf = [];
 
-  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
-    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
-    var chunk = bytes.subarray(i, chunkEnd);
+  for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
+    const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
+    const chunk = bytes.subarray(i, chunkEnd);
     strBuf.push(String.fromCharCode.apply(null, chunk));
   }
 
-  return strBuf.join('');
+  return strBuf.join("");
 }
 
 function stringToBytes(str) {
-  assert(typeof str === 'string', 'Invalid argument for stringToBytes');
-  var length = str.length;
-  var bytes = new Uint8Array(length);
+  assert(typeof str === "string", "Invalid argument for stringToBytes");
+  const length = str.length;
+  const bytes = new Uint8Array(length);
 
-  for (var i = 0; i < length; ++i) {
-    bytes[i] = str.charCodeAt(i) & 0xFF;
+  for (let i = 0; i < length; ++i) {
+    bytes[i] = str.charCodeAt(i) & 0xff;
   }
 
   return bytes;
@@ -846,33 +736,33 @@ function arrayByteLength(arr) {
 }
 
 function arraysToBytes(arr) {
-  var length = arr.length;
+  const length = arr.length;
 
   if (length === 1 && arr[0] instanceof Uint8Array) {
     return arr[0];
   }
 
-  var resultLength = 0;
+  let resultLength = 0;
 
-  for (var i = 0; i < length; i++) {
+  for (let i = 0; i < length; i++) {
     resultLength += arrayByteLength(arr[i]);
   }
 
-  var pos = 0;
-  var data = new Uint8Array(resultLength);
+  let pos = 0;
+  const data = new Uint8Array(resultLength);
 
-  for (var _i = 0; _i < length; _i++) {
-    var item = arr[_i];
+  for (let i = 0; i < length; i++) {
+    let item = arr[i];
 
     if (!(item instanceof Uint8Array)) {
-      if (typeof item === 'string') {
+      if (typeof item === "string") {
         item = stringToBytes(item);
       } else {
         item = new Uint8Array(item);
       }
     }
 
-    var itemLength = item.byteLength;
+    const itemLength = item.byteLength;
     data.set(item, pos);
     pos += itemLength;
   }
@@ -884,183 +774,163 @@ function string32(value) {
   return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
 }
 
-function log2(x) {
-  if (x <= 0) {
-    return 0;
-  }
-
-  return Math.ceil(Math.log2(x));
-}
-
-function readInt8(data, start) {
-  return data[start] << 24 >> 24;
-}
-
-function readUint16(data, offset) {
-  return data[offset] << 8 | data[offset + 1];
-}
-
-function readUint32(data, offset) {
-  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;
-}
-
 function isLittleEndian() {
-  var buffer8 = new Uint8Array(4);
+  const buffer8 = new Uint8Array(4);
   buffer8[0] = 1;
-  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
+  const view32 = new Uint32Array(buffer8.buffer, 0, 1);
   return view32[0] === 1;
 }
 
+const IsLittleEndianCached = {
+  get value() {
+    return shadow(this, "value", isLittleEndian());
+  }
+
+};
+exports.IsLittleEndianCached = IsLittleEndianCached;
+
 function isEvalSupported() {
   try {
-    new Function('');
+    new Function("");
     return true;
   } catch (e) {
     return false;
   }
 }
 
-var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];
-
-var Util =
-/*#__PURE__*/
-function () {
-  function Util() {
-    _classCallCheck(this, Util);
-  }
-
-  _createClass(Util, null, [{
-    key: "makeCssRgb",
-    value: function makeCssRgb(r, g, b) {
-      rgbBuf[1] = r;
-      rgbBuf[3] = g;
-      rgbBuf[5] = b;
-      return rgbBuf.join('');
-    }
-  }, {
-    key: "transform",
-    value: function transform(m1, m2) {
-      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], 
m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
-    }
-  }, {
-    key: "applyTransform",
-    value: function applyTransform(p, m) {
-      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
-      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
-      return [xt, yt];
-    }
-  }, {
-    key: "applyInverseTransform",
-    value: function applyInverseTransform(p, m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
-      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
-      return [xt, yt];
-    }
-  }, {
-    key: "getAxialAlignedBoundingBox",
-    value: function getAxialAlignedBoundingBox(r, m) {
-      var p1 = Util.applyTransform(r, m);
-      var p2 = Util.applyTransform(r.slice(2, 4), m);
-      var p3 = Util.applyTransform([r[0], r[3]], m);
-      var p4 = Util.applyTransform([r[2], r[1]], m);
-      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], 
p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
-    }
-  }, {
-    key: "inverseTransform",
-    value: function inverseTransform(m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] 
* m[0]) / d];
-    }
-  }, {
-    key: "apply3dTransform",
-    value: function apply3dTransform(m, v) {
-      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] 
+ m[7] * v[1] + m[8] * v[2]];
-    }
-  }, {
-    key: "singularValueDecompose2dScale",
-    value: function singularValueDecompose2dScale(m) {
-      var transpose = [m[0], m[2], m[1], m[3]];
-      var a = m[0] * transpose[0] + m[1] * transpose[2];
-      var b = m[0] * transpose[1] + m[1] * transpose[3];
-      var c = m[2] * transpose[0] + m[3] * transpose[2];
-      var d = m[2] * transpose[1] + m[3] * transpose[3];
-      var first = (a + d) / 2;
-      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
-      var sx = first + second || 1;
-      var sy = first - second || 1;
-      return [Math.sqrt(sx), Math.sqrt(sy)];
-    }
-  }, {
-    key: "normalizeRect",
-    value: function normalizeRect(rect) {
-      var r = rect.slice(0);
-
-      if (rect[0] > rect[2]) {
-        r[0] = rect[2];
-        r[2] = rect[0];
-      }
-
-      if (rect[1] > rect[3]) {
-        r[1] = rect[3];
-        r[3] = rect[1];
-      }
-
-      return r;
-    }
-  }, {
-    key: "intersect",
-    value: function intersect(rect1, rect2) {
-      function compare(a, b) {
-        return a - b;
-      }
-
-      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
-      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
-      var result = [];
-      rect1 = Util.normalizeRect(rect1);
-      rect2 = Util.normalizeRect(rect2);
-
-      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] 
=== rect1[0]) {
-        result[0] = orderedX[1];
-        result[2] = orderedX[2];
-      } else {
-        return null;
-      }
+const IsEvalSupportedCached = {
+  get value() {
+    return shadow(this, "value", isEvalSupported());
+  }
 
-      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] 
=== rect1[1]) {
-        result[1] = orderedY[1];
-        result[3] = orderedY[2];
-      } else {
-        return null;
-      }
+};
+exports.IsEvalSupportedCached = IsEvalSupportedCached;
+const rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];
 
-      return result;
+class Util {
+  static makeCssRgb(r, g, b) {
+    rgbBuf[1] = r;
+    rgbBuf[3] = g;
+    rgbBuf[5] = b;
+    return rgbBuf.join("");
+  }
+
+  static transform(m1, m2) {
+    return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], 
m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
+  }
+
+  static applyTransform(p, m) {
+    const xt = p[0] * m[0] + p[1] * m[2] + m[4];
+    const yt = p[0] * m[1] + p[1] * m[3] + m[5];
+    return [xt, yt];
+  }
+
+  static applyInverseTransform(p, m) {
+    const d = m[0] * m[3] - m[1] * m[2];
+    const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
+    const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
+    return [xt, yt];
+  }
+
+  static getAxialAlignedBoundingBox(r, m) {
+    const p1 = Util.applyTransform(r, m);
+    const p2 = Util.applyTransform(r.slice(2, 4), m);
+    const p3 = Util.applyTransform([r[0], r[3]], m);
+    const p4 = Util.applyTransform([r[2], r[1]], m);
+    return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], 
p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
+  }
+
+  static inverseTransform(m) {
+    const d = m[0] * m[3] - m[1] * m[2];
+    return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * 
m[0]) / d];
+  }
+
+  static apply3dTransform(m, v) {
+    return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + 
m[7] * v[1] + m[8] * v[2]];
+  }
+
+  static singularValueDecompose2dScale(m) {
+    const transpose = [m[0], m[2], m[1], m[3]];
+    const a = m[0] * transpose[0] + m[1] * transpose[2];
+    const b = m[0] * transpose[1] + m[1] * transpose[3];
+    const c = m[2] * transpose[0] + m[3] * transpose[2];
+    const d = m[2] * transpose[1] + m[3] * transpose[3];
+    const first = (a + d) / 2;
+    const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
+    const sx = first + second || 1;
+    const sy = first - second || 1;
+    return [Math.sqrt(sx), Math.sqrt(sy)];
+  }
+
+  static normalizeRect(rect) {
+    const r = rect.slice(0);
+
+    if (rect[0] > rect[2]) {
+      r[0] = rect[2];
+      r[2] = rect[0];
     }
-  }]);
 
-  return Util;
-}();
+    if (rect[1] > rect[3]) {
+      r[1] = rect[3];
+      r[3] = rect[1];
+    }
+
+    return r;
+  }
+
+  static intersect(rect1, rect2) {
+    function compare(a, b) {
+      return a - b;
+    }
+
+    const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
+    const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
+    const result = [];
+    rect1 = Util.normalizeRect(rect1);
+    rect2 = Util.normalizeRect(rect2);
+
+    if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === 
rect1[0]) {
+      result[0] = orderedX[1];
+      result[2] = orderedX[2];
+    } else {
+      return null;
+    }
+
+    if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === 
rect1[1]) {
+      result[1] = orderedY[1];
+      result[3] = orderedY[2];
+    } else {
+      return null;
+    }
+
+    return result;
+  }
+
+}
 
 exports.Util = Util;
-var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 
0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 
0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
+const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 
0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 
0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
 
 function stringToPDFString(str) {
-  var length = str.length,
-      strBuf = [];
+  const length = str.length,
+        strBuf = [];
 
-  if (str[0] === '\xFE' && str[1] === '\xFF') {
-    for (var i = 2; i < length; i += 2) {
+  if (str[0] === "\xFE" && str[1] === "\xFF") {
+    for (let i = 2; i < length; i += 2) {
       strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
     }
+  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
+    for (let i = 2; i < length; i += 2) {
+      strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));
+    }
   } else {
-    for (var _i2 = 0; _i2 < length; ++_i2) {
-      var code = PDFStringTranslateTable[str.charCodeAt(_i2)];
-      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));
+    for (let i = 0; i < length; ++i) {
+      const code = PDFStringTranslateTable[str.charCodeAt(i)];
+      strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));
     }
   }
 
-  return strBuf.join('');
+  return strBuf.join("");
 }
 
 function stringToUTF8String(str) {
@@ -1072,7 +942,7 @@ function utf8StringToString(str) {
 }
 
 function isEmptyObj(obj) {
-  for (var key in obj) {
+  for (const key in obj) {
     return false;
   }
 
@@ -1080,19 +950,19 @@ function isEmptyObj(obj) {
 }
 
 function isBool(v) {
-  return typeof v === 'boolean';
+  return typeof v === "boolean";
 }
 
 function isNum(v) {
-  return typeof v === 'number';
+  return typeof v === "number";
 }
 
 function isString(v) {
-  return typeof v === 'string';
+  return typeof v === "string";
 }
 
 function isArrayBuffer(v) {
-  return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;
+  return typeof v === "object" && v !== null && v.byteLength !== undefined;
 }
 
 function isArrayEqual(arr1, arr2) {
@@ -1105,17 +975,14 @@ function isArrayEqual(arr1, arr2) {
   });
 }
 
-function isSpace(ch) {
-  return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;
-}
-
 function createPromiseCapability() {
-  var capability = Object.create(null);
-  var isSettled = false;
-  Object.defineProperty(capability, 'settled', {
-    get: function get() {
+  const capability = Object.create(null);
+  let isSettled = false;
+  Object.defineProperty(capability, "settled", {
+    get() {
       return isSettled;
     }
+
   });
   capability.promise = new Promise(function (resolve, reject) {
     capability.resolve = function (data) {
@@ -1131,28 +998,26 @@ function createPromiseCapability() {
   return capability;
 }
 
-var createObjectURL = function createObjectURLClosure() {
-  var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-  return function createObjectURL(data, contentType) {
-    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
+const createObjectURL = function createObjectURLClosure() {
+  const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+  return function createObjectURL(data, contentType, forceDataSchema = false) {
     if (!forceDataSchema && URL.createObjectURL) {
-      var blob = new Blob([data], {
+      const blob = new Blob([data], {
         type: contentType
       });
       return URL.createObjectURL(blob);
     }
 
-    var buffer = "data:".concat(contentType, ";base64,");
+    let buffer = `data:${contentType};base64,`;
 
-    for (var i = 0, ii = data.length; i < ii; i += 3) {
-      var b1 = data[i] & 0xFF;
-      var b2 = data[i + 1] & 0xFF;
-      var b3 = data[i + 2] & 0xFF;
-      var d1 = b1 >> 2,
-          d2 = (b1 & 3) << 4 | b2 >> 4;
-      var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;
-      var d4 = i + 2 < ii ? b3 & 0x3F : 64;
+    for (let i = 0, ii = data.length; i < ii; i += 3) {
+      const b1 = data[i] & 0xff;
+      const b2 = data[i + 1] & 0xff;
+      const b3 = data[i + 2] & 0xff;
+      const d1 = b1 >> 2,
+            d2 = (b1 & 3) << 4 | b2 >> 4;
+      const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
+      const d4 = i + 2 < ii ? b3 & 0x3f : 64;
       buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
     }
 
@@ -1169,8859 +1034,174 @@ exports.createObjectURL = createObjectURL;
 "use strict";
 
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+;
 
-var globalScope = __w_pdfjs_require__(3);
+/***/ }),
+/* 3 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
 
-if (!globalScope._pdfjsCompatibilityChecked) {
-  globalScope._pdfjsCompatibilityChecked = true;
+"use strict";
 
-  var isNodeJS = __w_pdfjs_require__(4);
 
-  var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && (typeof 
document === "undefined" ? "undefined" : _typeof(document)) === 'object';
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.getDocument = getDocument;
+exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
+exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = 
exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
 
-  (function checkNodeBtoa() {
-    if (globalScope.btoa || !isNodeJS()) {
-      return;
-    }
+var _util = __w_pdfjs_require__(1);
 
-    globalScope.btoa = function (chars) {
-      return Buffer.from(chars, 'binary').toString('base64');
-    };
-  })();
+var _display_utils = __w_pdfjs_require__(4);
 
-  (function checkNodeAtob() {
-    if (globalScope.atob || !isNodeJS()) {
-      return;
-    }
+var _font_loader = __w_pdfjs_require__(5);
 
-    globalScope.atob = function (input) {
-      return Buffer.from(input, 'base64').toString('binary');
-    };
-  })();
+var _api_compatibility = __w_pdfjs_require__(6);
 
-  (function checkChildNodeRemove() {
-    if (!hasDOM) {
-      return;
-    }
+var _canvas = __w_pdfjs_require__(8);
 
-    if (typeof Element.prototype.remove !== 'undefined') {
-      return;
-    }
+var _worker_options = __w_pdfjs_require__(10);
 
-    Element.prototype.remove = function () {
-      if (this.parentNode) {
-        this.parentNode.removeChild(this);
-      }
-    };
-  })();
+var _is_node = __w_pdfjs_require__(7);
 
-  (function checkDOMTokenListAddRemove() {
-    if (!hasDOM || isNodeJS()) {
-      return;
-    }
+var _message_handler = __w_pdfjs_require__(11);
 
-    var div = document.createElement('div');
-    div.classList.add('testOne', 'testTwo');
+var _metadata = __w_pdfjs_require__(12);
 
-    if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {
-      return;
-    }
+var _transport_stream = __w_pdfjs_require__(14);
 
-    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
-    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
+var _webgl = __w_pdfjs_require__(15);
 
-    DOMTokenList.prototype.add = function () {
-      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
-        tokens[_key] = arguments[_key];
-      }
+const DEFAULT_RANGE_CHUNK_SIZE = 65536;
+const RENDERING_CANCELLED_TIMEOUT = 100;
+let createPDFNetworkStream;
 
-      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
-        var token = _tokens[_i];
-        OriginalDOMTokenListAdd.call(this, token);
-      }
-    };
+function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
+  createPDFNetworkStream = pdfNetworkStreamFactory;
+}
 
-    DOMTokenList.prototype.remove = function () {
-      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-        tokens[_key2] = arguments[_key2];
-      }
+function getDocument(src) {
+  const task = new PDFDocumentLoadingTask();
+  let source;
 
-      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
-        var token = _tokens2[_i2];
-        OriginalDOMTokenListRemove.call(this, token);
-      }
+  if (typeof src === "string") {
+    source = {
+      url: src
     };
-  })();
-
-  (function checkDOMTokenListToggle() {
-    if (!hasDOM || isNodeJS()) {
-      return;
-    }
-
-    var div = document.createElement('div');
-
-    if (div.classList.toggle('test', 0) === false) {
-      return;
-    }
-
-    DOMTokenList.prototype.toggle = function (token) {
-      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
-      return this[force ? 'add' : 'remove'](token), force;
+  } else if ((0, _util.isArrayBuffer)(src)) {
+    source = {
+      data: src
     };
-  })();
-
-  (function checkStringStartsWith() {
-    if (String.prototype.startsWith) {
-      return;
+  } else if (src instanceof PDFDataRangeTransport) {
+    source = {
+      range: src
+    };
+  } else {
+    if (typeof src !== "object") {
+      throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter 
object");
     }
 
-    __w_pdfjs_require__(5);
-  })();
-
-  (function checkStringEndsWith() {
-    if (String.prototype.endsWith) {
-      return;
+    if (!src.url && !src.data && !src.range) {
+      throw new Error("Invalid parameter object: need either .data, .range or .url");
     }
 
-    __w_pdfjs_require__(57);
-  })();
-
-  (function checkStringIncludes() {
-    if (String.prototype.includes) {
-      return;
-    }
+    source = src;
+  }
 
-    __w_pdfjs_require__(59);
-  })();
+  const params = Object.create(null);
+  let rangeTransport = null,
+      worker = null;
 
-  (function checkArrayIncludes() {
-    if (Array.prototype.includes) {
-      return;
-    }
+  for (const key in source) {
+    if (key === "url" && typeof window !== "undefined") {
+      params[key] = new URL(source[key], window.location).href;
+      continue;
+    } else if (key === "range") {
+      rangeTransport = source[key];
+      continue;
+    } else if (key === "worker") {
+      worker = source[key];
+      continue;
+    } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
+      const pdfBytes = source[key];
 
-    __w_pdfjs_require__(61);
-  })();
+      if (typeof pdfBytes === "string") {
+        params[key] = (0, _util.stringToBytes)(pdfBytes);
+      } else if (typeof pdfBytes === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
+        params[key] = new Uint8Array(pdfBytes);
+      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
+        params[key] = new Uint8Array(pdfBytes);
+      } else {
+        throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is 
expected in the " + "data property.");
+      }
 
-  (function checkArrayFrom() {
-    if (Array.from) {
-      return;
+      continue;
     }
 
-    __w_pdfjs_require__(68);
-  })();
+    params[key] = source[key];
+  }
 
-  (function checkObjectAssign() {
-    if (Object.assign) {
-      return;
-    }
+  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
+  params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
+  params.ignoreErrors = params.stopAtErrors !== true;
+  params.pdfBug = params.pdfBug === true;
+  const NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
 
-    __w_pdfjs_require__(89);
-  })();
+  if (params.nativeImageDecoderSupport === undefined || 
!NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
+    params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport 
|| _util.NativeImageDecoding.DECODE;
+  }
 
-  (function checkMathLog2() {
-    if (Math.log2) {
-      return;
-    }
+  if (!Number.isInteger(params.maxImageSize)) {
+    params.maxImageSize = -1;
+  }
 
-    Math.log2 = __w_pdfjs_require__(92);
-  })();
+  if (typeof params.isEvalSupported !== "boolean") {
+    params.isEvalSupported = true;
+  }
 
-  (function checkNumberIsNaN() {
-    if (Number.isNaN) {
-      return;
-    }
+  if (typeof params.disableFontFace !== "boolean") {
+    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
+  }
 
-    Number.isNaN = __w_pdfjs_require__(94);
-  })();
+  if (typeof params.disableRange !== "boolean") {
+    params.disableRange = false;
+  }
 
-  (function checkNumberIsInteger() {
-    if (Number.isInteger) {
-      return;
-    }
+  if (typeof params.disableStream !== "boolean") {
+    params.disableStream = false;
+  }
 
-    Number.isInteger = __w_pdfjs_require__(96);
-  })();
+  if (typeof params.disableAutoFetch !== "boolean") {
+    params.disableAutoFetch = false;
+  }
 
-  (function checkPromise() {
-    if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype["finally"]) {
-      return;
-    }
+  if (typeof params.disableCreateObjectURL !== "boolean") {
+    params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || 
false;
+  }
 
-    globalScope.Promise = __w_pdfjs_require__(99);
-  })();
+  (0, _util.setVerbosityLevel)(params.verbosity);
 
-  (function checkURL() {
-    globalScope.URL = __w_pdfjs_require__(121);
-  })();
+  if (!worker) {
+    const workerParams = {
+      verbosity: params.verbosity,
+      port: _worker_options.GlobalWorkerOptions.workerPort
+    };
+    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
+    task._worker = worker;
+  }
 
-  (function checkWeakMap() {
-    if (globalScope.WeakMap) {
-      return;
+  const docId = task.docId;
+  worker.promise.then(function () {
+    if (task.destroyed) {
+      throw new Error("Loading aborted");
     }
 
-    globalScope.WeakMap = __w_pdfjs_require__(128);
-  })();
+    return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
+      if (task.destroyed) {
+        throw new Error("Loading aborted");
+      }
 
-  (function checkWeakSet() {
-    if (globalScope.WeakSet) {
-      return;
-    }
-
-    globalScope.WeakSet = __w_pdfjs_require__(138);
-  })();
-
-  (function checkStringCodePointAt() {
-    if (String.prototype.codePointAt) {
-      return;
-    }
-
-    __w_pdfjs_require__(140);
-  })();
-
-  (function checkStringFromCodePoint() {
-    if (String.fromCodePoint) {
-      return;
-    }
-
-    String.fromCodePoint = __w_pdfjs_require__(142);
-  })();
-
-  (function checkSymbol() {
-    if (globalScope.Symbol) {
-      return;
-    }
-
-    __w_pdfjs_require__(144);
-  })();
-
-  (function checkStringPadStart() {
-    if (String.prototype.padStart) {
-      return;
-    }
-
-    __w_pdfjs_require__(167);
-  })();
-
-  (function checkStringPadEnd() {
-    if (String.prototype.padEnd) {
-      return;
-    }
-
-    __w_pdfjs_require__(172);
-  })();
-
-  (function checkObjectValues() {
-    if (Object.values) {
-      return;
-    }
-
-    Object.values = __w_pdfjs_require__(174);
-  })();
-}
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 
'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-module.exports = function isNodeJS() {
-  return (typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process + '' === 
'[object process]' && !process.versions['nw'] && !process.versions['electron'];
-};
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(6);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'startsWith');
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var toLength = __w_pdfjs_require__(43);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-var nativeStartsWith = ''.startsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('startsWith')
-}, {
- startsWith: function startsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
-  var search = String(searchString);
-  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + 
search.length) === search;
- }
-});
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var setGlobal = __w_pdfjs_require__(28);
-var copyConstructorProperties = __w_pdfjs_require__(36);
-var isForced = __w_pdfjs_require__(48);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
-  target = global;
- } else if (STATIC) {
-  target = global[TARGET] || setGlobal(TARGET, {});
- } else {
-  target = (global[TARGET] || {}).prototype;
- }
- if (target)
-  for (key in source) {
-   sourceProperty = source[key];
-   if (options.noTargetGet) {
-    descriptor = getOwnPropertyDescriptor(target, key);
-    targetProperty = descriptor && descriptor.value;
-   } else
-    targetProperty = target[key];
-   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-   if (!FORCED && targetProperty !== undefined) {
-    if (typeof sourceProperty === typeof targetProperty)
-     continue;
-    copyConstructorProperties(sourceProperty, targetProperty);
-   }
-   if (options.sham || targetProperty && targetProperty.sham) {
-    hide(sourceProperty, 'sham', true);
-   }
-   redefine(target, key, sourceProperty, options);
-  }
-};
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports) {
-
-var O = 'object';
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || 
check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var toIndexedObject = __w_pdfjs_require__(14);
-var toPrimitive = __w_pdfjs_require__(18);
-var has = __w_pdfjs_require__(20);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(21);
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeGetOwnPropertyDescriptor(O, P);
-  } catch (error) {
-  }
- if (has(O, P))
-  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return !!exec();
- } catch (error) {
-  return true;
- }
-};
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
-  enumerable: !(bitmap & 1),
-  configurable: !(bitmap & 2),
-  writable: !(bitmap & 4),
-  value: value
- };
-};
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IndexedObject = __w_pdfjs_require__(15);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var classof = __w_pdfjs_require__(16);
-var split = ''.split;
-module.exports = fails(function () {
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (it == undefined)
-  throw TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input))
-  return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var fails = __w_pdfjs_require__(11);
-var createElement = __w_pdfjs_require__(22);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var isObject = __w_pdfjs_require__(19);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var definePropertyModule = __w_pdfjs_require__(24);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(21);
-var anObject = __w_pdfjs_require__(25);
-var toPrimitive = __w_pdfjs_require__(18);
-var nativeDefineProperty = Object.defineProperty;
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeDefineProperty(O, P, Attributes);
-  } catch (error) {
-  }
- if ('get' in Attributes || 'set' in Attributes)
-  throw TypeError('Accessors not supported');
- if ('value' in Attributes)
-  O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (it) {
- if (!isObject(it)) {
-  throw TypeError(String(it) + ' is not an object');
- }
- return it;
-};
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var shared = __w_pdfjs_require__(27);
-var hide = __w_pdfjs_require__(23);
-var has = __w_pdfjs_require__(20);
-var setGlobal = __w_pdfjs_require__(28);
-var nativeFunctionToString = __w_pdfjs_require__(30);
-var InternalStateModule = __w_pdfjs_require__(31);
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(nativeFunctionToString).split('toString');
-shared('inspectSource', function (it) {
- return nativeFunctionToString.call(it);
-});
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
-  if (typeof key == 'string' && !has(value, 'name'))
-   hide(value, 'name', key);
-  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
-  if (simple)
-   O[key] = value;
-  else
-   setGlobal(key, value);
-  return;
- } else if (!unsafe) {
-  delete O[key];
- } else if (!noTargetGet && O[key]) {
-  simple = true;
- }
- if (simple)
-  O[key] = value;
- else
-  hide(O, key, value);
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
-});
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var setGlobal = __w_pdfjs_require__(28);
-var IS_PURE = __w_pdfjs_require__(29);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.2.1',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var hide = __w_pdfjs_require__(23);
-module.exports = function (key, value) {
- try {
-  hide(global, key, value);
- } catch (error) {
-  global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(27);
-module.exports = shared('native-function-to-string', Function.toString);
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(32);
-var global = __w_pdfjs_require__(8);
-var isObject = __w_pdfjs_require__(19);
-var hide = __w_pdfjs_require__(23);
-var objectHas = __w_pdfjs_require__(20);
-var sharedKey = __w_pdfjs_require__(33);
-var hiddenKeys = __w_pdfjs_require__(35);
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
-  var state;
-  if (!isObject(it) || (state = get(it)).type !== TYPE) {
-   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-  }
-  return state;
- };
-};
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
-  wmset.call(store, it, metadata);
-  return metadata;
- };
- get = function (it) {
-  return wmget.call(store, it) || {};
- };
- has = function (it) {
-  return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
-  hide(it, STATE, metadata);
-  return metadata;
- };
- get = function (it) {
-  return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
-  return objectHas(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var nativeFunctionToString = __w_pdfjs_require__(30);
-var WeakMap = global.WeakMap;
-module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(27);
-var uid = __w_pdfjs_require__(34);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var ownKeys = __w_pdfjs_require__(37);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);
-var definePropertyModule = __w_pdfjs_require__(24);
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
-  var key = keys[i];
-  if (!has(target, key))
-   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(40);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var anObject = __w_pdfjs_require__(25);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(39);
-var global = __w_pdfjs_require__(8);
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] 
&& path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-module.exports = __w_pdfjs_require__(8);
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(41);
-var enumBugKeys = __w_pdfjs_require__(46);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var toIndexedObject = __w_pdfjs_require__(14);
-var indexOf = __w_pdfjs_require__(42).indexOf;
-var hiddenKeys = __w_pdfjs_require__(35);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
-  !has(hiddenKeys, key) && has(O, key) && result.push(key);
- while (names.length > i)
-  if (has(O, key = names[i++])) {
-   ~indexOf(result, key) || result.push(key);
-  }
- return result;
-};
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var toLength = __w_pdfjs_require__(43);
-var toAbsoluteIndex = __w_pdfjs_require__(45);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
-  var O = toIndexedObject($this);
-  var length = toLength(O.length);
-  var index = toAbsoluteIndex(fromIndex, length);
-  var value;
-  if (IS_INCLUDES && el != el)
-   while (length > index) {
-    value = O[index++];
-    if (value != value)
-     return true;
-   }
-  else
-   for (; length > index; index++) {
-    if ((IS_INCLUDES || index in O) && O[index] === el)
-     return IS_INCLUDES || index || 0;
-   }
-  return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports) {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? 
fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isRegExp = __w_pdfjs_require__(50);
-module.exports = function (it) {
- if (isRegExp(it)) {
-  throw TypeError("The method doesn't accept regular expressions");
- }
- return it;
-};
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var classof = __w_pdfjs_require__(16);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
-};
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var shared = __w_pdfjs_require__(27);
-var uid = __w_pdfjs_require__(34);
-var NATIVE_SYMBOL = __w_pdfjs_require__(52);
-var Symbol = global.Symbol;
-var store = shared('wks');
-module.exports = function (name) {
- return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : 
uid)('Symbol.' + name));
-};
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- return !String(Symbol());
-});
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (METHOD_NAME) {
- var regexp = /./;
- try {
-  '/./'[METHOD_NAME](regexp);
- } catch (e) {
-  try {
-   regexp[MATCH] = false;
-   return '/./'[METHOD_NAME](regexp);
-  } catch (f) {
-  }
- }
- return false;
-};
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var bind = __w_pdfjs_require__(55);
-var call = Function.call;
-module.exports = function (CONSTRUCTOR, METHOD, length) {
- return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
-};
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var aFunction = __w_pdfjs_require__(56);
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined)
-  return fn;
- switch (length) {
- case 0:
-  return function () {
-   return fn.call(that);
-  };
- case 1:
-  return function (a) {
-   return fn.call(that, a);
-  };
- case 2:
-  return function (a, b) {
-   return fn.call(that, a, b);
-  };
- case 3:
-  return function (a, b, c) {
-   return fn.call(that, a, b, c);
-  };
- }
- return function () {
-  return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
-  throw TypeError(String(it) + ' is not a function');
- }
- return it;
-};
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(58);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'endsWith');
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var toLength = __w_pdfjs_require__(43);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-var nativeEndsWith = ''.endsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('endsWith')
-}, {
- endsWith: function endsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var endPosition = arguments.length > 1 ? arguments[1] : undefined;
-  var len = toLength(that.length);
-  var end = endPosition === undefined ? len : min(toLength(endPosition), len);
-  var search = String(searchString);
-  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === 
search;
- }
-});
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(60);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'includes');
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
-}, {
- includes: function includes(searchString) {
-  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? 
arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(62);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('Array', 'includes');
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $includes = __w_pdfjs_require__(42).includes;
-var addToUnscopables = __w_pdfjs_require__(63);
-$({
- target: 'Array',
- proto: true
-}, {
- includes: function includes(el) {
-  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-addToUnscopables('includes');
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var create = __w_pdfjs_require__(64);
-var hide = __w_pdfjs_require__(23);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- hide(ArrayPrototype, UNSCOPABLES, create(null));
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var defineProperties = __w_pdfjs_require__(65);
-var enumBugKeys = __w_pdfjs_require__(46);
-var hiddenKeys = __w_pdfjs_require__(35);
-var html = __w_pdfjs_require__(67);
-var documentCreateElement = __w_pdfjs_require__(22);
-var sharedKey = __w_pdfjs_require__(33);
-var IE_PROTO = sharedKey('IE_PROTO');
-var PROTOTYPE = 'prototype';
-var Empty = function () {
-};
-var createDict = function () {
- var iframe = documentCreateElement('iframe');
- var length = enumBugKeys.length;
- var lt = '<';
- var script = 'script';
- var gt = '>';
- var js = 'java' + script + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(js);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);
- iframeDocument.close();
- createDict = iframeDocument.F;
- while (length--)
-  delete createDict[PROTOTYPE][enumBugKeys[length]];
- return createDict();
-};
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
-  Empty[PROTOTYPE] = anObject(O);
-  result = new Empty();
-  Empty[PROTOTYPE] = null;
-  result[IE_PROTO] = O;
- } else
-  result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-hiddenKeys[IE_PROTO] = true;
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var definePropertyModule = __w_pdfjs_require__(24);
-var anObject = __w_pdfjs_require__(25);
-var objectKeys = __w_pdfjs_require__(66);
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
-  definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(41);
-var enumBugKeys = __w_pdfjs_require__(46);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(69);
-__w_pdfjs_require__(81);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Array.from;
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var charAt = __w_pdfjs_require__(70).charAt;
-var InternalStateModule = __w_pdfjs_require__(31);
-var defineIterator = __w_pdfjs_require__(71);
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
-defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
-  type: STRING_ITERATOR,
-  string: String(iterated),
-  index: 0
- });
-}, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length)
-  return {
-   value: undefined,
-   done: true
-  };
- point = charAt(string, index);
- state.index += point.length;
- return {
-  value: point,
-  done: false
- };
-});
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var createMethod = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
-  var S = String(requireObjectCoercible($this));
-  var position = toInteger(pos);
-  var size = S.length;
-  var first, second;
-  if (position < 0 || position >= size)
-   return CONVERT_TO_STRING ? '' : undefined;
-  first = S.charCodeAt(position);
-  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) 
< 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? 
S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
-};
-module.exports = {
- codeAt: createMethod(false),
- charAt: createMethod(true)
-};
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var createIteratorConstructor = __w_pdfjs_require__(72);
-var getPrototypeOf = __w_pdfjs_require__(74);
-var setPrototypeOf = __w_pdfjs_require__(79);
-var setToStringTag = __w_pdfjs_require__(77);
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var Iterators = __w_pdfjs_require__(78);
-var IteratorsCore = __w_pdfjs_require__(73);
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-var returnThis = function () {
- return this;
-};
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
- var getIterationMethod = function (KIND) {
-  if (KIND === DEFAULT && defaultIterator)
-   return defaultIterator;
-  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
-   return IterablePrototype[KIND];
-  switch (KIND) {
-  case KEYS:
-   return function keys() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case VALUES:
-   return function values() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case ENTRIES:
-   return function entries() {
-    return new IteratorConstructor(this, KIND);
-   };
-  }
-  return function () {
-   return new IteratorConstructor(this);
-  };
- };
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && 
IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
- if (anyNativeIterator) {
-  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
-  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
-   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
-    if (setPrototypeOf) {
-     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
-    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
-     hide(CurrentIteratorPrototype, ITERATOR, returnThis);
-    }
-   }
-   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
-   if (IS_PURE)
-    Iterators[TO_STRING_TAG] = returnThis;
-  }
- }
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-  INCORRECT_VALUES_NAME = true;
-  defaultIterator = function values() {
-   return nativeIterator.call(this);
-  };
- }
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
-  hide(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
- if (DEFAULT) {
-  methods = {
-   values: getIterationMethod(VALUES),
-   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-   entries: getIterationMethod(ENTRIES)
-  };
-  if (FORCED)
-   for (KEY in methods) {
-    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-     redefine(IterablePrototype, KEY, methods[KEY]);
-    }
-   }
-  else
-   $({
-    target: NAME,
-    proto: true,
-    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
-   }, methods);
- }
- return methods;
-};
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var IteratorPrototype = __w_pdfjs_require__(73).IteratorPrototype;
-var create = __w_pdfjs_require__(64);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var setToStringTag = __w_pdfjs_require__(77);
-var Iterators = __w_pdfjs_require__(78);
-var returnThis = function () {
- return this;
-};
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getPrototypeOf = __w_pdfjs_require__(74);
-var hide = __w_pdfjs_require__(23);
-var has = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-var returnThis = function () {
- return this;
-};
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-if ([].keys) {
- arrayIterator = [].keys();
- if (!('next' in arrayIterator))
-  BUGGY_SAFARI_ITERATORS = true;
- else {
-  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
-  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
-   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-if (IteratorPrototype == undefined)
- IteratorPrototype = {};
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR))
- hide(IteratorPrototype, ITERATOR, returnThis);
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var toObject = __w_pdfjs_require__(75);
-var sharedKey = __w_pdfjs_require__(33);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(76);
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO))
-  return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-  return O.constructor.prototype;
- }
- return O instanceof Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineProperty = __w_pdfjs_require__(24).f;
-var has = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-  defineProperty(it, TO_STRING_TAG, {
-   configurable: true,
-   value: TAG
-  });
- }
-};
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var aPossiblePrototype = __w_pdfjs_require__(80);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
-  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-  setter.call(test, []);
-  CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
-  anObject(O);
-  aPossiblePrototype(proto);
-  if (CORRECT_SETTER)
-   setter.call(O, proto);
-  else
-   O.__proto__ = proto;
-  return O;
- };
-}() : undefined);
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
-  throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
- return it;
-};
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var from = __w_pdfjs_require__(82);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
-});
-$({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
-}, { from: from });
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var bind = __w_pdfjs_require__(55);
-var toObject = __w_pdfjs_require__(75);
-var callWithSafeIterationClosing = __w_pdfjs_require__(83);
-var isArrayIteratorMethod = __w_pdfjs_require__(84);
-var toLength = __w_pdfjs_require__(43);
-var createProperty = __w_pdfjs_require__(85);
-var getIteratorMethod = __w_pdfjs_require__(86);
-module.exports = function from(arrayLike) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var index = 0;
- var iteratorMethod = getIteratorMethod(O);
- var length, result, step, iterator;
- if (mapping)
-  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
-  iterator = iteratorMethod.call(O);
-  result = new C();
-  for (; !(step = iterator.next()).done; index++) {
-   createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [
-    step.value,
-    index
-   ], true) : step.value);
-  }
- } else {
-  length = toLength(O.length);
-  result = new C(length);
-  for (; length > index; index++) {
-   createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
-  }
- }
- result.length = index;
- return result;
-};
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
-  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- } catch (error) {
-  var returnMethod = iterator['return'];
-  if (returnMethod !== undefined)
-   anObject(returnMethod.call(iterator));
-  throw error;
- }
-};
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var Iterators = __w_pdfjs_require__(78);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toPrimitive = __w_pdfjs_require__(18);
-var definePropertyModule = __w_pdfjs_require__(24);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object)
-  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
-  object[propertyKey] = value;
-};
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(87);
-var Iterators = __w_pdfjs_require__(78);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (it != undefined)
-  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classofRaw = __w_pdfjs_require__(16);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
-}()) == 'Arguments';
-var tryGet = function (it, key) {
- try {
-  return it[key];
- } catch (error) {
- }
-};
-module.exports = function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), 
TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' 
&& typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-try {
- var called = 0;
- var iteratorWithReturn = {
-  next: function () {
-   return { done: !!called++ };
-  },
-  'return': function () {
-   SAFE_CLOSING = true;
-  }
- };
- iteratorWithReturn[ITERATOR] = function () {
-  return this;
- };
- Array.from(iteratorWithReturn, function () {
-  throw 2;
- });
-} catch (error) {
-}
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING)
-  return false;
- var ITERATION_SUPPORT = false;
- try {
-  var object = {};
-  object[ITERATOR] = function () {
-   return {
-    next: function () {
-     return { done: ITERATION_SUPPORT = true };
-    }
-   };
-  };
-  exec(object);
- } catch (error) {
- }
- return ITERATION_SUPPORT;
-};
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(90);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Object.assign;
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var assign = __w_pdfjs_require__(91);
-$({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
-}, { assign: assign });
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var fails = __w_pdfjs_require__(11);
-var objectKeys = __w_pdfjs_require__(66);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var toObject = __w_pdfjs_require__(75);
-var IndexedObject = __w_pdfjs_require__(15);
-var nativeAssign = Object.assign;
-module.exports = !nativeAssign || fails(function () {
- var A = {};
- var B = {};
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
-  B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-}) ? function assign(target, source) {
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
- while (argumentsLength > index) {
-  var S = IndexedObject(arguments[index++]);
-  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-  var length = keys.length;
-  var j = 0;
-  var key;
-  while (length > j) {
-   key = keys[j++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
-    T[key] = S[key];
-  }
- }
- return T;
-} : nativeAssign;
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(93);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Math.log2;
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var log = Math.log;
-var LN2 = Math.LN2;
-$({
- target: 'Math',
- stat: true
-}, {
- log2: function log2(x) {
-  return log(x) / LN2;
- }
-});
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(95);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Number.isNaN;
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-$({
- target: 'Number',
- stat: true
-}, {
- isNaN: function isNaN(number) {
-  return number != number;
- }
-});
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(97);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Number.isInteger;
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var isInteger = __w_pdfjs_require__(98);
-$({
- target: 'Number',
- stat: true
-}, { isInteger: isInteger });
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var floor = Math.floor;
-module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(69);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(119);
-__w_pdfjs_require__(120);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Promise;
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(26);
-var toString = __w_pdfjs_require__(101);
-var ObjectPrototype = Object.prototype;
-if (toString !== ObjectPrototype.toString) {
- redefine(ObjectPrototype, 'toString', toString, { unsafe: true });
-}
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var classof = __w_pdfjs_require__(87);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) !== '[object z]' ? function toString() {
- return '[object ' + classof(this) + ']';
-} : test.toString;
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var DOMIterables = __w_pdfjs_require__(103);
-var ArrayIteratorMethods = __w_pdfjs_require__(104);
-var hide = __w_pdfjs_require__(23);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var ArrayValues = ArrayIteratorMethods.values;
-for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
-  if (CollectionPrototype[ITERATOR] !== ArrayValues)
-   try {
-    hide(CollectionPrototype, ITERATOR, ArrayValues);
-   } catch (error) {
-    CollectionPrototype[ITERATOR] = ArrayValues;
-   }
-  if (!CollectionPrototype[TO_STRING_TAG])
-   hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
-  if (DOMIterables[COLLECTION_NAME])
-   for (var METHOD_NAME in ArrayIteratorMethods) {
-    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
-     try {
-      hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
-     } catch (error) {
-      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
-     }
-   }
- }
-}
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports) {
-
-module.exports = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
-};
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var addToUnscopables = __w_pdfjs_require__(63);
-var Iterators = __w_pdfjs_require__(78);
-var InternalStateModule = __w_pdfjs_require__(31);
-var defineIterator = __w_pdfjs_require__(71);
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
-module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
-  type: ARRAY_ITERATOR,
-  target: toIndexedObject(iterated),
-  index: 0,
-  kind: kind
- });
-}, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
-  state.target = undefined;
-  return {
-   value: undefined,
-   done: true
-  };
- }
- if (kind == 'keys')
-  return {
-   value: index,
-   done: false
-  };
- if (kind == 'values')
-  return {
-   value: target[index],
-   done: false
-  };
- return {
-  value: [
-   index,
-   target[index]
-  ],
-  done: false
- };
-}, 'values');
-Iterators.Arguments = Iterators.Array;
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var IS_PURE = __w_pdfjs_require__(29);
-var global = __w_pdfjs_require__(8);
-var path = __w_pdfjs_require__(39);
-var NativePromise = __w_pdfjs_require__(106);
-var redefine = __w_pdfjs_require__(26);
-var redefineAll = __w_pdfjs_require__(107);
-var setToStringTag = __w_pdfjs_require__(77);
-var setSpecies = __w_pdfjs_require__(108);
-var isObject = __w_pdfjs_require__(19);
-var aFunction = __w_pdfjs_require__(56);
-var anInstance = __w_pdfjs_require__(109);
-var classof = __w_pdfjs_require__(16);
-var iterate = __w_pdfjs_require__(110);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var speciesConstructor = __w_pdfjs_require__(111);
-var task = __w_pdfjs_require__(112).set;
-var microtask = __w_pdfjs_require__(113);
-var promiseResolve = __w_pdfjs_require__(115);
-var hostReportErrors = __w_pdfjs_require__(117);
-var newPromiseCapabilityModule = __w_pdfjs_require__(116);
-var perform = __w_pdfjs_require__(118);
-var userAgent = __w_pdfjs_require__(114);
-var InternalStateModule = __w_pdfjs_require__(31);
-var isForced = __w_pdfjs_require__(48);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-var PROMISE = 'Promise';
-var getInternalState = InternalStateModule.get;
-var setInternalState = InternalStateModule.set;
-var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
-var PromiseConstructor = NativePromise;
-var TypeError = global.TypeError;
-var document = global.document;
-var process = global.process;
-var $fetch = global.fetch;
-var versions = process && process.versions;
-var v8 = versions && versions.v8 || '';
-var newPromiseCapability = newPromiseCapabilityModule.f;
-var newGenericPromiseCapability = newPromiseCapability;
-var IS_NODE = classof(process) == 'process';
-var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
-var UNHANDLED_REJECTION = 'unhandledrejection';
-var REJECTION_HANDLED = 'rejectionhandled';
-var PENDING = 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-var HANDLED = 1;
-var UNHANDLED = 2;
-var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
-var FORCED = isForced(PROMISE, function () {
- var promise = PromiseConstructor.resolve(1);
- var empty = function () {
- };
- var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {
-  exec(empty, empty);
- };
- return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && 
promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === 
-1);
-});
-var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- });
-});
-var isThenable = function (it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, state, isReject) {
- if (state.notified)
-  return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
-  var value = state.value;
-  var ok = state.state == FULFILLED;
-  var index = 0;
-  while (chain.length > index) {
-   var reaction = chain[index++];
-   var handler = ok ? reaction.ok : reaction.fail;
-   var resolve = reaction.resolve;
-   var reject = reaction.reject;
-   var domain = reaction.domain;
-   var result, then, exited;
-   try {
-    if (handler) {
-     if (!ok) {
-      if (state.rejection === UNHANDLED)
-       onHandleUnhandled(promise, state);
-      state.rejection = HANDLED;
-     }
-     if (handler === true)
-      result = value;
-     else {
-      if (domain)
-       domain.enter();
-      result = handler(value);
-      if (domain) {
-       domain.exit();
-       exited = true;
-      }
-     }
-     if (result === reaction.promise) {
-      reject(TypeError('Promise-chain cycle'));
-     } else if (then = isThenable(result)) {
-      then.call(result, resolve, reject);
-     } else
-      resolve(result);
-    } else
-     reject(value);
-   } catch (error) {
-    if (domain && !exited)
-     domain.exit();
-    reject(error);
-   }
-  }
-  state.reactions = [];
-  state.notified = false;
-  if (isReject && !state.rejection)
-   onUnhandled(promise, state);
- });
-};
-var dispatchEvent = function (name, promise, reason) {
- var event, handler;
- if (DISPATCH_EVENT) {
-  event = document.createEvent('Event');
-  event.promise = promise;
-  event.reason = reason;
-  event.initEvent(name, false, true);
-  global.dispatchEvent(event);
- } else
-  event = {
-   promise: promise,
-   reason: reason
-  };
- if (handler = global['on' + name])
-  handler(event);
- else if (name === UNHANDLED_REJECTION)
-  hostReportErrors('Unhandled promise rejection', reason);
-};
-var onUnhandled = function (promise, state) {
- task.call(global, function () {
-  var value = state.value;
-  var IS_UNHANDLED = isUnhandled(state);
-  var result;
-  if (IS_UNHANDLED) {
-   result = perform(function () {
-    if (IS_NODE) {
-     process.emit('unhandledRejection', value, promise);
-    } else
-     dispatchEvent(UNHANDLED_REJECTION, promise, value);
-   });
-   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
-   if (result.error)
-    throw result.value;
-  }
- });
-};
-var isUnhandled = function (state) {
- return state.rejection !== HANDLED && !state.parent;
-};
-var onHandleUnhandled = function (promise, state) {
- task.call(global, function () {
-  if (IS_NODE) {
-   process.emit('rejectionHandled', promise);
-  } else
-   dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
-};
-var bind = function (fn, promise, state, unwrap) {
- return function (value) {
-  fn(promise, state, value, unwrap);
- };
-};
-var internalReject = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
-};
-var internalResolve = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- try {
-  if (promise === value)
-   throw TypeError("Promise can't be resolved itself");
-  var then = isThenable(value);
-  if (then) {
-   microtask(function () {
-    var wrapper = { done: false };
-    try {
-     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, 
state));
-    } catch (error) {
-     internalReject(promise, wrapper, error, state);
-    }
-   });
-  } else {
-   state.value = value;
-   state.state = FULFILLED;
-   notify(promise, state, false);
-  }
- } catch (error) {
-  internalReject(promise, { done: false }, error, state);
- }
-};
-if (FORCED) {
- PromiseConstructor = function Promise(executor) {
-  anInstance(this, PromiseConstructor, PROMISE);
-  aFunction(executor);
-  Internal.call(this);
-  var state = getInternalState(this);
-  try {
-   executor(bind(internalResolve, this, state), bind(internalReject, this, state));
-  } catch (error) {
-   internalReject(this, state, error);
-  }
- };
- Internal = function Promise(executor) {
-  setInternalState(this, {
-   type: PROMISE,
-   done: false,
-   notified: false,
-   parent: false,
-   reactions: [],
-   rejection: false,
-   state: PENDING,
-   value: undefined
-  });
- };
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
-  then: function then(onFulfilled, onRejected) {
-   var state = getInternalPromiseState(this);
-   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
-   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-   reaction.fail = typeof onRejected == 'function' && onRejected;
-   reaction.domain = IS_NODE ? process.domain : undefined;
-   state.parent = true;
-   state.reactions.push(reaction);
-   if (state.state != PENDING)
-    notify(this, state, false);
-   return reaction.promise;
-  },
-  'catch': function (onRejected) {
-   return this.then(undefined, onRejected);
-  }
- });
- OwnPromiseCapability = function () {
-  var promise = new Internal();
-  var state = getInternalState(promise);
-  this.promise = promise;
-  this.resolve = bind(internalResolve, promise, state);
-  this.reject = bind(internalReject, promise, state);
- };
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : 
newGenericPromiseCapability(C);
- };
- if (!IS_PURE && typeof NativePromise == 'function') {
-  nativeThen = NativePromise.prototype.then;
-  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
-   var that = this;
-   return new PromiseConstructor(function (resolve, reject) {
-    nativeThen.call(that, resolve, reject);
-   }).then(onFulfilled, onRejected);
-  });
-  if (typeof $fetch == 'function')
-   $({
-    global: true,
-    enumerable: true,
-    forced: true
-   }, {
-    fetch: function fetch(input) {
-     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
-    }
-   });
- }
-}
-$({
- global: true,
- wrap: true,
- forced: FORCED
-}, { Promise: PromiseConstructor });
-setToStringTag(PromiseConstructor, PROMISE, false, true);
-setSpecies(PROMISE);
-PromiseWrapper = path[PROMISE];
-$({
- target: PROMISE,
- stat: true,
- forced: FORCED
-}, {
- reject: function reject(r) {
-  var capability = newPromiseCapability(this);
-  capability.reject.call(undefined, r);
-  return capability.promise;
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
-}, {
- resolve: function resolve(x) {
-  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
-}, {
- all: function all(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    $promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = value;
-     --remaining || resolve(values);
-    }, reject);
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- },
- race: function race(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   iterate(iterable, function (promise) {
-    $promiseResolve.call(C, promise).then(capability.resolve, reject);
-   });
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-module.exports = global.Promise;
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(26);
-module.exports = function (target, src, options) {
- for (var key in src)
-  redefine(target, key, src[key], options);
- return target;
-};
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(38);
-var definePropertyModule = __w_pdfjs_require__(24);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
-  defineProperty(Constructor, SPECIES, {
-   configurable: true,
-   get: function () {
-    return this;
-   }
-  });
- }
-};
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
-  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
- return it;
-};
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var isArrayIteratorMethod = __w_pdfjs_require__(84);
-var toLength = __w_pdfjs_require__(43);
-var bind = __w_pdfjs_require__(55);
-var getIteratorMethod = __w_pdfjs_require__(86);
-var callWithSafeIterationClosing = __w_pdfjs_require__(83);
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, step;
- if (IS_ITERATOR) {
-  iterator = iterable;
- } else {
-  iterFn = getIteratorMethod(iterable);
-  if (typeof iterFn != 'function')
-   throw TypeError('Target is not iterable');
-  if (isArrayIteratorMethod(iterFn)) {
-   for (index = 0, length = toLength(iterable.length); length > index; index++) {
-    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : 
boundFunction(iterable[index]);
-    if (result && result instanceof Result)
-     return result;
-   }
-   return new Result(false);
-  }
-  iterator = iterFn.call(iterable);
- }
- while (!(step = iterator.next()).done) {
-  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
-  if (result && result instanceof Result)
-   return result;
- }
- return new Result(false);
-};
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var aFunction = __w_pdfjs_require__(56);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
-};
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var fails = __w_pdfjs_require__(11);
-var classof = __w_pdfjs_require__(16);
-var bind = __w_pdfjs_require__(55);
-var html = __w_pdfjs_require__(67);
-var createElement = __w_pdfjs_require__(22);
-var location = global.location;
-var set = global.setImmediate;
-var clear = global.clearImmediate;
-var process = global.process;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function (id) {
- if (queue.hasOwnProperty(id)) {
-  var fn = queue[id];
-  delete queue[id];
-  fn();
- }
-};
-var runner = function (id) {
- return function () {
-  run(id);
- };
-};
-var listener = function (event) {
- run(event.data);
-};
-var post = function (id) {
- global.postMessage(id + '', location.protocol + '//' + location.host);
-};
-if (!set || !clear) {
- set = function setImmediate(fn) {
-  var args = [];
-  var i = 1;
-  while (arguments.length > i)
-   args.push(arguments[i++]);
-  queue[++counter] = function () {
-   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
-  };
-  defer(counter);
-  return counter;
- };
- clear = function clearImmediate(id) {
-  delete queue[id];
- };
- if (classof(process) == 'process') {
-  defer = function (id) {
-   process.nextTick(runner(id));
-  };
- } else if (Dispatch && Dispatch.now) {
-  defer = function (id) {
-   Dispatch.now(runner(id));
-  };
- } else if (MessageChannel) {
-  channel = new MessageChannel();
-  port = channel.port2;
-  channel.port1.onmessage = listener;
-  defer = bind(port.postMessage, port, 1);
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && 
!fails(post)) {
-  defer = post;
-  global.addEventListener('message', listener, false);
- } else if (ONREADYSTATECHANGE in createElement('script')) {
-  defer = function (id) {
-   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
-    html.removeChild(this);
-    run(id);
-   };
-  };
- } else {
-  defer = function (id) {
-   setTimeout(runner(id), 0);
-  };
- }
-}
-module.exports = {
- set: set,
- clear: clear
-};
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;
-var classof = __w_pdfjs_require__(16);
-var macrotask = __w_pdfjs_require__(112).set;
-var userAgent = __w_pdfjs_require__(114);
-var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var IS_NODE = classof(process) == 'process';
-var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
-var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
-var flush, head, last, notify, toggle, node, promise, then;
-if (!queueMicrotask) {
- flush = function () {
-  var parent, fn;
-  if (IS_NODE && (parent = process.domain))
-   parent.exit();
-  while (head) {
-   fn = head.fn;
-   head = head.next;
-   try {
-    fn();
-   } catch (error) {
-    if (head)
-     notify();
-    else
-     last = undefined;
-    throw error;
-   }
-  }
-  last = undefined;
-  if (parent)
-   parent.enter();
- };
- if (IS_NODE) {
-  notify = function () {
-   process.nextTick(flush);
-  };
- } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {
-  toggle = true;
-  node = document.createTextNode('');
-  new MutationObserver(flush).observe(node, { characterData: true });
-  notify = function () {
-   node.data = toggle = !toggle;
-  };
- } else if (Promise && Promise.resolve) {
-  promise = Promise.resolve(undefined);
-  then = promise.then;
-  notify = function () {
-   then.call(promise, flush);
-  };
- } else {
-  notify = function () {
-   macrotask.call(global, flush);
-  };
- }
-}
-module.exports = queueMicrotask || function (fn) {
- var task = {
-  fn: fn,
-  next: undefined
- };
- if (last)
-  last.next = task;
- if (!head) {
-  head = task;
-  notify();
- }
- last = task;
-};
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-module.exports = getBuiltIn('navigator', 'userAgent') || '';
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var newPromiseCapability = __w_pdfjs_require__(116);
-module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C)
-  return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
-};
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var aFunction = __w_pdfjs_require__(56);
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
-  if (resolve !== undefined || reject !== undefined)
-   throw TypeError('Bad Promise constructor');
-  resolve = $$resolve;
-  reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
-};
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-module.exports = function (a, b) {
- var console = global.console;
- if (console && console.error) {
-  arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
-};
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return {
-   error: false,
-   value: exec()
-  };
- } catch (error) {
-  return {
-   error: true,
-   value: error
-  };
- }
-};
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var aFunction = __w_pdfjs_require__(56);
-var newPromiseCapabilityModule = __w_pdfjs_require__(116);
-var perform = __w_pdfjs_require__(118);
-var iterate = __w_pdfjs_require__(110);
-$({
- target: 'Promise',
- stat: true
-}, {
- allSettled: function allSettled(iterable) {
-  var C = this;
-  var capability = newPromiseCapabilityModule.f(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'fulfilled',
-      value: value
-     };
-     --remaining || resolve(values);
-    }, function (e) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'rejected',
-      reason: e
-     };
-     --remaining || resolve(values);
-    });
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var IS_PURE = __w_pdfjs_require__(29);
-var NativePromise = __w_pdfjs_require__(106);
-var getBuiltIn = __w_pdfjs_require__(38);
-var speciesConstructor = __w_pdfjs_require__(111);
-var promiseResolve = __w_pdfjs_require__(115);
-var redefine = __w_pdfjs_require__(26);
-$({
- target: 'Promise',
- proto: true,
- real: true
-}, {
- 'finally': function (onFinally) {
-  var C = speciesConstructor(this, getBuiltIn('Promise'));
-  var isFunction = typeof onFinally == 'function';
-  return this.then(isFunction ? function (x) {
-   return promiseResolve(C, onFinally()).then(function () {
-    return x;
-   });
-  } : onFinally, isFunction ? function (e) {
-   return promiseResolve(C, onFinally()).then(function () {
-    throw e;
-   });
-  } : onFinally);
- }
-});
-if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
- redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
-}
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(122);
-__w_pdfjs_require__(127);
-__w_pdfjs_require__(125);
-var path = __w_pdfjs_require__(39);
-module.exports = path.URL;
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(69);
-var $ = __w_pdfjs_require__(7);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var USE_NATIVE_URL = __w_pdfjs_require__(123);
-var global = __w_pdfjs_require__(8);
-var defineProperties = __w_pdfjs_require__(65);
-var redefine = __w_pdfjs_require__(26);
-var anInstance = __w_pdfjs_require__(109);
-var has = __w_pdfjs_require__(20);
-var assign = __w_pdfjs_require__(91);
-var arrayFrom = __w_pdfjs_require__(82);
-var codeAt = __w_pdfjs_require__(70).codeAt;
-var toASCII = __w_pdfjs_require__(124);
-var setToStringTag = __w_pdfjs_require__(77);
-var URLSearchParamsModule = __w_pdfjs_require__(125);
-var InternalStateModule = __w_pdfjs_require__(31);
-var NativeURL = global.URL;
-var URLSearchParams = URLSearchParamsModule.URLSearchParams;
-var getInternalSearchParamsState = URLSearchParamsModule.getState;
-var setInternalState = InternalStateModule.set;
-var getInternalURLState = InternalStateModule.getterFor('URL');
-var floor = Math.floor;
-var pow = Math.pow;
-var INVALID_AUTHORITY = 'Invalid authority';
-var INVALID_SCHEME = 'Invalid scheme';
-var INVALID_HOST = 'Invalid host';
-var INVALID_PORT = 'Invalid port';
-var ALPHA = /[A-Za-z]/;
-var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
-var DIGIT = /\d/;
-var HEX_START = /^(0x|0X)/;
-var OCT = /^[0-7]+$/;
-var DEC = /^\d+$/;
-var HEX = /^[\dA-Fa-f]+$/;
-var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
-var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
-var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
-var EOF;
-var parseHost = function (url, input) {
- var result, codePoints, index;
- if (input.charAt(0) == '[') {
-  if (input.charAt(input.length - 1) != ']')
-   return INVALID_HOST;
-  result = parseIPv6(input.slice(1, -1));
-  if (!result)
-   return INVALID_HOST;
-  url.host = result;
- } else if (!isSpecial(url)) {
-  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
-   return INVALID_HOST;
-  result = '';
-  codePoints = arrayFrom(input);
-  for (index = 0; index < codePoints.length; index++) {
-   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
-  }
-  url.host = result;
- } else {
-  input = toASCII(input);
-  if (FORBIDDEN_HOST_CODE_POINT.test(input))
-   return INVALID_HOST;
-  result = parseIPv4(input);
-  if (result === null)
-   return INVALID_HOST;
-  url.host = result;
- }
-};
-var parseIPv4 = function (input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
- if (parts.length && parts[parts.length - 1] == '') {
-  parts.pop();
- }
- partsLength = parts.length;
- if (partsLength > 4)
-  return input;
- numbers = [];
- for (index = 0; index < partsLength; index++) {
-  part = parts[index];
-  if (part == '')
-   return input;
-  radix = 10;
-  if (part.length > 1 && part.charAt(0) == '0') {
-   radix = HEX_START.test(part) ? 16 : 8;
-   part = part.slice(radix == 8 ? 1 : 2);
-  }
-  if (part === '') {
-   number = 0;
-  } else {
-   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
-    return input;
-   number = parseInt(part, radix);
-  }
-  numbers.push(number);
- }
- for (index = 0; index < partsLength; index++) {
-  number = numbers[index];
-  if (index == partsLength - 1) {
-   if (number >= pow(256, 5 - partsLength))
-    return null;
-  } else if (number > 255)
-   return null;
- }
- ipv4 = numbers.pop();
- for (index = 0; index < numbers.length; index++) {
-  ipv4 += numbers[index] * pow(256, 3 - index);
- }
- return ipv4;
-};
-var parseIPv6 = function (input) {
- var address = [
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0
- ];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
- var char = function () {
-  return input.charAt(pointer);
- };
- if (char() == ':') {
-  if (input.charAt(1) != ':')
-   return;
-  pointer += 2;
-  pieceIndex++;
-  compress = pieceIndex;
- }
- while (char()) {
-  if (pieceIndex == 8)
-   return;
-  if (char() == ':') {
-   if (compress !== null)
-    return;
-   pointer++;
-   pieceIndex++;
-   compress = pieceIndex;
-   continue;
-  }
-  value = length = 0;
-  while (length < 4 && HEX.test(char())) {
-   value = value * 16 + parseInt(char(), 16);
-   pointer++;
-   length++;
-  }
-  if (char() == '.') {
-   if (length == 0)
-    return;
-   pointer -= length;
-   if (pieceIndex > 6)
-    return;
-   numbersSeen = 0;
-   while (char()) {
-    ipv4Piece = null;
-    if (numbersSeen > 0) {
-     if (char() == '.' && numbersSeen < 4)
-      pointer++;
-     else
-      return;
-    }
-    if (!DIGIT.test(char()))
-     return;
-    while (DIGIT.test(char())) {
-     number = parseInt(char(), 10);
-     if (ipv4Piece === null)
-      ipv4Piece = number;
-     else if (ipv4Piece == 0)
-      return;
-     else
-      ipv4Piece = ipv4Piece * 10 + number;
-     if (ipv4Piece > 255)
-      return;
-     pointer++;
-    }
-    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
-    numbersSeen++;
-    if (numbersSeen == 2 || numbersSeen == 4)
-     pieceIndex++;
-   }
-   if (numbersSeen != 4)
-    return;
-   break;
-  } else if (char() == ':') {
-   pointer++;
-   if (!char())
-    return;
-  } else if (char())
-   return;
-  address[pieceIndex++] = value;
- }
- if (compress !== null) {
-  swaps = pieceIndex - compress;
-  pieceIndex = 7;
-  while (pieceIndex != 0 && swaps > 0) {
-   swap = address[pieceIndex];
-   address[pieceIndex--] = address[compress + swaps - 1];
-   address[compress + --swaps] = swap;
-  }
- } else if (pieceIndex != 8)
-  return;
- return address;
-};
-var findLongestZeroSequence = function (ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
- for (; index < 8; index++) {
-  if (ipv6[index] !== 0) {
-   if (currLength > maxLength) {
-    maxIndex = currStart;
-    maxLength = currLength;
-   }
-   currStart = null;
-   currLength = 0;
-  } else {
-   if (currStart === null)
-    currStart = index;
-   ++currLength;
-  }
- }
- if (currLength > maxLength) {
-  maxIndex = currStart;
-  maxLength = currLength;
- }
- return maxIndex;
-};
-var serializeHost = function (host) {
- var result, index, compress, ignore0;
- if (typeof host == 'number') {
-  result = [];
-  for (index = 0; index < 4; index++) {
-   result.unshift(host % 256);
-   host = floor(host / 256);
-  }
-  return result.join('.');
- } else if (typeof host == 'object') {
-  result = '';
-  compress = findLongestZeroSequence(host);
-  for (index = 0; index < 8; index++) {
-   if (ignore0 && host[index] === 0)
-    continue;
-   if (ignore0)
-    ignore0 = false;
-   if (compress === index) {
-    result += index ? ':' : '::';
-    ignore0 = true;
-   } else {
-    result += host[index].toString(16);
-    if (index < 7)
-     result += ':';
-   }
-  }
-  return '[' + result + ']';
- }
- return host;
-};
-var C0ControlPercentEncodeSet = {};
-var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
-});
-var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
-});
-var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
-});
-var percentEncode = function (char, set) {
- var code = codeAt(char, 0);
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
-};
-var specialSchemes = {
- ftp: 21,
- file: null,
- gopher: 70,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-var isSpecial = function (url) {
- return has(specialSchemes, url.scheme);
-};
-var includesCredentials = function (url) {
- return url.username != '' || url.password != '';
-};
-var cannotHaveUsernamePasswordPort = function (url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
-};
-var isWindowsDriveLetter = function (string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || 
!normalized && second == '|');
-};
-var startsWithWindowsDriveLetter = function (string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = 
string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
-};
-var shortenURLsPath = function (url) {
- var path = url.path;
- var pathSize = path.length;
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
-  path.pop();
- }
-};
-var isSingleDot = function (segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
-};
-var isDoubleDot = function (segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
-};
-var SCHEME_START = {};
-var SCHEME = {};
-var NO_SCHEME = {};
-var SPECIAL_RELATIVE_OR_AUTHORITY = {};
-var PATH_OR_AUTHORITY = {};
-var RELATIVE = {};
-var RELATIVE_SLASH = {};
-var SPECIAL_AUTHORITY_SLASHES = {};
-var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
-var AUTHORITY = {};
-var HOST = {};
-var HOSTNAME = {};
-var PORT = {};
-var FILE = {};
-var FILE_SLASH = {};
-var FILE_HOST = {};
-var PATH_START = {};
-var PATH = {};
-var CANNOT_BE_A_BASE_URL_PATH = {};
-var QUERY = {};
-var FRAGMENT = {};
-var parseURL = function (url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
- var codePoints, char, bufferCodePoints, failure;
- if (!stateOverride) {
-  url.scheme = '';
-  url.username = '';
-  url.password = '';
-  url.host = null;
-  url.port = null;
-  url.path = [];
-  url.query = null;
-  url.fragment = null;
-  url.cannotBeABaseURL = false;
-  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
- while (pointer <= codePoints.length) {
-  char = codePoints[pointer];
-  switch (state) {
-  case SCHEME_START:
-   if (char && ALPHA.test(char)) {
-    buffer += char.toLowerCase();
-    state = SCHEME;
-   } else if (!stateOverride) {
-    state = NO_SCHEME;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case SCHEME:
-   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
-    buffer += char.toLowerCase();
-   } else if (char == ':') {
-    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && 
(includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
-     return;
-    url.scheme = buffer;
-    if (stateOverride) {
-     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
-      url.port = null;
-     return;
-    }
-    buffer = '';
-    if (url.scheme == 'file') {
-     state = FILE;
-    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
-     state = SPECIAL_RELATIVE_OR_AUTHORITY;
-    } else if (isSpecial(url)) {
-     state = SPECIAL_AUTHORITY_SLASHES;
-    } else if (codePoints[pointer + 1] == '/') {
-     state = PATH_OR_AUTHORITY;
-     pointer++;
-    } else {
-     url.cannotBeABaseURL = true;
-     url.path.push('');
-     state = CANNOT_BE_A_BASE_URL_PATH;
-    }
-   } else if (!stateOverride) {
-    buffer = '';
-    state = NO_SCHEME;
-    pointer = 0;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case NO_SCHEME:
-   if (!base || base.cannotBeABaseURL && char != '#')
-    return INVALID_SCHEME;
-   if (base.cannotBeABaseURL && char == '#') {
-    url.scheme = base.scheme;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    url.cannotBeABaseURL = true;
-    state = FRAGMENT;
-    break;
-   }
-   state = base.scheme == 'file' ? FILE : RELATIVE;
-   continue;
-  case SPECIAL_RELATIVE_OR_AUTHORITY:
-   if (char == '/' && codePoints[pointer + 1] == '/') {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-    pointer++;
-   } else {
-    state = RELATIVE;
-    continue;
-   }
-   break;
-  case PATH_OR_AUTHORITY:
-   if (char == '/') {
-    state = AUTHORITY;
-    break;
-   } else {
-    state = PATH;
-    continue;
-   }
-  case RELATIVE:
-   url.scheme = base.scheme;
-   if (char == EOF) {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-   } else if (char == '/' || char == '\\' && isSpecial(url)) {
-    state = RELATIVE_SLASH;
-   } else if (char == '?') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    state = FRAGMENT;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.path.pop();
-    state = PATH;
-    continue;
-   }
-   break;
-  case RELATIVE_SLASH:
-   if (isSpecial(url) && (char == '/' || char == '\\')) {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   } else if (char == '/') {
-    state = AUTHORITY;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    state = PATH;
-    continue;
-   }
-   break;
-  case SPECIAL_AUTHORITY_SLASHES:
-   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   if (char != '/' || buffer.charAt(pointer + 1) != '/')
-    continue;
-   pointer++;
-   break;
-  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
-   if (char != '/' && char != '\\') {
-    state = AUTHORITY;
-    continue;
-   }
-   break;
-  case AUTHORITY:
-   if (char == '@') {
-    if (seenAt)
-     buffer = '%40' + buffer;
-    seenAt = true;
-    bufferCodePoints = arrayFrom(buffer);
-    for (var i = 0; i < bufferCodePoints.length; i++) {
-     var codePoint = bufferCodePoints[i];
-     if (codePoint == ':' && !seenPasswordToken) {
-      seenPasswordToken = true;
-      continue;
-     }
-     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
-     if (seenPasswordToken)
-      url.password += encodedCodePoints;
-     else
-      url.username += encodedCodePoints;
-    }
-    buffer = '';
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (seenAt && buffer == '')
-     return INVALID_AUTHORITY;
-    pointer -= arrayFrom(buffer).length + 1;
-    buffer = '';
-    state = HOST;
-   } else
-    buffer += char;
-   break;
-  case HOST:
-  case HOSTNAME:
-   if (stateOverride && url.scheme == 'file') {
-    state = FILE_HOST;
-    continue;
-   } else if (char == ':' && !seenBracket) {
-    if (buffer == '')
-     return INVALID_HOST;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PORT;
-    if (stateOverride == HOSTNAME)
-     return;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (isSpecial(url) && buffer == '')
-     return INVALID_HOST;
-    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
-     return;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PATH_START;
-    if (stateOverride)
-     return;
-    continue;
-   } else {
-    if (char == '[')
-     seenBracket = true;
-    else if (char == ']')
-     seenBracket = false;
-    buffer += char;
-   }
-   break;
-  case PORT:
-   if (DIGIT.test(char)) {
-    buffer += char;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || 
stateOverride) {
-    if (buffer != '') {
-     var port = parseInt(buffer, 10);
-     if (port > 0xFFFF)
-      return INVALID_PORT;
-     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
-     buffer = '';
-    }
-    if (stateOverride)
-     return;
-    state = PATH_START;
-    continue;
-   } else
-    return INVALID_PORT;
-   break;
-  case FILE:
-   url.scheme = 'file';
-   if (char == '/' || char == '\\')
-    state = FILE_SLASH;
-   else if (base && base.scheme == 'file') {
-    if (char == EOF) {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-    } else if (char == '?') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-     url.fragment = '';
-     state = FRAGMENT;
-    } else {
-     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-      url.host = base.host;
-      url.path = base.path.slice();
-      shortenURLsPath(url);
-     }
-     state = PATH;
-     continue;
-    }
-   } else {
-    state = PATH;
-    continue;
-   }
-   break;
-  case FILE_SLASH:
-   if (char == '/' || char == '\\') {
-    state = FILE_HOST;
-    break;
-   }
-   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-    if (isWindowsDriveLetter(base.path[0], true))
-     url.path.push(base.path[0]);
-    else
-     url.host = base.host;
-   }
-   state = PATH;
-   continue;
-  case FILE_HOST:
-   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
-    if (!stateOverride && isWindowsDriveLetter(buffer)) {
-     state = PATH;
-    } else if (buffer == '') {
-     url.host = '';
-     if (stateOverride)
-      return;
-     state = PATH_START;
-    } else {
-     failure = parseHost(url, buffer);
-     if (failure)
-      return failure;
-     if (url.host == 'localhost')
-      url.host = '';
-     if (stateOverride)
-      return;
-     buffer = '';
-     state = PATH_START;
-    }
-    continue;
-   } else
-    buffer += char;
-   break;
-  case PATH_START:
-   if (isSpecial(url)) {
-    state = PATH;
-    if (char != '/' && char != '\\')
-     continue;
-   } else if (!stateOverride && char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    state = PATH;
-    if (char != '/')
-     continue;
-   }
-   break;
-  case PATH:
-   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || 
char == '#')) {
-    if (isDoubleDot(buffer)) {
-     shortenURLsPath(url);
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else if (isSingleDot(buffer)) {
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else {
-     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
-      if (url.host)
-       url.host = '';
-      buffer = buffer.charAt(0) + ':';
-     }
-     url.path.push(buffer);
-    }
-    buffer = '';
-    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
-     while (url.path.length > 1 && url.path[0] === '') {
-      url.path.shift();
-     }
-    }
-    if (char == '?') {
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.fragment = '';
-     state = FRAGMENT;
-    }
-   } else {
-    buffer += percentEncode(char, pathPercentEncodeSet);
-   }
-   break;
-  case CANNOT_BE_A_BASE_URL_PATH:
-   if (char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case QUERY:
-   if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    if (char == "'" && isSpecial(url))
-     url.query += '%27';
-    else if (char == '#')
-     url.query += '%23';
-    else
-     url.query += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case FRAGMENT:
-   if (char != EOF)
-    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
-   break;
-  }
-  pointer++;
- }
-};
-var URLConstructor = function URL(url) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState(that, { type: 'URL' });
- var baseState, failure;
- if (base !== undefined) {
-  if (base instanceof URLConstructor)
-   baseState = getInternalURLState(base);
-  else {
-   failure = parseURL(baseState = {}, String(base));
-   if (failure)
-    throw TypeError(failure);
-  }
- }
- failure = parseURL(state, urlString, null, baseState);
- if (failure)
-  throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
- searchParamsState.updateURL = function () {
-  state.query = String(searchParams) || null;
- };
- if (!DESCRIPTORS) {
-  that.href = serializeURL.call(that);
-  that.origin = getOrigin.call(that);
-  that.protocol = getProtocol.call(that);
-  that.username = getUsername.call(that);
-  that.password = getPassword.call(that);
-  that.host = getHost.call(that);
-  that.hostname = getHostname.call(that);
-  that.port = getPort.call(that);
-  that.pathname = getPathname.call(that);
-  that.search = getSearch.call(that);
-  that.searchParams = getSearchParams.call(that);
-  that.hash = getHash.call(that);
- }
-};
-var URLPrototype = URLConstructor.prototype;
-var serializeURL = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
- if (host !== null) {
-  output += '//';
-  if (includesCredentials(url)) {
-   output += username + (password ? ':' + password : '') + '@';
-  }
-  output += serializeHost(host);
-  if (port !== null)
-   output += ':' + port;
- } else if (scheme == 'file')
-  output += '//';
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null)
-  output += '?' + query;
- if (fragment !== null)
-  output += '#' + fragment;
- return output;
-};
-var getOrigin = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob')
-  try {
-   return new URL(scheme.path[0]).origin;
-  } catch (error) {
-   return 'null';
-  }
- if (scheme == 'file' || !isSpecial(url))
-  return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
-};
-var getProtocol = function () {
- return getInternalURLState(this).scheme + ':';
-};
-var getUsername = function () {
- return getInternalURLState(this).username;
-};
-var getPassword = function () {
- return getInternalURLState(this).password;
-};
-var getHost = function () {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
-};
-var getHostname = function () {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
-};
-var getPort = function () {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
-};
-var getPathname = function () {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
-};
-var getSearch = function () {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
-};
-var getSearchParams = function () {
- return getInternalURLState(this).searchParams;
-};
-var getHash = function () {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
-};
-var accessorDescriptor = function (getter, setter) {
- return {
-  get: getter,
-  set: setter,
-  configurable: true,
-  enumerable: true
- };
-};
-if (DESCRIPTORS) {
- defineProperties(URLPrototype, {
-  href: accessorDescriptor(serializeURL, function (href) {
-   var url = getInternalURLState(this);
-   var urlString = String(href);
-   var failure = parseURL(url, urlString);
-   if (failure)
-    throw TypeError(failure);
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  origin: accessorDescriptor(getOrigin),
-  protocol: accessorDescriptor(getProtocol, function (protocol) {
-   var url = getInternalURLState(this);
-   parseURL(url, String(protocol) + ':', SCHEME_START);
-  }),
-  username: accessorDescriptor(getUsername, function (username) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(username));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.username = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  password: accessorDescriptor(getPassword, function (password) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(password));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.password = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  host: accessorDescriptor(getHost, function (host) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(host), HOST);
-  }),
-  hostname: accessorDescriptor(getHostname, function (hostname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(hostname), HOSTNAME);
-  }),
-  port: accessorDescriptor(getPort, function (port) {
-   var url = getInternalURLState(this);
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   port = String(port);
-   if (port == '')
-    url.port = null;
-   else
-    parseURL(url, port, PORT);
-  }),
-  pathname: accessorDescriptor(getPathname, function (pathname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   url.path = [];
-   parseURL(url, pathname + '', PATH_START);
-  }),
-  search: accessorDescriptor(getSearch, function (search) {
-   var url = getInternalURLState(this);
-   search = String(search);
-   if (search == '') {
-    url.query = null;
-   } else {
-    if ('?' == search.charAt(0))
-     search = search.slice(1);
-    url.query = '';
-    parseURL(url, search, QUERY);
-   }
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  searchParams: accessorDescriptor(getSearchParams),
-  hash: accessorDescriptor(getHash, function (hash) {
-   var url = getInternalURLState(this);
-   hash = String(hash);
-   if (hash == '') {
-    url.fragment = null;
-    return;
-   }
-   if ('#' == hash.charAt(0))
-    hash = hash.slice(1);
-   url.fragment = '';
-   parseURL(url, hash, FRAGMENT);
-  })
- });
-}
-redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
-}, { enumerable: true });
-redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
-}, { enumerable: true });
-if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
- if (nativeCreateObjectURL)
-  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
-   return nativeCreateObjectURL.apply(NativeURL, arguments);
-  });
- if (nativeRevokeObjectURL)
-  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
-   return nativeRevokeObjectURL.apply(NativeURL, arguments);
-  });
-}
-setToStringTag(URLConstructor, 'URL');
-$({
- global: true,
- forced: !USE_NATIVE_URL,
- sham: !DESCRIPTORS
-}, { URL: URLConstructor });
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = !fails(function () {
- var url = new URL('b?e=1', 'http://a');
- var searchParams = url.searchParams;
- url.pathname = 'c%20d';
- return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || 
searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || 
new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' 
|| new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';
-});
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var maxInt = 2147483647;
-var base = 36;
-var tMin = 1;
-var tMax = 26;
-var skew = 38;
-var damp = 700;
-var initialBias = 72;
-var initialN = 128;
-var delimiter = '-';
-var regexNonASCII = /[^\0-\u007E]/;
-var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
-var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
-var baseMinusTMin = base - tMin;
-var floor = Math.floor;
-var stringFromCharCode = String.fromCharCode;
-var ucs2decode = function (string) {
- var output = [];
- var counter = 0;
- var length = string.length;
- while (counter < length) {
-  var value = string.charCodeAt(counter++);
-  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
-   var extra = string.charCodeAt(counter++);
-   if ((extra & 0xFC00) == 0xDC00) {
-    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
-   } else {
-    output.push(value);
-    counter--;
-   }
-  } else {
-   output.push(value);
-  }
- }
- return output;
-};
-var digitToBasic = function (digit) {
- return digit + 22 + 75 * (digit < 26);
-};
-var adapt = function (delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
-  delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
-};
-var encode = function (input) {
- var output = [];
- input = ucs2decode(input);
- var inputLength = input.length;
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue;
- for (i = 0; i < input.length; i++) {
-  currentValue = input[i];
-  if (currentValue < 0x80) {
-   output.push(stringFromCharCode(currentValue));
-  }
- }
- var basicLength = output.length;
- var handledCPCount = basicLength;
- if (basicLength) {
-  output.push(delimiter);
- }
- while (handledCPCount < inputLength) {
-  var m = maxInt;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue >= n && currentValue < m) {
-    m = currentValue;
-   }
-  }
-  var handledCPCountPlusOne = handledCPCount + 1;
-  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
-   throw RangeError(OVERFLOW_ERROR);
-  }
-  delta += (m - n) * handledCPCountPlusOne;
-  n = m;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue < n && ++delta > maxInt) {
-    throw RangeError(OVERFLOW_ERROR);
-   }
-   if (currentValue == n) {
-    var q = delta;
-    for (var k = base;; k += base) {
-     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
-     if (q < t)
-      break;
-     var qMinusT = q - t;
-     var baseMinusT = base - t;
-     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
-     q = floor(qMinusT / baseMinusT);
-    }
-    output.push(stringFromCharCode(digitToBasic(q)));
-    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
-    delta = 0;
-    ++handledCPCount;
-   }
-  }
-  ++delta;
-  ++n;
- }
- return output.join('');
-};
-module.exports = function (input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
- var i, label;
- for (i = 0; i < labels.length; i++) {
-  label = labels[i];
-  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
- return encoded.join('.');
-};
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(104);
-var $ = __w_pdfjs_require__(7);
-var USE_NATIVE_URL = __w_pdfjs_require__(123);
-var redefine = __w_pdfjs_require__(26);
-var redefineAll = __w_pdfjs_require__(107);
-var setToStringTag = __w_pdfjs_require__(77);
-var createIteratorConstructor = __w_pdfjs_require__(72);
-var InternalStateModule = __w_pdfjs_require__(31);
-var anInstance = __w_pdfjs_require__(109);
-var hasOwn = __w_pdfjs_require__(20);
-var bind = __w_pdfjs_require__(55);
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var getIterator = __w_pdfjs_require__(126);
-var getIteratorMethod = __w_pdfjs_require__(86);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var URL_SEARCH_PARAMS = 'URLSearchParams';
-var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
-var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
-var plus = /\+/g;
-var sequences = Array(4);
-var percentSequence = function (bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
-};
-var percentDecode = function (sequence) {
- try {
-  return decodeURIComponent(sequence);
- } catch (error) {
-  return sequence;
- }
-};
-var deserialize = function (it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
- try {
-  return decodeURIComponent(result);
- } catch (error) {
-  while (bytes) {
-   result = result.replace(percentSequence(bytes--), percentDecode);
-  }
-  return result;
- }
-};
-var find = /[!'()~]|%20/g;
-var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
-};
-var replacer = function (match) {
- return replace[match];
-};
-var serialize = function (it) {
- return encodeURIComponent(it).replace(find, replacer);
-};
-var parseSearchParams = function (result, query) {
- if (query) {
-  var attributes = query.split('&');
-  var index = 0;
-  var attribute, entry;
-  while (index < attributes.length) {
-   attribute = attributes[index++];
-   if (attribute.length) {
-    entry = attribute.split('=');
-    result.push({
-     key: deserialize(entry.shift()),
-     value: deserialize(entry.join('='))
-    });
-   }
-  }
- }
-};
-var updateSearchParams = function (query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
-};
-var validateArgumentsLength = function (passed, required) {
- if (passed < required)
-  throw TypeError('Not enough arguments');
-};
-var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState(this, {
-  type: URL_SEARCH_PARAMS_ITERATOR,
-  iterator: getIterator(getInternalParamsState(params).entries),
-  kind: kind
- });
-}, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
- if (!step.done) {
-  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
-   entry.key,
-   entry.value
-  ];
- }
- return step;
-});
-var URLSearchParamsConstructor = function URLSearchParams() {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, step, entryIterator, first, second, key;
- setInternalState(that, {
-  type: URL_SEARCH_PARAMS,
-  entries: entries,
-  updateURL: function () {
-  },
-  updateSearchParams: updateSearchParams
- });
- if (init !== undefined) {
-  if (isObject(init)) {
-   iteratorMethod = getIteratorMethod(init);
-   if (typeof iteratorMethod === 'function') {
-    iterator = iteratorMethod.call(init);
-    while (!(step = iterator.next()).done) {
-     entryIterator = getIterator(anObject(step.value));
-     if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || 
!entryIterator.next().done)
-      throw TypeError('Expected sequence with length 2');
-     entries.push({
-      key: first.value + '',
-      value: second.value + ''
-     });
-    }
-   } else
-    for (key in init)
-     if (hasOwn(init, key))
-      entries.push({
-       key: key,
-       value: init[key] + ''
-      });
-  } else {
-   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : 
init + '');
-  }
- }
-};
-var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
-redefineAll(URLSearchParamsPrototype, {
- append: function append(name, value) {
-  validateArgumentsLength(arguments.length, 2);
-  var state = getInternalParamsState(this);
-  state.entries.push({
-   key: name + '',
-   value: value + ''
-  });
-  state.updateURL();
- },
- 'delete': function (name) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index].key === key)
-    entries.splice(index, 1);
-   else
-    index++;
-  }
-  state.updateURL();
- },
- get: function get(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    return entries[index].value;
-  }
-  return null;
- },
- getAll: function getAll(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var result = [];
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    result.push(entries[index].value);
-  }
-  return result;
- },
- has: function has(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index++].key === key)
-    return true;
-  }
-  return false;
- },
- set: function set(name, value) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var found = false;
-  var key = name + '';
-  var val = value + '';
-  var index = 0;
-  var entry;
-  for (; index < entries.length; index++) {
-   entry = entries[index];
-   if (entry.key === key) {
-    if (found)
-     entries.splice(index--, 1);
-    else {
-     found = true;
-     entry.value = val;
-    }
-   }
-  }
-  if (!found)
-   entries.push({
-    key: key,
-    value: val
-   });
-  state.updateURL();
- },
- sort: function sort() {
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var slice = entries.slice();
-  var entry, entriesIndex, sliceIndex;
-  entries.length = 0;
-  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
-   entry = slice[sliceIndex];
-   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
-    if (entries[entriesIndex].key > entry.key) {
-     entries.splice(entriesIndex, 0, entry);
-     break;
-    }
-   }
-   if (entriesIndex === sliceIndex)
-    entries.push(entry);
-  }
-  state.updateURL();
- },
- forEach: function forEach(callback) {
-  var entries = getInternalParamsState(this).entries;
-  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
-  var index = 0;
-  var entry;
-  while (index < entries.length) {
-   entry = entries[index++];
-   boundFunction(entry.value, entry.key, this);
-  }
- },
- keys: function keys() {
-  return new URLSearchParamsIterator(this, 'keys');
- },
- values: function values() {
-  return new URLSearchParamsIterator(this, 'values');
- },
- entries: function entries() {
-  return new URLSearchParamsIterator(this, 'entries');
- }
-}, { enumerable: true });
-redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
-redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
- while (index < entries.length) {
-  entry = entries[index++];
-  result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
- return result.join('&');
-}, { enumerable: true });
-setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
-$({
- global: true,
- forced: !USE_NATIVE_URL
-}, { URLSearchParams: URLSearchParamsConstructor });
-module.exports = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
-};
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var getIteratorMethod = __w_pdfjs_require__(86);
-module.exports = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
-  throw TypeError(String(it) + ' is not iterable');
- }
- return anObject(iteratorMethod.call(it));
-};
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-$({
- target: 'URL',
- proto: true,
- enumerable: true
-}, {
- toJSON: function toJSON() {
-  return URL.prototype.toString.call(this);
- }
-});
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(129);
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(39);
-module.exports = path.WeakMap;
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var global = __w_pdfjs_require__(8);
-var redefineAll = __w_pdfjs_require__(107);
-var InternalMetadataModule = __w_pdfjs_require__(130);
-var collection = __w_pdfjs_require__(132);
-var collectionWeak = __w_pdfjs_require__(134);
-var isObject = __w_pdfjs_require__(19);
-var enforceIternalState = __w_pdfjs_require__(31).enforce;
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(32);
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-var wrapper = function (get) {
- return function WeakMap() {
-  return get(this, arguments.length ? arguments[0] : undefined);
- };
-};
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
-  'delete': function (key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeDelete.call(this, key) || state.frozen['delete'](key);
-   }
-   return nativeDelete.call(this, key);
-  },
-  has: function has(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) || state.frozen.has(key);
-   }
-   return nativeHas.call(this, key);
-  },
-  get: function get(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
-   }
-   return nativeGet.call(this, key);
-  },
-  set: function set(key, value) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
-   } else
-    nativeSet.call(this, key, value);
-   return this;
-  }
- });
-}
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var hiddenKeys = __w_pdfjs_require__(35);
-var isObject = __w_pdfjs_require__(19);
-var has = __w_pdfjs_require__(20);
-var defineProperty = __w_pdfjs_require__(24).f;
-var uid = __w_pdfjs_require__(34);
-var FREEZING = __w_pdfjs_require__(131);
-var METADATA = uid('meta');
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-var setMetadata = function (it) {
- defineProperty(it, METADATA, {
-  value: {
-   objectID: 'O' + ++id,
-   weakData: {}
-  }
- });
-};
-var fastKey = function (it, create) {
- if (!isObject(it))
-  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return 'F';
-  if (!create)
-   return 'E';
-  setMetadata(it);
- }
- return it[METADATA].objectID;
-};
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return true;
-  if (!create)
-   return false;
-  setMetadata(it);
- }
- return it[METADATA].weakData;
-};
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
-  setMetadata(it);
- return it;
-};
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-hiddenKeys[METADATA] = true;
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var global = __w_pdfjs_require__(8);
-var isForced = __w_pdfjs_require__(48);
-var redefine = __w_pdfjs_require__(26);
-var InternalMetadataModule = __w_pdfjs_require__(130);
-var iterate = __w_pdfjs_require__(110);
-var anInstance = __w_pdfjs_require__(109);
-var isObject = __w_pdfjs_require__(19);
-var fails = __w_pdfjs_require__(11);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var setToStringTag = __w_pdfjs_require__(77);
-var inheritIfRequired = __w_pdfjs_require__(133);
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var ADDER = IS_MAP ? 'set' : 'add';
- var exported = {};
- var fixMethod = function (KEY) {
-  var nativeMethod = NativePrototype[KEY];
-  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
-   nativeMethod.call(this, value === 0 ? 0 : value);
-   return this;
-  } : KEY == 'delete' ? function (key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'get' ? function get(key) {
-   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'has' ? function has(key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : function set(key, value) {
-   nativeMethod.call(this, key === 0 ? 0 : key, value);
-   return this;
-  });
- };
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || 
NativePrototype.forEach && !fails(function () {
-   new NativeConstructor().entries().next();
-  })))) {
-  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
-  InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
-  var instance = new Constructor();
-  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
-  var THROWS_ON_PRIMITIVES = fails(function () {
-   instance.has(1);
-  });
-  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
-   new NativeConstructor(iterable);
-  });
-  var BUGGY_ZERO = !IS_WEAK && fails(function () {
-   var $instance = new NativeConstructor();
-   var index = 5;
-   while (index--)
-    $instance[ADDER](index, index);
-   return !$instance.has(-0);
-  });
-  if (!ACCEPT_ITERABLES) {
-   Constructor = wrapper(function (dummy, iterable) {
-    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
-    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
-    if (iterable != undefined)
-     iterate(iterable, that[ADDER], that, IS_MAP);
-    return that;
-   });
-   Constructor.prototype = NativePrototype;
-   NativePrototype.constructor = Constructor;
-  }
-  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
-   fixMethod('delete');
-   fixMethod('has');
-   IS_MAP && fixMethod('get');
-  }
-  if (BUGGY_ZERO || HASNT_CHAINING)
-   fixMethod(ADDER);
-  if (IS_WEAK && NativePrototype.clear)
-   delete NativePrototype.clear;
- }
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
-  global: true,
-  forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK)
-  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
-};
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var setPrototypeOf = __w_pdfjs_require__(79);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && 
isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
-  setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var redefineAll = __w_pdfjs_require__(107);
-var getWeakData = __w_pdfjs_require__(130).getWeakData;
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var anInstance = __w_pdfjs_require__(109);
-var iterate = __w_pdfjs_require__(110);
-var ArrayIterationModule = __w_pdfjs_require__(135);
-var $has = __w_pdfjs_require__(20);
-var InternalStateModule = __w_pdfjs_require__(31);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
-  return it[0] === key;
- });
-};
-UncaughtFrozenStore.prototype = {
- get: function (key) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   return entry[1];
- },
- has: function (key) {
-  return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   entry[1] = value;
-  else
-   this.entries.push([
-    key,
-    value
-   ]);
- },
- 'delete': function (key) {
-  var index = findIndex(this.entries, function (it) {
-   return it[0] === key;
-  });
-  if (~index)
-   this.entries.splice(index, 1);
-  return !!~index;
- }
-};
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    id: id++,
-    frozen: undefined
-   });
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var data = getWeakData(anObject(key), true);
-   if (data === true)
-    uncaughtFrozenStore(state).set(key, value);
-   else
-    data[state.id] = value;
-   return that;
-  };
-  redefineAll(C.prototype, {
-   'delete': function (key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state)['delete'](key);
-    return data && $has(data, state.id) && delete data[state.id];
-   },
-   has: function has(key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state).has(key);
-    return data && $has(data, state.id);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var state = getInternalState(this);
-    if (isObject(key)) {
-     var data = getWeakData(key);
-     if (data === true)
-      return uncaughtFrozenStore(state).get(key);
-     return data ? data[state.id] : undefined;
-    }
-   },
-   set: function set(key, value) {
-    return define(this, key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value, true);
-   }
-  });
-  return C;
- }
-};
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var bind = __w_pdfjs_require__(55);
-var IndexedObject = __w_pdfjs_require__(15);
-var toObject = __w_pdfjs_require__(75);
-var toLength = __w_pdfjs_require__(43);
-var arraySpeciesCreate = __w_pdfjs_require__(136);
-var push = [].push;
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
-  var O = toObject($this);
-  var self = IndexedObject(O);
-  var boundFunction = bind(callbackfn, that, 3);
-  var length = toLength(self.length);
-  var index = 0;
-  var create = specificCreate || arraySpeciesCreate;
-  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-  var value, result;
-  for (; length > index; index++)
-   if (NO_HOLES || index in self) {
-    value = self[index];
-    result = boundFunction(value, index, O);
-    if (TYPE) {
-     if (IS_MAP)
-      target[index] = result;
-     else if (result)
-      switch (TYPE) {
-      case 3:
-       return true;
-      case 5:
-       return value;
-      case 6:
-       return index;
-      case 2:
-       push.call(target, value);
-      }
-     else if (IS_EVERY)
-      return false;
-    }
-   }
-  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-module.exports = {
- forEach: createMethod(0),
- map: createMethod(1),
- filter: createMethod(2),
- some: createMethod(3),
- every: createMethod(4),
- find: createMethod(5),
- findIndex: createMethod(6)
-};
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var isArray = __w_pdfjs_require__(137);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
-  C = originalArray.constructor;
-  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
-   C = undefined;
-  else if (isObject(C)) {
-   C = C[SPECIES];
-   if (C === null)
-    C = undefined;
-  }
- }
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(16);
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(139);
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(39);
-module.exports = path.WeakSet;
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(132);
-var collectionWeak = __w_pdfjs_require__(134);
-collection('WeakSet', function (get) {
- return function WeakSet() {
-  return get(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionWeak, false, true);
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(141);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'codePointAt');
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var codeAt = __w_pdfjs_require__(70).codeAt;
-$({
- target: 'String',
- proto: true
-}, {
- codePointAt: function codePointAt(pos) {
-  return codeAt(this, pos);
- }
-});
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(143);
-var path = __w_pdfjs_require__(39);
-module.exports = path.String.fromCodePoint;
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var toAbsoluteIndex = __w_pdfjs_require__(45);
-var fromCharCode = String.fromCharCode;
-var nativeFromCodePoint = String.fromCodePoint;
-var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-$({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
-}, {
- fromCodePoint: function fromCodePoint(x) {
-  var elements = [];
-  var length = arguments.length;
-  var i = 0;
-  var code;
-  while (length > i) {
-   code = +arguments[i++];
-   if (toAbsoluteIndex(code, 0x10FFFF) !== code)
-    throw RangeError(code + ' is not a valid code point');
-   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code 
% 0x400 + 0xDC00));
-  }
-  return elements.join('');
- }
-});
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(145);
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(147);
-__w_pdfjs_require__(151);
-__w_pdfjs_require__(152);
-__w_pdfjs_require__(153);
-__w_pdfjs_require__(154);
-__w_pdfjs_require__(155);
-__w_pdfjs_require__(156);
-__w_pdfjs_require__(157);
-__w_pdfjs_require__(158);
-__w_pdfjs_require__(159);
-__w_pdfjs_require__(160);
-__w_pdfjs_require__(161);
-__w_pdfjs_require__(162);
-__w_pdfjs_require__(163);
-__w_pdfjs_require__(164);
-__w_pdfjs_require__(165);
-__w_pdfjs_require__(166);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Symbol;
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var fails = __w_pdfjs_require__(11);
-var isArray = __w_pdfjs_require__(137);
-var isObject = __w_pdfjs_require__(19);
-var toObject = __w_pdfjs_require__(75);
-var toLength = __w_pdfjs_require__(43);
-var createProperty = __w_pdfjs_require__(85);
-var arraySpeciesCreate = __w_pdfjs_require__(136);
-var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(146);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
-});
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-var isConcatSpreadable = function (O) {
- if (!isObject(O))
-  return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-$({
- target: 'Array',
- proto: true,
- forced: FORCED
-}, {
- concat: function concat(arg) {
-  var O = toObject(this);
-  var A = arraySpeciesCreate(O, 0);
-  var n = 0;
-  var i, k, length, len, E;
-  for (i = -1, length = arguments.length; i < length; i++) {
-   E = i === -1 ? O : arguments[i];
-   if (isConcatSpreadable(E)) {
-    len = toLength(E.length);
-    if (n + len > MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    for (k = 0; k < len; k++, n++)
-     if (k in E)
-      createProperty(A, n, E[k]);
-   } else {
-    if (n >= MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    createProperty(A, n++, E);
-   }
-  }
-  A.length = n;
-  return A;
- }
-});
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (METHOD_NAME) {
- return !fails(function () {
-  var array = [];
-  var constructor = array.constructor = {};
-  constructor[SPECIES] = function () {
-   return { foo: 1 };
-  };
-  return array[METHOD_NAME](Boolean).foo !== 1;
- });
-};
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var global = __w_pdfjs_require__(8);
-var IS_PURE = __w_pdfjs_require__(29);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var NATIVE_SYMBOL = __w_pdfjs_require__(52);
-var fails = __w_pdfjs_require__(11);
-var has = __w_pdfjs_require__(20);
-var isArray = __w_pdfjs_require__(137);
-var isObject = __w_pdfjs_require__(19);
-var anObject = __w_pdfjs_require__(25);
-var toObject = __w_pdfjs_require__(75);
-var toIndexedObject = __w_pdfjs_require__(14);
-var toPrimitive = __w_pdfjs_require__(18);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var nativeObjectCreate = __w_pdfjs_require__(64);
-var objectKeys = __w_pdfjs_require__(66);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(40);
-var getOwnPropertyNamesExternal = __w_pdfjs_require__(148);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);
-var definePropertyModule = __w_pdfjs_require__(24);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var shared = __w_pdfjs_require__(27);
-var sharedKey = __w_pdfjs_require__(33);
-var hiddenKeys = __w_pdfjs_require__(35);
-var uid = __w_pdfjs_require__(34);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-var setToStringTag = __w_pdfjs_require__(77);
-var InternalStateModule = __w_pdfjs_require__(31);
-var $forEach = __w_pdfjs_require__(135).forEach;
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE];
-var $Symbol = global.Symbol;
-var JSON = global.JSON;
-var nativeJSONStringify = JSON && JSON.stringify;
-var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-var nativeDefineProperty = definePropertyModule.f;
-var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore = shared('wks');
-var QObject = global.QObject;
-var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
-  get: function () {
-   return nativeDefineProperty(this, 'a', { value: 7 }).a;
-  }
- })).a != 7;
-}) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor)
-  delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
-} : nativeDefineProperty;
-var wrap = function (tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
-  type: SYMBOL,
-  tag: tag,
-  description: description
- });
- if (!DESCRIPTORS)
-  symbol.description = description;
- return symbol;
-};
-var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- return Object(it) instanceof $Symbol;
-};
-var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype)
-  $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
- if (has(AllSymbols, key)) {
-  if (!Attributes.enumerable) {
-   if (!has(O, HIDDEN))
-    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
-   O[HIDDEN][key] = true;
-  } else {
-   if (has(O, HIDDEN) && O[HIDDEN][key])
-    O[HIDDEN][key] = false;
-   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-  }
-  return setSymbolDescriptor(O, key, Attributes);
- }
- return nativeDefineProperty(O, key, Attributes);
-};
-var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
-  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
-   $defineProperty(O, key, properties[key]);
- });
- return O;
-};
-var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), 
Properties);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
-  return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? 
enumerable : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
-  return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-  descriptor.enumerable = true;
- }
- return descriptor;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (!has(AllSymbols, key) && !has(hiddenKeys, key))
-   result.push(key);
- });
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-   result.push(AllSymbols[key]);
-  }
- });
- return result;
-};
-if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
-  if (this instanceof $Symbol)
-   throw TypeError('Symbol is not a constructor');
-  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var tag = uid(description);
-  var setter = function (value) {
-   if (this === ObjectPrototype)
-    setter.call(ObjectPrototypeSymbols, value);
-   if (has(this, HIDDEN) && has(this[HIDDEN], tag))
-    this[HIDDEN][tag] = false;
-   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-  };
-  if (DESCRIPTORS && USE_SETTER)
-   setSymbolDescriptor(ObjectPrototype, tag, {
-    configurable: true,
-    set: setter
-   });
-  return wrap(tag, description);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-  return getInternalState(this).tag;
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
- if (DESCRIPTORS) {
-  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
-   configurable: true,
-   get: function description() {
-    return getInternalState(this).description;
-   }
-  });
-  if (!IS_PURE) {
-   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-  }
- }
- wrappedWellKnownSymbolModule.f = function (name) {
-  return wrap(wellKnownSymbol(name), name);
- };
-}
-$({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
-}, { Symbol: $Symbol });
-$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
-});
-$({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- 'for': function (key) {
-  var string = String(key);
-  if (has(StringToSymbolRegistry, string))
-   return StringToSymbolRegistry[string];
-  var symbol = $Symbol(string);
-  StringToSymbolRegistry[string] = symbol;
-  SymbolToStringRegistry[symbol] = string;
-  return symbol;
- },
- keyFor: function keyFor(sym) {
-  if (!isSymbol(sym))
-   throw TypeError(sym + ' is not a symbol');
-  if (has(SymbolToStringRegistry, sym))
-   return SymbolToStringRegistry[sym];
- },
- useSetter: function () {
-  USE_SETTER = true;
- },
- useSimple: function () {
-  USE_SETTER = false;
- }
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
-}, {
- create: $create,
- defineProperty: $defineProperty,
- defineProperties: $defineProperties,
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- getOwnPropertyNames: $getOwnPropertyNames,
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-$({
- target: 'Object',
- stat: true,
- forced: fails(function () {
-  getOwnPropertySymbolsModule.f(1);
- })
-}, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-  return getOwnPropertySymbolsModule.f(toObject(it));
- }
-});
-JSON && $({
- target: 'JSON',
- stat: true,
- forced: !NATIVE_SYMBOL || fails(function () {
-  var symbol = $Symbol();
-  return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || 
nativeJSONStringify(Object(symbol)) != '{}';
- })
-}, {
- stringify: function stringify(it) {
-  var args = [it];
-  var index = 1;
-  var replacer, $replacer;
-  while (arguments.length > index)
-   args.push(arguments[index++]);
-  $replacer = replacer = args[1];
-  if (!isObject(replacer) && it === undefined || isSymbol(it))
-   return;
-  if (!isArray(replacer))
-   replacer = function (key, value) {
-    if (typeof $replacer == 'function')
-     value = $replacer.call(this, key, value);
-    if (!isSymbol(value))
-     return value;
-   };
-  args[1] = replacer;
-  return nativeJSONStringify.apply(JSON, args);
- }
-});
-if (!$Symbol[PROTOTYPE][TO_PRIMITIVE])
- hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-setToStringTag($Symbol, SYMBOL);
-hiddenKeys[HIDDEN] = true;
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var nativeGetOwnPropertyNames = __w_pdfjs_require__(40).f;
-var toString = {}.toString;
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? 
Object.getOwnPropertyNames(window) : [];
-var getWindowNames = function (it) {
- try {
-  return nativeGetOwnPropertyNames(it);
- } catch (error) {
-  return windowNames.slice();
- }
-};
-module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : 
nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-exports.f = __w_pdfjs_require__(51);
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(39);
-var has = __w_pdfjs_require__(20);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);
-var defineProperty = __w_pdfjs_require__(24).f;
-module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME))
-  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
-};
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('asyncIterator');
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var global = __w_pdfjs_require__(8);
-var has = __w_pdfjs_require__(20);
-var isObject = __w_pdfjs_require__(19);
-var defineProperty = __w_pdfjs_require__(24).f;
-var copyConstructorProperties = __w_pdfjs_require__(36);
-var NativeSymbol = global.Symbol;
-if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || 
NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {};
- var SymbolWrapper = function Symbol() {
-  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? 
NativeSymbol() : NativeSymbol(description);
-  if (description === '')
-   EmptyStringDescriptionStore[result] = true;
-  return result;
- };
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
-  configurable: true,
-  get: function description() {
-   var symbol = isObject(this) ? this.valueOf() : this;
-   var string = symbolToString.call(symbol);
-   if (has(EmptyStringDescriptionStore, symbol))
-    return '';
-   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-   return desc === '' ? undefined : desc;
-  }
- });
- $({
-  global: true,
-  forced: true
- }, { Symbol: SymbolWrapper });
-}
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('hasInstance');
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('isConcatSpreadable');
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('iterator');
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('match');
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('matchAll');
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('replace');
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('search');
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('species');
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('split');
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('toPrimitive');
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('toStringTag');
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('unscopables');
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var setToStringTag = __w_pdfjs_require__(77);
-setToStringTag(Math, 'Math', true);
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var setToStringTag = __w_pdfjs_require__(77);
-setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(168);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'padStart');
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $padStart = __w_pdfjs_require__(169).start;
-var WEBKIT_BUG = __w_pdfjs_require__(171);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padStart: function padStart(maxLength) {
-  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toLength = __w_pdfjs_require__(43);
-var repeat = __w_pdfjs_require__(170);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var ceil = Math.ceil;
-var createMethod = function (IS_END) {
- return function ($this, maxLength, fillString) {
-  var S = String(requireObjectCoercible($this));
-  var stringLength = S.length;
-  var fillStr = fillString === undefined ? ' ' : String(fillString);
-  var intMaxLength = toLength(maxLength);
-  var fillLen, stringFiller;
-  if (intMaxLength <= stringLength || fillStr == '')
-   return S;
-  fillLen = intMaxLength - stringLength;
-  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
-  if (stringFiller.length > fillLen)
-   stringFiller = stringFiller.slice(0, fillLen);
-  return IS_END ? S + stringFiller : stringFiller + S;
- };
-};
-module.exports = {
- start: createMethod(false),
- end: createMethod(true)
-};
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toInteger = __w_pdfjs_require__(44);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity)
-  throw RangeError('Wrong number of repetitions');
- for (; n > 0; (n >>>= 1) && (str += str))
-  if (n & 1)
-   result += str;
- return result;
-};
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(114);
-module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(173);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'padEnd');
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $padEnd = __w_pdfjs_require__(169).end;
-var WEBKIT_BUG = __w_pdfjs_require__(171);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padEnd: function padEnd(maxLength) {
-  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(175);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Object.values;
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var $values = __w_pdfjs_require__(176).values;
-$({
- target: 'Object',
- stat: true
-}, {
- values: function values(O) {
-  return $values(O);
- }
-});
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var objectKeys = __w_pdfjs_require__(66);
-var toIndexedObject = __w_pdfjs_require__(14);
-var propertyIsEnumerable = __w_pdfjs_require__(12).f;
-var createMethod = function (TO_ENTRIES) {
- return function (it) {
-  var O = toIndexedObject(it);
-  var keys = objectKeys(O);
-  var length = keys.length;
-  var i = 0;
-  var result = [];
-  var key;
-  while (length > i) {
-   key = keys[i++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
-    result.push(TO_ENTRIES ? [
-     key,
-     O[key]
-    ] : O[key]);
-   }
-  }
-  return result;
- };
-};
-module.exports = {
- entries: createMethod(true),
- values: createMethod(false)
-};
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-{
-  var isReadableStreamSupported = false;
-
-  if (typeof ReadableStream !== 'undefined') {
-    try {
-      new ReadableStream({
-        start: function start(controller) {
-          controller.close();
-        }
-      });
-      isReadableStreamSupported = true;
-    } catch (e) {}
-  }
-
-  if (isReadableStreamSupported) {
-    exports.ReadableStream = ReadableStream;
-  } else {
-    exports.ReadableStream = __w_pdfjs_require__(178).ReadableStream;
-  }
-}
-
-/***/ }),
-/* 178 */
-/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {
-
-"use strict";
-__w_pdfjs_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ByteLengthQueuingStrategy", 
function() { return ByteLengthQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "CountQueuingStrategy", function() 
{ return CountQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ReadableStream", function() { 
return ReadableStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "TransformStream", function() { 
return TransformStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "WritableStream", function() { 
return WritableStream; });
-var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function 
(description) {
- return "Symbol(" + description + ")";
-};
-function noop() {
-}
-var NumberIsNaN = Number.isNaN || function (x) {
- return x !== x;
-};
-function typeIsObject(x) {
- return typeof x === 'object' && x !== null || typeof x === 'function';
-}
-function createArrayFromList(elements) {
- return elements.slice();
-}
-function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
- new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
-}
-function IsFiniteNonNegativeNumber(v) {
- if (IsNonNegativeNumber(v) === false) {
-  return false;
- }
- if (v === Infinity) {
-  return false;
- }
- return true;
-}
-function IsNonNegativeNumber(v) {
- if (typeof v !== 'number') {
-  return false;
- }
- if (NumberIsNaN(v)) {
-  return false;
- }
- if (v < 0) {
-  return false;
- }
- return true;
-}
-function Call(F, V, args) {
- if (typeof F !== 'function') {
-  throw new TypeError('Argument is not a function');
- }
- return Function.prototype.apply.call(F, V, args);
-}
-function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
- var method = underlyingObject[methodName];
- if (method !== undefined) {
-  if (typeof method !== 'function') {
-   throw new TypeError(method + " is not a method");
-  }
-  switch (algoArgCount) {
-  case 0: {
-    return function () {
-     return PromiseCall(method, underlyingObject, extraArgs);
-    };
-   }
-  case 1: {
-    return function (arg) {
-     var fullArgs = [arg].concat(extraArgs);
-     return PromiseCall(method, underlyingObject, fullArgs);
-    };
-   }
-  }
- }
- return function () {
-  return Promise.resolve();
- };
-}
-function InvokeOrNoop(O, P, args) {
- var method = O[P];
- if (method === undefined) {
-  return undefined;
- }
- return Call(method, O, args);
-}
-function PromiseCall(F, V, args) {
- try {
-  return Promise.resolve(Call(F, V, args));
- } catch (value) {
-  return Promise.reject(value);
- }
-}
-function TransferArrayBuffer(O) {
- return O;
-}
-function IsDetachedBuffer(O) {
- return false;
-}
-function ValidateAndNormalizeHighWaterMark(highWaterMark) {
- highWaterMark = Number(highWaterMark);
- if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
-  throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
- }
- return highWaterMark;
-}
-function MakeSizeAlgorithmFromSizeFunction(size) {
- if (size === undefined) {
-  return function () {
-   return 1;
-  };
- }
- if (typeof size !== 'function') {
-  throw new TypeError('size property of a queuing strategy must be a function');
- }
- return function (chunk) {
-  return size(chunk);
- };
-}
-var QUEUE_MAX_ARRAY_SIZE = 16384;
-var SimpleQueue = function () {
- function SimpleQueue() {
-  this._cursor = 0;
-  this._size = 0;
-  this._front = {
-   _elements: [],
-   _next: undefined
-  };
-  this._back = this._front;
-  this._cursor = 0;
-  this._size = 0;
- }
- Object.defineProperty(SimpleQueue.prototype, "length", {
-  get: function () {
-   return this._size;
-  },
-  enumerable: true,
-  configurable: true
- });
- SimpleQueue.prototype.push = function (element) {
-  var oldBack = this._back;
-  var newBack = oldBack;
-  if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
-   newBack = {
-    _elements: [],
-    _next: undefined
-   };
-  }
-  oldBack._elements.push(element);
-  if (newBack !== oldBack) {
-   this._back = newBack;
-   oldBack._next = newBack;
-  }
-  ++this._size;
- };
- SimpleQueue.prototype.shift = function () {
-  var oldFront = this._front;
-  var newFront = oldFront;
-  var oldCursor = this._cursor;
-  var newCursor = oldCursor + 1;
-  var elements = oldFront._elements;
-  var element = elements[oldCursor];
-  if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
-   newFront = oldFront._next;
-   newCursor = 0;
-  }
-  --this._size;
-  this._cursor = newCursor;
-  if (oldFront !== newFront) {
-   this._front = newFront;
-  }
-  elements[oldCursor] = undefined;
-  return element;
- };
- SimpleQueue.prototype.forEach = function (callback) {
-  var i = this._cursor;
-  var node = this._front;
-  var elements = node._elements;
-  while (i !== elements.length || node._next !== undefined) {
-   if (i === elements.length) {
-    node = node._next;
-    elements = node._elements;
-    i = 0;
-    if (elements.length === 0) {
-     break;
-    }
-   }
-   callback(elements[i]);
-   ++i;
-  }
- };
- SimpleQueue.prototype.peek = function () {
-  var front = this._front;
-  var cursor = this._cursor;
-  return front._elements[cursor];
- };
- return SimpleQueue;
-}();
-function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
- var prototype = null;
- if (forAuthorCode === true) {
-  prototype = Object.prototype;
- }
- var obj = Object.create(prototype);
- obj.value = value;
- obj.done = done;
- return obj;
-}
-function ReadableStreamReaderGenericInitialize(reader, stream) {
- reader._forAuthorCode = true;
- reader._ownerReadableStream = stream;
- stream._reader = reader;
- if (stream._state === 'readable') {
-  defaultReaderClosedPromiseInitialize(reader);
- } else if (stream._state === 'closed') {
-  defaultReaderClosedPromiseInitializeAsResolved(reader);
- } else {
-  defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
- }
-}
-function ReadableStreamReaderGenericCancel(reader, reason) {
- var stream = reader._ownerReadableStream;
- return ReadableStreamCancel(stream, reason);
-}
-function ReadableStreamReaderGenericRelease(reader) {
- if (reader._ownerReadableStream._state === 'readable') {
-  defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to 
monitor the stream\'s closedness'));
- } else {
-  defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be 
used to monitor the stream\'s closedness'));
- }
- reader._ownerReadableStream._reader = undefined;
- reader._ownerReadableStream = undefined;
-}
-function readerLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released reader');
-}
-function defaultReaderClosedPromiseInitialize(reader) {
- reader._closedPromise = new Promise(function (resolve, reject) {
-  reader._closedPromise_resolve = resolve;
-  reader._closedPromise_reject = reject;
- });
-}
-function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseReject(reader, reason);
-}
-function defaultReaderClosedPromiseInitializeAsResolved(reader) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseResolve(reader);
-}
-function defaultReaderClosedPromiseReject(reader, reason) {
- reader._closedPromise.catch(noop);
- reader._closedPromise_reject(reason);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-function defaultReaderClosedPromiseResetToRejected(reader, reason) {
- defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
-}
-function defaultReaderClosedPromiseResolve(reader) {
- reader._closedPromise_resolve(undefined);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
-var PullSteps = SymbolPolyfill('[[PullSteps]]');
-function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
-  forAuthorCode = false;
- }
- var reader = new ReadableStreamDefaultReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var readRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._reader._readRequests.push(readRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readRequest = reader._readRequests.shift();
- readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadRequests(stream) {
- return stream._reader._readRequests.length;
-}
-function ReadableStreamHasDefaultReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
-  return false;
- }
- if (!IsReadableStreamDefaultReader(reader)) {
-  return false;
- }
- return true;
-}
-var ReadableStreamDefaultReader = function () {
- function ReadableStreamDefaultReader(stream) {
-  if (IsReadableStream(stream) === false) {
-   throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
-  }
-  if (IsReadableStreamLocked(stream) === true) {
-   throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-  }
-  ReadableStreamReaderGenericInitialize(this, stream);
-  this._readRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
-  get: function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return Promise.reject(defaultReaderBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamDefaultReader.prototype.cancel = function (reason) {
-  if (!IsReadableStreamDefaultReader(this)) {
-   return Promise.reject(defaultReaderBrandCheckException('cancel'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('cancel'));
-  }
-  return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamDefaultReader.prototype.read = function () {
-  if (!IsReadableStreamDefaultReader(this)) {
-   return Promise.reject(defaultReaderBrandCheckException('read'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('read from'));
-  }
-  return ReadableStreamDefaultReaderRead(this);
- };
- ReadableStreamDefaultReader.prototype.releaseLock = function () {
-  if (!IsReadableStreamDefaultReader(this)) {
-   throw defaultReaderBrandCheckException('releaseLock');
-  }
-  if (this._ownerReadableStream === undefined) {
-   return;
-  }
-  if (this._readRequests.length > 0) {
-   throw new TypeError('Tried to release a reader lock when that reader has pending read() calls 
un-settled');
-  }
-  ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamDefaultReader;
-}();
-function IsReadableStreamDefaultReader(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultReaderRead(reader) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'closed') {
-  return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
- }
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return stream._readableStreamController[PullSteps]();
-}
-function defaultReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a 
ReadableStreamDefaultReader");
-}
-var _a;
-var AsyncIteratorPrototype;
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
-  return this;
- }, _a);
- Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
-}
-var ReadableStreamAsyncIteratorPrototype = {
- next: function () {
-  if (IsReadableStreamAsyncIterator(this) === false) {
-   return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
-  }
-  var reader = this._asyncIteratorReader;
-  if (reader._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('iterate'));
-  }
-  return ReadableStreamDefaultReaderRead(reader).then(function (result) {
-   var done = result.done;
-   if (done) {
-    ReadableStreamReaderGenericRelease(reader);
-   }
-   var value = result.value;
-   return ReadableStreamCreateReadResult(value, done, true);
-  });
- },
- return: function (value) {
-  if (IsReadableStreamAsyncIterator(this) === false) {
-   return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
-  }
-  var reader = this._asyncIteratorReader;
-  if (reader._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('finish iterating'));
-  }
-  if (reader._readRequests.length > 0) {
-   return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() 
calls un-settled'));
-  }
-  if (this._preventCancel === false) {
-   var result = ReadableStreamReaderGenericCancel(reader, value);
-   ReadableStreamReaderGenericRelease(reader);
-   return result.then(function () {
-    return ReadableStreamCreateReadResult(value, true, true);
-   });
-  }
-  ReadableStreamReaderGenericRelease(reader);
-  return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));
- }
-};
-if (AsyncIteratorPrototype !== undefined) {
- Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
-}
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
-function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
- if (preventCancel === void 0) {
-  preventCancel = false;
- }
- var reader = AcquireReadableStreamDefaultReader(stream);
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
- iterator._asyncIteratorReader = reader;
- iterator._preventCancel = Boolean(preventCancel);
- return iterator;
-}
-function IsReadableStreamAsyncIterator(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
-  return false;
- }
- return true;
-}
-function streamAsyncIteratorBrandCheckException(name) {
- return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a 
ReadableSteamAsyncIterator");
-}
-var rethrowAssertionErrorRejection = noop;
-function DequeueValue(container) {
- var pair = container._queue.shift();
- container._queueTotalSize -= pair.size;
- if (container._queueTotalSize < 0) {
-  container._queueTotalSize = 0;
- }
- return pair.value;
-}
-function EnqueueValueWithSize(container, value, size) {
- size = Number(size);
- if (!IsFiniteNonNegativeNumber(size)) {
-  throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
- }
- container._queue.push({
-  value: value,
-  size: size
- });
- container._queueTotalSize += size;
-}
-function PeekQueueValue(container) {
- var pair = container._queue.peek();
- return pair.value;
-}
-function ResetQueue(container) {
- container._queue = new SimpleQueue();
- container._queueTotalSize = 0;
-}
-var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
-var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
-var WritableStream = function () {
- function WritableStream(underlyingSink, strategy) {
-  if (underlyingSink === void 0) {
-   underlyingSink = {};
-  }
-  if (strategy === void 0) {
-   strategy = {};
-  }
-  InitializeWritableStream(this);
-  var size = strategy.size;
-  var highWaterMark = strategy.highWaterMark;
-  var type = underlyingSink.type;
-  if (type !== undefined) {
-   throw new RangeError('Invalid type is specified');
-  }
-  var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-  if (highWaterMark === undefined) {
-   highWaterMark = 1;
-  }
-  highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-  SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
- }
- Object.defineProperty(WritableStream.prototype, "locked", {
-  get: function () {
-   if (IsWritableStream(this) === false) {
-    throw streamBrandCheckException('locked');
-   }
-   return IsWritableStreamLocked(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- WritableStream.prototype.abort = function (reason) {
-  if (IsWritableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException('abort'));
-  }
-  if (IsWritableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));
-  }
-  return WritableStreamAbort(this, reason);
- };
- WritableStream.prototype.getWriter = function () {
-  if (IsWritableStream(this) === false) {
-   throw streamBrandCheckException('getWriter');
-  }
-  return AcquireWritableStreamDefaultWriter(this);
- };
- return WritableStream;
-}();
-function AcquireWritableStreamDefaultWriter(stream) {
- return new WritableStreamDefaultWriter(stream);
-}
-function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, 
sizeAlgorithm) {
- if (highWaterMark === void 0) {
-  highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
-  sizeAlgorithm = function () {
-   return 1;
-  };
- }
- var stream = Object.create(WritableStream.prototype);
- InitializeWritableStream(stream);
- var controller = Object.create(WritableStreamDefaultController.prototype);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, 
abortAlgorithm, highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeWritableStream(stream) {
- stream._state = 'writable';
- stream._storedError = undefined;
- stream._writer = undefined;
- stream._writableStreamController = undefined;
- stream._writeRequests = new SimpleQueue();
- stream._inFlightWriteRequest = undefined;
- stream._closeRequest = undefined;
- stream._inFlightCloseRequest = undefined;
- stream._pendingAbortRequest = undefined;
- stream._backpressure = false;
-}
-function IsWritableStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
-  return false;
- }
- return true;
-}
-function IsWritableStreamLocked(stream) {
- if (stream._writer === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamAbort(stream, reason) {
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
-  return Promise.resolve(undefined);
- }
- if (stream._pendingAbortRequest !== undefined) {
-  return stream._pendingAbortRequest._promise;
- }
- var wasAlreadyErroring = false;
- if (state === 'erroring') {
-  wasAlreadyErroring = true;
-  reason = undefined;
- }
- var promise = new Promise(function (resolve, reject) {
-  stream._pendingAbortRequest = {
-   _promise: undefined,
-   _resolve: resolve,
-   _reject: reject,
-   _reason: reason,
-   _wasAlreadyErroring: wasAlreadyErroring
-  };
- });
- stream._pendingAbortRequest._promise = promise;
- if (wasAlreadyErroring === false) {
-  WritableStreamStartErroring(stream, reason);
- }
- return promise;
-}
-function WritableStreamAddWriteRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var writeRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._writeRequests.push(writeRequest);
- });
- return promise;
-}
-function WritableStreamDealWithRejection(stream, error) {
- var state = stream._state;
- if (state === 'writable') {
-  WritableStreamStartErroring(stream, error);
-  return;
- }
- WritableStreamFinishErroring(stream);
-}
-function WritableStreamStartErroring(stream, reason) {
- var controller = stream._writableStreamController;
- stream._state = 'erroring';
- stream._storedError = reason;
- var writer = stream._writer;
- if (writer !== undefined) {
-  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
- }
- if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
-  WritableStreamFinishErroring(stream);
- }
-}
-function WritableStreamFinishErroring(stream) {
- stream._state = 'errored';
- stream._writableStreamController[ErrorSteps]();
- var storedError = stream._storedError;
- stream._writeRequests.forEach(function (writeRequest) {
-  writeRequest._reject(storedError);
- });
- stream._writeRequests = new SimpleQueue();
- if (stream._pendingAbortRequest === undefined) {
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  return;
- }
- var abortRequest = stream._pendingAbortRequest;
- stream._pendingAbortRequest = undefined;
- if (abortRequest._wasAlreadyErroring === true) {
-  abortRequest._reject(storedError);
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  return;
- }
- var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
- promise.then(function () {
-  abortRequest._resolve();
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- }, function (reason) {
-  abortRequest._reject(reason);
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- });
-}
-function WritableStreamFinishInFlightWrite(stream) {
- stream._inFlightWriteRequest._resolve(undefined);
- stream._inFlightWriteRequest = undefined;
-}
-function WritableStreamFinishInFlightWriteWithError(stream, error) {
- stream._inFlightWriteRequest._reject(error);
- stream._inFlightWriteRequest = undefined;
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamFinishInFlightClose(stream) {
- stream._inFlightCloseRequest._resolve(undefined);
- stream._inFlightCloseRequest = undefined;
- var state = stream._state;
- if (state === 'erroring') {
-  stream._storedError = undefined;
-  if (stream._pendingAbortRequest !== undefined) {
-   stream._pendingAbortRequest._resolve();
-   stream._pendingAbortRequest = undefined;
-  }
- }
- stream._state = 'closed';
- var writer = stream._writer;
- if (writer !== undefined) {
-  defaultWriterClosedPromiseResolve(writer);
- }
-}
-function WritableStreamFinishInFlightCloseWithError(stream, error) {
- stream._inFlightCloseRequest._reject(error);
- stream._inFlightCloseRequest = undefined;
- if (stream._pendingAbortRequest !== undefined) {
-  stream._pendingAbortRequest._reject(error);
-  stream._pendingAbortRequest = undefined;
- }
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamCloseQueuedOrInFlight(stream) {
- if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamHasOperationMarkedInFlight(stream) {
- if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamMarkCloseRequestInFlight(stream) {
- stream._inFlightCloseRequest = stream._closeRequest;
- stream._closeRequest = undefined;
-}
-function WritableStreamMarkFirstWriteRequestInFlight(stream) {
- stream._inFlightWriteRequest = stream._writeRequests.shift();
-}
-function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
- if (stream._closeRequest !== undefined) {
-  stream._closeRequest._reject(stream._storedError);
-  stream._closeRequest = undefined;
- }
- var writer = stream._writer;
- if (writer !== undefined) {
-  defaultWriterClosedPromiseReject(writer, stream._storedError);
- }
-}
-function WritableStreamUpdateBackpressure(stream, backpressure) {
- var writer = stream._writer;
- if (writer !== undefined && backpressure !== stream._backpressure) {
-  if (backpressure === true) {
-   defaultWriterReadyPromiseReset(writer);
-  } else {
-   defaultWriterReadyPromiseResolve(writer);
-  }
- }
- stream._backpressure = backpressure;
-}
-var WritableStreamDefaultWriter = function () {
- function WritableStreamDefaultWriter(stream) {
-  if (IsWritableStream(stream) === false) {
-   throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
-  }
-  if (IsWritableStreamLocked(stream) === true) {
-   throw new TypeError('This stream has already been locked for exclusive writing by another writer');
-  }
-  this._ownerWritableStream = stream;
-  stream._writer = this;
-  var state = stream._state;
-  if (state === 'writable') {
-   if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
-    defaultWriterReadyPromiseInitialize(this);
-   } else {
-    defaultWriterReadyPromiseInitializeAsResolved(this);
-   }
-   defaultWriterClosedPromiseInitialize(this);
-  } else if (state === 'erroring') {
-   defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
-   defaultWriterClosedPromiseInitialize(this);
-  } else if (state === 'closed') {
-   defaultWriterReadyPromiseInitializeAsResolved(this);
-   defaultWriterClosedPromiseInitializeAsResolved(this);
-  } else {
-   var storedError = stream._storedError;
-   defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
-   defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
-  }
- }
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return Promise.reject(defaultWriterBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    throw defaultWriterBrandCheckException('desiredSize');
-   }
-   if (this._ownerWritableStream === undefined) {
-    throw defaultWriterLockException('desiredSize');
-   }
-   return WritableStreamDefaultWriterGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return Promise.reject(defaultWriterBrandCheckException('ready'));
-   }
-   return this._readyPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- WritableStreamDefaultWriter.prototype.abort = function (reason) {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('abort'));
-  }
-  if (this._ownerWritableStream === undefined) {
-   return Promise.reject(defaultWriterLockException('abort'));
-  }
-  return WritableStreamDefaultWriterAbort(this, reason);
- };
- WritableStreamDefaultWriter.prototype.close = function () {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('close'));
-  }
-  var stream = this._ownerWritableStream;
-  if (stream === undefined) {
-   return Promise.reject(defaultWriterLockException('close'));
-  }
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
-   return Promise.reject(new TypeError('cannot close an already-closing stream'));
-  }
-  return WritableStreamDefaultWriterClose(this);
- };
- WritableStreamDefaultWriter.prototype.releaseLock = function () {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   throw defaultWriterBrandCheckException('releaseLock');
-  }
-  var stream = this._ownerWritableStream;
-  if (stream === undefined) {
-   return;
-  }
-  WritableStreamDefaultWriterRelease(this);
- };
- WritableStreamDefaultWriter.prototype.write = function (chunk) {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('write'));
-  }
-  if (this._ownerWritableStream === undefined) {
-   return Promise.reject(defaultWriterLockException('write to'));
-  }
-  return WritableStreamDefaultWriterWrite(this, chunk);
- };
- return WritableStreamDefaultWriter;
-}();
-function IsWritableStreamDefaultWriter(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
-  return false;
- }
- return true;
-}
-function WritableStreamDefaultWriterAbort(writer, reason) {
- var stream = writer._ownerWritableStream;
- return WritableStreamAbort(stream, reason);
-}
-function WritableStreamDefaultWriterClose(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
-  return Promise.reject(new TypeError("The stream (in " + state + " state) is not in the writable state and 
cannot be closed"));
- }
- var promise = new Promise(function (resolve, reject) {
-  var closeRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._closeRequest = closeRequest;
- });
- if (stream._backpressure === true && state === 'writable') {
-  defaultWriterReadyPromiseResolve(writer);
- }
- WritableStreamDefaultControllerClose(stream._writableStreamController);
- return promise;
-}
-function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-  return Promise.resolve();
- }
- if (state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return WritableStreamDefaultWriterClose(writer);
-}
-function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
- if (writer._closedPromiseState === 'pending') {
-  defaultWriterClosedPromiseReject(writer, error);
- } else {
-  defaultWriterClosedPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
- if (writer._readyPromiseState === 'pending') {
-  defaultWriterReadyPromiseReject(writer, error);
- } else {
-  defaultWriterReadyPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterGetDesiredSize(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'errored' || state === 'erroring') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
-}
-function WritableStreamDefaultWriterRelease(writer) {
- var stream = writer._ownerWritableStream;
- var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s 
closedness');
- WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
- WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
- stream._writer = undefined;
- writer._ownerWritableStream = undefined;
-}
-function WritableStreamDefaultWriterWrite(writer, chunk) {
- var stream = writer._ownerWritableStream;
- var controller = stream._writableStreamController;
- var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
- if (stream !== writer._ownerWritableStream) {
-  return Promise.reject(defaultWriterLockException('write to'));
- }
- var state = stream._state;
- if (state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-  return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));
- }
- if (state === 'erroring') {
-  return Promise.reject(stream._storedError);
- }
- var promise = WritableStreamAddWriteRequest(stream);
- WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
- return promise;
-}
-var WritableStreamDefaultController = function () {
- function WritableStreamDefaultController() {
-  throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
- }
- WritableStreamDefaultController.prototype.error = function (e) {
-  if (IsWritableStreamDefaultController(this) === false) {
-   throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a 
WritableStreamDefaultController');
-  }
-  var state = this._controlledWritableStream._state;
-  if (state !== 'writable') {
-   return;
-  }
-  WritableStreamDefaultControllerError(this, e);
- };
- WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
-  var result = this._abortAlgorithm(reason);
-  WritableStreamDefaultControllerClearAlgorithms(this);
-  return result;
- };
- WritableStreamDefaultController.prototype[ErrorSteps] = function () {
-  ResetQueue(this);
- };
- return WritableStreamDefaultController;
-}();
-function IsWritableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
-  return false;
- }
- return true;
-}
-function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, 
closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledWritableStream = stream;
- stream._writableStreamController = controller;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._writeAlgorithm = writeAlgorithm;
- controller._closeAlgorithm = closeAlgorithm;
- controller._abortAlgorithm = abortAlgorithm;
- var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
- WritableStreamUpdateBackpressure(stream, backpressure);
- var startResult = startAlgorithm();
- var startPromise = Promise.resolve(startResult);
- startPromise.then(function () {
-  controller._started = true;
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (r) {
-  controller._started = true;
-  WritableStreamDealWithRejection(stream, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, 
sizeAlgorithm) {
- var controller = Object.create(WritableStreamDefaultController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingSink, 'start', [controller]);
- }
- var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
- var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
- var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, 
abortAlgorithm, highWaterMark, sizeAlgorithm);
-}
-function WritableStreamDefaultControllerClearAlgorithms(controller) {
- controller._writeAlgorithm = undefined;
- controller._closeAlgorithm = undefined;
- controller._abortAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function WritableStreamDefaultControllerClose(controller) {
- EnqueueValueWithSize(controller, 'close', 0);
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
- try {
-  return controller._strategySizeAlgorithm(chunk);
- } catch (chunkSizeE) {
-  WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
-  return 1;
- }
-}
-function WritableStreamDefaultControllerGetDesiredSize(controller) {
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
- var writeRecord = { chunk: chunk };
- try {
-  EnqueueValueWithSize(controller, writeRecord, chunkSize);
- } catch (enqueueE) {
-  WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
-  return;
- }
- var stream = controller._controlledWritableStream;
- if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
-  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-  WritableStreamUpdateBackpressure(stream, backpressure);
- }
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
- var stream = controller._controlledWritableStream;
- if (controller._started === false) {
-  return;
- }
- if (stream._inFlightWriteRequest !== undefined) {
-  return;
- }
- var state = stream._state;
- if (state === 'erroring') {
-  WritableStreamFinishErroring(stream);
-  return;
- }
- if (controller._queue.length === 0) {
-  return;
- }
- var writeRecord = PeekQueueValue(controller);
- if (writeRecord === 'close') {
-  WritableStreamDefaultControllerProcessClose(controller);
- } else {
-  WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
- }
-}
-function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
- if (controller._controlledWritableStream._state === 'writable') {
-  WritableStreamDefaultControllerError(controller, error);
- }
-}
-function WritableStreamDefaultControllerProcessClose(controller) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkCloseRequestInFlight(stream);
- DequeueValue(controller);
- var sinkClosePromise = controller._closeAlgorithm();
- WritableStreamDefaultControllerClearAlgorithms(controller);
- sinkClosePromise.then(function () {
-  WritableStreamFinishInFlightClose(stream);
- }, function (reason) {
-  WritableStreamFinishInFlightCloseWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkFirstWriteRequestInFlight(stream);
- var sinkWritePromise = controller._writeAlgorithm(chunk);
- sinkWritePromise.then(function () {
-  WritableStreamFinishInFlightWrite(stream);
-  var state = stream._state;
-  DequeueValue(controller);
-  if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
-   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-   WritableStreamUpdateBackpressure(stream, backpressure);
-  }
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (reason) {
-  if (stream._state === 'writable') {
-   WritableStreamDefaultControllerClearAlgorithms(controller);
-  }
-  WritableStreamFinishInFlightWriteWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerGetBackpressure(controller) {
- var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
- return desiredSize <= 0;
-}
-function WritableStreamDefaultControllerError(controller, error) {
- var stream = controller._controlledWritableStream;
- WritableStreamDefaultControllerClearAlgorithms(controller);
- WritableStreamStartErroring(stream, error);
-}
-function streamBrandCheckException(name) {
- return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
-}
-function defaultWriterBrandCheckException(name) {
- return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a 
WritableStreamDefaultWriter");
-}
-function defaultWriterLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released writer');
-}
-function defaultWriterClosedPromiseInitialize(writer) {
- writer._closedPromise = new Promise(function (resolve, reject) {
-  writer._closedPromise_resolve = resolve;
-  writer._closedPromise_reject = reject;
-  writer._closedPromiseState = 'pending';
- });
-}
-function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseReject(writer, reason);
-}
-function defaultWriterClosedPromiseInitializeAsResolved(writer) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseResolve(writer);
-}
-function defaultWriterClosedPromiseReject(writer, reason) {
- writer._closedPromise.catch(noop);
- writer._closedPromise_reject(reason);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'rejected';
-}
-function defaultWriterClosedPromiseResetToRejected(writer, reason) {
- defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterClosedPromiseResolve(writer) {
- writer._closedPromise_resolve(undefined);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'resolved';
-}
-function defaultWriterReadyPromiseInitialize(writer) {
- writer._readyPromise = new Promise(function (resolve, reject) {
-  writer._readyPromise_resolve = resolve;
-  writer._readyPromise_reject = reject;
- });
- writer._readyPromiseState = 'pending';
-}
-function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseReject(writer, reason);
-}
-function defaultWriterReadyPromiseInitializeAsResolved(writer) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseResolve(writer);
-}
-function defaultWriterReadyPromiseReject(writer, reason) {
- writer._readyPromise.catch(noop);
- writer._readyPromise_reject(reason);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'rejected';
-}
-function defaultWriterReadyPromiseReset(writer) {
- defaultWriterReadyPromiseInitialize(writer);
-}
-function defaultWriterReadyPromiseResetToRejected(writer, reason) {
- defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterReadyPromiseResolve(writer) {
- writer._readyPromise_resolve(undefined);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'fulfilled';
-}
-function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
- var reader = AcquireReadableStreamDefaultReader(source);
- var writer = AcquireWritableStreamDefaultWriter(dest);
- var shuttingDown = false;
- var currentWrite = Promise.resolve();
- return new Promise(function (resolve, reject) {
-  var abortAlgorithm;
-  if (signal !== undefined) {
-   abortAlgorithm = function () {
-    var error = new DOMException('Aborted', 'AbortError');
-    var actions = [];
-    if (preventAbort === false) {
-     actions.push(function () {
-      if (dest._state === 'writable') {
-       return WritableStreamAbort(dest, error);
-      }
-      return Promise.resolve();
-     });
-    }
-    if (preventCancel === false) {
-     actions.push(function () {
-      if (source._state === 'readable') {
-       return ReadableStreamCancel(source, error);
-      }
-      return Promise.resolve();
-     });
-    }
-    shutdownWithAction(function () {
-     return Promise.all(actions.map(function (action) {
-      return action();
-     }));
-    }, true, error);
-   };
-   if (signal.aborted === true) {
-    abortAlgorithm();
-    return;
-   }
-   signal.addEventListener('abort', abortAlgorithm);
-  }
-  function pipeLoop() {
-   return new Promise(function (resolveLoop, rejectLoop) {
-    function next(done) {
-     if (done) {
-      resolveLoop();
-     } else {
-      pipeStep().then(next, rejectLoop);
-     }
-    }
-    next(false);
-   });
-  }
-  function pipeStep() {
-   if (shuttingDown === true) {
-    return Promise.resolve(true);
-   }
-   return writer._readyPromise.then(function () {
-    return ReadableStreamDefaultReaderRead(reader).then(function (_a) {
-     var value = _a.value, done = _a.done;
-     if (done === true) {
-      return true;
-     }
-     currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);
-     return false;
-    });
-   });
-  }
-  isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
-   if (preventAbort === false) {
-    shutdownWithAction(function () {
-     return WritableStreamAbort(dest, storedError);
-    }, true, storedError);
-   } else {
-    shutdown(true, storedError);
-   }
-  });
-  isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
-   if (preventCancel === false) {
-    shutdownWithAction(function () {
-     return ReadableStreamCancel(source, storedError);
-    }, true, storedError);
-   } else {
-    shutdown(true, storedError);
-   }
-  });
-  isOrBecomesClosed(source, reader._closedPromise, function () {
-   if (preventClose === false) {
-    shutdownWithAction(function () {
-     return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
-    });
-   } else {
-    shutdown();
-   }
-  });
-  if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
-   var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped 
to it');
-   if (preventCancel === false) {
-    shutdownWithAction(function () {
-     return ReadableStreamCancel(source, destClosed_1);
-    }, true, destClosed_1);
-   } else {
-    shutdown(true, destClosed_1);
-   }
-  }
-  pipeLoop().catch(rethrowAssertionErrorRejection);
-  function waitForWritesToFinish() {
-   var oldCurrentWrite = currentWrite;
-   return currentWrite.then(function () {
-    return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
-   });
-  }
-  function isOrBecomesErrored(stream, promise, action) {
-   if (stream._state === 'errored') {
-    action(stream._storedError);
-   } else {
-    promise.catch(action).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function isOrBecomesClosed(stream, promise, action) {
-   if (stream._state === 'closed') {
-    action();
-   } else {
-    promise.then(action).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function shutdownWithAction(action, originalIsError, originalError) {
-   if (shuttingDown === true) {
-    return;
-   }
-   shuttingDown = true;
-   if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-    waitForWritesToFinish().then(doTheRest);
-   } else {
-    doTheRest();
-   }
-   function doTheRest() {
-    action().then(function () {
-     return finalize(originalIsError, originalError);
-    }, function (newError) {
-     return finalize(true, newError);
-    }).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function shutdown(isError, error) {
-   if (shuttingDown === true) {
-    return;
-   }
-   shuttingDown = true;
-   if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-    waitForWritesToFinish().then(function () {
-     return finalize(isError, error);
-    }).catch(rethrowAssertionErrorRejection);
-   } else {
-    finalize(isError, error);
-   }
-  }
-  function finalize(isError, error) {
-   WritableStreamDefaultWriterRelease(writer);
-   ReadableStreamReaderGenericRelease(reader);
-   if (signal !== undefined) {
-    signal.removeEventListener('abort', abortAlgorithm);
-   }
-   if (isError) {
-    reject(error);
-   } else {
-    resolve(undefined);
-   }
-  }
- });
-}
-var ReadableStreamDefaultController = function () {
- function ReadableStreamDefaultController() {
-  throw new TypeError();
- }
- Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
-  get: function () {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('desiredSize');
-   }
-   return ReadableStreamDefaultControllerGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamDefaultController.prototype.close = function () {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('close');
-  }
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-   throw new TypeError('The stream is not in a state that permits close');
-  }
-  ReadableStreamDefaultControllerClose(this);
- };
- ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('enqueue');
-  }
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-   throw new TypeError('The stream is not in a state that permits enqueue');
-  }
-  return ReadableStreamDefaultControllerEnqueue(this, chunk);
- };
- ReadableStreamDefaultController.prototype.error = function (e) {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('error');
-  }
-  ReadableStreamDefaultControllerError(this, e);
- };
- ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
-  ResetQueue(this);
-  var result = this._cancelAlgorithm(reason);
-  ReadableStreamDefaultControllerClearAlgorithms(this);
-  return result;
- };
- ReadableStreamDefaultController.prototype[PullSteps] = function () {
-  var stream = this._controlledReadableStream;
-  if (this._queue.length > 0) {
-   var chunk = DequeueValue(this);
-   if (this._closeRequested === true && this._queue.length === 0) {
-    ReadableStreamDefaultControllerClearAlgorithms(this);
-    ReadableStreamClose(stream);
-   } else {
-    ReadableStreamDefaultControllerCallPullIfNeeded(this);
-   }
-   return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
-  }
-  var pendingPromise = ReadableStreamAddReadRequest(stream);
-  ReadableStreamDefaultControllerCallPullIfNeeded(this);
-  return pendingPromise;
- };
- return ReadableStreamDefaultController;
-}();
-function IsReadableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
- if (shouldPull === false) {
-  return;
- }
- if (controller._pulling === true) {
-  controller._pullAgain = true;
-  return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
-  controller._pulling = false;
-  if (controller._pullAgain === true) {
-   controller._pullAgain = false;
-   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-  }
- }, function (e) {
-  ReadableStreamDefaultControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableStreamDefaultControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableStream;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
-  return false;
- }
- if (controller._started === false) {
-  return false;
- }
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  return true;
- }
- var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
-  return true;
- }
- return false;
-}
-function ReadableStreamDefaultControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function ReadableStreamDefaultControllerClose(controller) {
- var stream = controller._controlledReadableStream;
- controller._closeRequested = true;
- if (controller._queue.length === 0) {
-  ReadableStreamDefaultControllerClearAlgorithms(controller);
-  ReadableStreamClose(stream);
- }
-}
-function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableStream;
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  ReadableStreamFulfillReadRequest(stream, chunk, false);
- } else {
-  var chunkSize = void 0;
-  try {
-   chunkSize = controller._strategySizeAlgorithm(chunk);
-  } catch (chunkSizeE) {
-   ReadableStreamDefaultControllerError(controller, chunkSizeE);
-   throw chunkSizeE;
-  }
-  try {
-   EnqueueValueWithSize(controller, chunk, chunkSize);
-  } catch (enqueueE) {
-   ReadableStreamDefaultControllerError(controller, enqueueE);
-   throw enqueueE;
-  }
- }
- ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-}
-function ReadableStreamDefaultControllerError(controller, e) {
- var stream = controller._controlledReadableStream;
- if (stream._state !== 'readable') {
-  return;
- }
- ResetQueue(controller);
- ReadableStreamDefaultControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableStreamDefaultControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableStream;
- var state = stream._state;
- if (state === 'errored') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableStreamDefaultControllerHasBackpressure(controller) {
- if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
- var state = controller._controlledReadableStream._state;
- if (controller._closeRequested === false && state === 'readable') {
-  return true;
- }
- return false;
-}
-function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, 
cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledReadableStream = stream;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._closeRequested = false;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
-  controller._started = true;
-  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }, function (r) {
-  ReadableStreamDefaultControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, 
sizeAlgorithm) {
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, sizeAlgorithm);
-}
-function defaultControllerBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a 
ReadableStreamDefaultController");
-}
-function ReadableStreamTee(stream, cloneForBranch2) {
- var reader = AcquireReadableStreamDefaultReader(stream);
- var reading = false;
- var canceled1 = false;
- var canceled2 = false;
- var reason1;
- var reason2;
- var branch1;
- var branch2;
- var resolveCancelPromise;
- var cancelPromise = new Promise(function (resolve) {
-  resolveCancelPromise = resolve;
- });
- function pullAlgorithm() {
-  if (reading === true) {
-   return Promise.resolve();
-  }
-  reading = true;
-  var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {
-   reading = false;
-   var done = result.done;
-   if (done === true) {
-    if (canceled1 === false) {
-     ReadableStreamDefaultControllerClose(branch1._readableStreamController);
-    }
-    if (canceled2 === false) {
-     ReadableStreamDefaultControllerClose(branch2._readableStreamController);
-    }
-    return;
-   }
-   var value = result.value;
-   var value1 = value;
-   var value2 = value;
-   if (canceled1 === false) {
-    ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
-   }
-   if (canceled2 === false) {
-    ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
-   }
-  });
-  readPromise.catch(rethrowAssertionErrorRejection);
-  return Promise.resolve();
- }
- function cancel1Algorithm(reason) {
-  canceled1 = true;
-  reason1 = reason;
-  if (canceled2 === true) {
-   var compositeReason = createArrayFromList([
-    reason1,
-    reason2
-   ]);
-   var cancelResult = ReadableStreamCancel(stream, compositeReason);
-   resolveCancelPromise(cancelResult);
-  }
-  return cancelPromise;
- }
- function cancel2Algorithm(reason) {
-  canceled2 = true;
-  reason2 = reason;
-  if (canceled1 === true) {
-   var compositeReason = createArrayFromList([
-    reason1,
-    reason2
-   ]);
-   var cancelResult = ReadableStreamCancel(stream, compositeReason);
-   resolveCancelPromise(cancelResult);
-  }
-  return cancelPromise;
- }
- function startAlgorithm() {
- }
- branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
- branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
- reader._closedPromise.catch(function (r) {
-  ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
-  ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
- });
- return [
-  branch1,
-  branch2
- ];
-}
-var NumberIsInteger = Number.isInteger || function (value) {
- return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
-};
-var ReadableStreamBYOBRequest = function () {
- function ReadableStreamBYOBRequest() {
-  throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
- }
- Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
-  get: function () {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('view');
-   }
-   return this._view;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
-  if (IsReadableStreamBYOBRequest(this) === false) {
-   throw byobRequestBrandCheckException('respond');
-  }
-  if (this._associatedReadableByteStreamController === undefined) {
-   throw new TypeError('This BYOB request has been invalidated');
-  }
-  if (IsDetachedBuffer(this._view.buffer) === true);
-  ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
- };
- ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
-  if (IsReadableStreamBYOBRequest(this) === false) {
-   throw byobRequestBrandCheckException('respond');
-  }
-  if (this._associatedReadableByteStreamController === undefined) {
-   throw new TypeError('This BYOB request has been invalidated');
-  }
-  if (!ArrayBuffer.isView(view)) {
-   throw new TypeError('You can only respond with array buffer views');
-  }
-  if (IsDetachedBuffer(view.buffer) === true);
-  ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
- };
- return ReadableStreamBYOBRequest;
-}();
-var ReadableByteStreamController = function () {
- function ReadableByteStreamController() {
-  throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
- }
- Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
-  get: function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('byobRequest');
-   }
-   if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
-    var firstDescriptor = this._pendingPullIntos.peek();
-    var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + 
firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
-    var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
-    SetUpReadableStreamBYOBRequest(byobRequest, this, view);
-    this._byobRequest = byobRequest;
-   }
-   return this._byobRequest;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
-  get: function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('desiredSize');
-   }
-   return ReadableByteStreamControllerGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableByteStreamController.prototype.close = function () {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('close');
-  }
-  if (this._closeRequested === true) {
-   throw new TypeError('The stream has already been closed; do not close it again!');
-  }
-  var state = this._controlledReadableByteStream._state;
-  if (state !== 'readable') {
-   throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be 
closed");
-  }
-  ReadableByteStreamControllerClose(this);
- };
- ReadableByteStreamController.prototype.enqueue = function (chunk) {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('enqueue');
-  }
-  if (this._closeRequested === true) {
-   throw new TypeError('stream is closed or draining');
-  }
-  var state = this._controlledReadableByteStream._state;
-  if (state !== 'readable') {
-   throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be 
enqueued to");
-  }
-  if (!ArrayBuffer.isView(chunk)) {
-   throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
-  }
-  if (IsDetachedBuffer(chunk.buffer) === true);
-  ReadableByteStreamControllerEnqueue(this, chunk);
- };
- ReadableByteStreamController.prototype.error = function (e) {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('error');
-  }
-  ReadableByteStreamControllerError(this, e);
- };
- ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
-  if (this._pendingPullIntos.length > 0) {
-   var firstDescriptor = this._pendingPullIntos.peek();
-   firstDescriptor.bytesFilled = 0;
-  }
-  ResetQueue(this);
-  var result = this._cancelAlgorithm(reason);
-  ReadableByteStreamControllerClearAlgorithms(this);
-  return result;
- };
- ReadableByteStreamController.prototype[PullSteps] = function () {
-  var stream = this._controlledReadableByteStream;
-  if (this._queueTotalSize > 0) {
-   var entry = this._queue.shift();
-   this._queueTotalSize -= entry.byteLength;
-   ReadableByteStreamControllerHandleQueueDrain(this);
-   var view = void 0;
-   try {
-    view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
-   } catch (viewE) {
-    return Promise.reject(viewE);
-   }
-   return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
-  }
-  var autoAllocateChunkSize = this._autoAllocateChunkSize;
-  if (autoAllocateChunkSize !== undefined) {
-   var buffer = void 0;
-   try {
-    buffer = new ArrayBuffer(autoAllocateChunkSize);
-   } catch (bufferE) {
-    return Promise.reject(bufferE);
-   }
-   var pullIntoDescriptor = {
-    buffer: buffer,
-    byteOffset: 0,
-    byteLength: autoAllocateChunkSize,
-    bytesFilled: 0,
-    elementSize: 1,
-    ctor: Uint8Array,
-    readerType: 'default'
-   };
-   this._pendingPullIntos.push(pullIntoDescriptor);
-  }
-  var promise = ReadableStreamAddReadRequest(stream);
-  ReadableByteStreamControllerCallPullIfNeeded(this);
-  return promise;
- };
- return ReadableByteStreamController;
-}();
-function IsReadableByteStreamController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
-  return false;
- }
- return true;
-}
-function IsReadableStreamBYOBRequest(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
-  return false;
- }
- return true;
-}
-function ReadableByteStreamControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
- if (shouldPull === false) {
-  return;
- }
- if (controller._pulling === true) {
-  controller._pullAgain = true;
-  return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
-  controller._pulling = false;
-  if (controller._pullAgain === true) {
-   controller._pullAgain = false;
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }
- }, function (e) {
-  ReadableByteStreamControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableByteStreamControllerClearPendingPullIntos(controller) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- controller._pendingPullIntos = new SimpleQueue();
-}
-function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
- var done = false;
- if (stream._state === 'closed') {
-  done = true;
- }
- var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
- if (pullIntoDescriptor.readerType === 'default') {
-  ReadableStreamFulfillReadRequest(stream, filledView, done);
- } else {
-  ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
- }
-}
-function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
- var bytesFilled = pullIntoDescriptor.bytesFilled;
- var elementSize = pullIntoDescriptor.elementSize;
- return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / 
elementSize);
-}
-function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
- controller._queue.push({
-  buffer: buffer,
-  byteOffset: byteOffset,
-  byteLength: byteLength
- });
- controller._queueTotalSize += byteLength;
-}
-function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
- var elementSize = pullIntoDescriptor.elementSize;
- var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
- var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - 
pullIntoDescriptor.bytesFilled);
- var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
- var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
- var totalBytesToCopyRemaining = maxBytesToCopy;
- var ready = false;
- if (maxAlignedBytes > currentAlignedBytes) {
-  totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
-  ready = true;
- }
- var queue = controller._queue;
- while (totalBytesToCopyRemaining > 0) {
-  var headOfQueue = queue.peek();
-  var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
-  var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-  ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, 
bytesToCopy);
-  if (headOfQueue.byteLength === bytesToCopy) {
-   queue.shift();
-  } else {
-   headOfQueue.byteOffset += bytesToCopy;
-   headOfQueue.byteLength -= bytesToCopy;
-  }
-  controller._queueTotalSize -= bytesToCopy;
-  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
-  totalBytesToCopyRemaining -= bytesToCopy;
- }
- return ready;
-}
-function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- pullIntoDescriptor.bytesFilled += size;
-}
-function ReadableByteStreamControllerHandleQueueDrain(controller) {
- if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamClose(controller._controlledReadableByteStream);
- } else {
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
-}
-function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
- if (controller._byobRequest === undefined) {
-  return;
- }
- controller._byobRequest._associatedReadableByteStreamController = undefined;
- controller._byobRequest._view = undefined;
- controller._byobRequest = undefined;
-}
-function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
- while (controller._pendingPullIntos.length > 0) {
-  if (controller._queueTotalSize === 0) {
-   return;
-  }
-  var pullIntoDescriptor = controller._pendingPullIntos.peek();
-  if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-   ReadableByteStreamControllerShiftPendingPullInto(controller);
-   ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, 
pullIntoDescriptor);
-  }
- }
-}
-function ReadableByteStreamControllerPullInto(controller, view) {
- var stream = controller._controlledReadableByteStream;
- var elementSize = 1;
- if (view.constructor !== DataView) {
-  elementSize = view.constructor.BYTES_PER_ELEMENT;
- }
- var ctor = view.constructor;
- var buffer = TransferArrayBuffer(view.buffer);
- var pullIntoDescriptor = {
-  buffer: buffer,
-  byteOffset: view.byteOffset,
-  byteLength: view.byteLength,
-  bytesFilled: 0,
-  elementSize: elementSize,
-  ctor: ctor,
-  readerType: 'byob'
- };
- if (controller._pendingPullIntos.length > 0) {
-  controller._pendingPullIntos.push(pullIntoDescriptor);
-  return ReadableStreamAddReadIntoRequest(stream);
- }
- if (stream._state === 'closed') {
-  var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
-  return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
- }
- if (controller._queueTotalSize > 0) {
-  if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-   var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-   ReadableByteStreamControllerHandleQueueDrain(controller);
-   return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
-  }
-  if (controller._closeRequested === true) {
-   var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-   ReadableByteStreamControllerError(controller, e);
-   return Promise.reject(e);
-  }
- }
- controller._pendingPullIntos.push(pullIntoDescriptor);
- var promise = ReadableStreamAddReadIntoRequest(stream);
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- return promise;
-}
-function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
- firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
- var stream = controller._controlledReadableByteStream;
- if (ReadableStreamHasBYOBReader(stream) === true) {
-  while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-   var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
-   ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
-  }
- }
-}
-function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
- if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
-  throw new RangeError('bytesWritten out of range');
- }
- ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
- if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
-  return;
- }
- ReadableByteStreamControllerShiftPendingPullInto(controller);
- var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
- if (remainderSize > 0) {
-  var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-  var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
- }
- pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
- pullIntoDescriptor.bytesFilled -= remainderSize;
- ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, 
pullIntoDescriptor);
- ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
-}
-function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- var stream = controller._controlledReadableByteStream;
- if (stream._state === 'closed') {
-  if (bytesWritten !== 0) {
-   throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
-  }
-  ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
- } else {
-  ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerShiftPendingPullInto(controller) {
- var descriptor = controller._pendingPullIntos.shift();
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- return descriptor;
-}
-function ReadableByteStreamControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
-  return false;
- }
- if (controller._closeRequested === true) {
-  return false;
- }
- if (controller._started === false) {
-  return false;
- }
- if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  return true;
- }
- if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-  return true;
- }
- var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
-  return true;
- }
- return false;
-}
-function ReadableByteStreamControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
-}
-function ReadableByteStreamControllerClose(controller) {
- var stream = controller._controlledReadableByteStream;
- if (controller._queueTotalSize > 0) {
-  controller._closeRequested = true;
-  return;
- }
- if (controller._pendingPullIntos.length > 0) {
-  var firstPendingPullInto = controller._pendingPullIntos.peek();
-  if (firstPendingPullInto.bytesFilled > 0) {
-   var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-   ReadableByteStreamControllerError(controller, e);
-   throw e;
-  }
- }
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamClose(stream);
-}
-function ReadableByteStreamControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableByteStream;
- var buffer = chunk.buffer;
- var byteOffset = chunk.byteOffset;
- var byteLength = chunk.byteLength;
- var transferredBuffer = TransferArrayBuffer(buffer);
- if (ReadableStreamHasDefaultReader(stream) === true) {
-  if (ReadableStreamGetNumReadRequests(stream) === 0) {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  } else {
-   var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
-   ReadableStreamFulfillReadRequest(stream, transferredView, false);
-  }
- } else if (ReadableStreamHasBYOBReader(stream) === true) {
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
- } else {
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerError(controller, e) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
-  return;
- }
- ReadableByteStreamControllerClearPendingPullIntos(controller);
- ResetQueue(controller);
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableByteStreamControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableByteStream;
- var state = stream._state;
- if (state === 'errored') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableByteStreamControllerRespond(controller, bytesWritten) {
- bytesWritten = Number(bytesWritten);
- if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
-  throw new RangeError('bytesWritten must be a finite');
- }
- ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
-}
-function ReadableByteStreamControllerRespondWithNewView(controller, view) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
-  throw new RangeError('The region specified by view does not match byobRequest');
- }
- if (firstDescriptor.byteLength !== view.byteLength) {
-  throw new RangeError('The buffer of view has different capacity than byobRequest');
- }
- firstDescriptor.buffer = view.buffer;
- ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
-}
-function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, 
cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
- controller._controlledReadableByteStream = stream;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._byobRequest = undefined;
- controller._queue = controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._closeRequested = false;
- controller._started = false;
- controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- controller._autoAllocateChunkSize = autoAllocateChunkSize;
- controller._pendingPullIntos = new SimpleQueue();
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
-  controller._started = true;
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }, function (r) {
-  ReadableByteStreamControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
- var controller = Object.create(ReadableByteStreamController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
- var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
- if (autoAllocateChunkSize !== undefined) {
-  autoAllocateChunkSize = Number(autoAllocateChunkSize);
-  if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
-   throw new RangeError('autoAllocateChunkSize must be a positive integer');
-  }
- }
- SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, autoAllocateChunkSize);
-}
-function SetUpReadableStreamBYOBRequest(request, controller, view) {
- request._associatedReadableByteStreamController = controller;
- request._view = view;
-}
-function byobRequestBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a 
ReadableStreamBYOBRequest");
-}
-function byteStreamControllerBrandCheckException(name) {
- return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a 
ReadableByteStreamController");
-}
-function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
-  forAuthorCode = false;
- }
- var reader = new ReadableStreamBYOBReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadIntoRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var readIntoRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._reader._readIntoRequests.push(readIntoRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readIntoRequest = reader._readIntoRequests.shift();
- readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadIntoRequests(stream) {
- return stream._reader._readIntoRequests.length;
-}
-function ReadableStreamHasBYOBReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
-  return false;
- }
- if (!IsReadableStreamBYOBReader(reader)) {
-  return false;
- }
- return true;
-}
-var ReadableStreamBYOBReader = function () {
- function ReadableStreamBYOBReader(stream) {
-  if (!IsReadableStream(stream)) {
-   throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance 
given a ' + 'byte source');
-  }
-  if (IsReadableByteStreamController(stream._readableStreamController) === false) {
-   throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte 
' + 'source');
-  }
-  if (IsReadableStreamLocked(stream)) {
-   throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-  }
-  ReadableStreamReaderGenericInitialize(this, stream);
-  this._readIntoRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
-  get: function () {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return Promise.reject(byobReaderBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamBYOBReader.prototype.cancel = function (reason) {
-  if (!IsReadableStreamBYOBReader(this)) {
-   return Promise.reject(byobReaderBrandCheckException('cancel'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('cancel'));
-  }
-  return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamBYOBReader.prototype.read = function (view) {
-  if (!IsReadableStreamBYOBReader(this)) {
-   return Promise.reject(byobReaderBrandCheckException('read'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('read from'));
-  }
-  if (!ArrayBuffer.isView(view)) {
-   return Promise.reject(new TypeError('view must be an array buffer view'));
-  }
-  if (IsDetachedBuffer(view.buffer) === true);
-  if (view.byteLength === 0) {
-   return Promise.reject(new TypeError('view must have non-zero byteLength'));
-  }
-  return ReadableStreamBYOBReaderRead(this, view);
- };
- ReadableStreamBYOBReader.prototype.releaseLock = function () {
-  if (!IsReadableStreamBYOBReader(this)) {
-   throw byobReaderBrandCheckException('releaseLock');
-  }
-  if (this._ownerReadableStream === undefined) {
-   return;
-  }
-  if (this._readIntoRequests.length > 0) {
-   throw new TypeError('Tried to release a reader lock when that reader has pending read() calls 
un-settled');
-  }
-  ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamBYOBReader;
-}();
-function IsReadableStreamBYOBReader(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamBYOBReaderRead(reader, view) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
-}
-function byobReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a 
ReadableStreamBYOBReader");
-}
-var ReadableStream = function () {
- function ReadableStream(underlyingSource, strategy) {
-  if (underlyingSource === void 0) {
-   underlyingSource = {};
-  }
-  if (strategy === void 0) {
-   strategy = {};
-  }
-  InitializeReadableStream(this);
-  var size = strategy.size;
-  var highWaterMark = strategy.highWaterMark;
-  var type = underlyingSource.type;
-  var typeString = String(type);
-  if (typeString === 'bytes') {
-   if (size !== undefined) {
-    throw new RangeError('The strategy for a byte stream cannot have a size function');
-   }
-   if (highWaterMark === undefined) {
-    highWaterMark = 0;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
-  } else if (type === undefined) {
-   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-   if (highWaterMark === undefined) {
-    highWaterMark = 1;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, 
sizeAlgorithm);
-  } else {
-   throw new RangeError('Invalid type is specified');
-  }
- }
- Object.defineProperty(ReadableStream.prototype, "locked", {
-  get: function () {
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('locked');
-   }
-   return IsReadableStreamLocked(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStream.prototype.cancel = function (reason) {
-  if (IsReadableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException$1('cancel'));
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));
-  }
-  return ReadableStreamCancel(this, reason);
- };
- ReadableStream.prototype.getReader = function (_a) {
-  var mode = (_a === void 0 ? {} : _a).mode;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('getReader');
-  }
-  if (mode === undefined) {
-   return AcquireReadableStreamDefaultReader(this, true);
-  }
-  mode = String(mode);
-  if (mode === 'byob') {
-   return AcquireReadableStreamBYOBReader(this, true);
-  }
-  throw new RangeError('Invalid mode is specified');
- };
- ReadableStream.prototype.pipeThrough = function (_a, _b) {
-  var writable = _a.writable, readable = _a.readable;
-  var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, 
preventCancel = _c.preventCancel, signal = _c.signal;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('pipeThrough');
-  }
-  if (IsWritableStream(writable) === false) {
-   throw new TypeError('writable argument to pipeThrough must be a WritableStream');
-  }
-  if (IsReadableStream(readable) === false) {
-   throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
-  }
-  preventClose = Boolean(preventClose);
-  preventAbort = Boolean(preventAbort);
-  preventCancel = Boolean(preventCancel);
-  if (signal !== undefined && !isAbortSignal(signal)) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
-  }
-  if (IsWritableStreamLocked(writable) === true) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
-  }
-  var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
-  promise.catch(noop);
-  return readable;
- };
- ReadableStream.prototype.pipeTo = function (dest, _a) {
-  var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, 
preventCancel = _b.preventCancel, signal = _b.signal;
-  if (IsReadableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException$1('pipeTo'));
-  }
-  if (IsWritableStream(dest) === false) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a 
WritableStream'));
-  }
-  preventClose = Boolean(preventClose);
-  preventAbort = Boolean(preventAbort);
-  preventCancel = Boolean(preventCancel);
-  if (signal !== undefined && !isAbortSignal(signal)) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an 
AbortSignal'));
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked 
ReadableStream'));
-  }
-  if (IsWritableStreamLocked(dest) === true) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked 
WritableStream'));
-  }
-  return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
- };
- ReadableStream.prototype.tee = function () {
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('tee');
-  }
-  var branches = ReadableStreamTee(this);
-  return createArrayFromList(branches);
- };
- ReadableStream.prototype.getIterator = function (_a) {
-  var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('getIterator');
-  }
-  return AcquireReadableStreamAsyncIterator(this, preventCancel);
- };
- return ReadableStream;
-}();
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
-  value: ReadableStream.prototype.getIterator,
-  enumerable: false,
-  writable: true,
-  configurable: true
- });
-}
-function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- if (highWaterMark === void 0) {
-  highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
-  sizeAlgorithm = function () {
-   return 1;
-  };
- }
- var stream = Object.create(ReadableStream.prototype);
- InitializeReadableStream(stream);
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeReadableStream(stream) {
- stream._state = 'readable';
- stream._reader = undefined;
- stream._storedError = undefined;
- stream._disturbed = false;
-}
-function IsReadableStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
-  return false;
- }
- return true;
-}
-function IsReadableStreamLocked(stream) {
- if (stream._reader === undefined) {
-  return false;
- }
- return true;
-}
-function ReadableStreamCancel(stream, reason) {
- stream._disturbed = true;
- if (stream._state === 'closed') {
-  return Promise.resolve(undefined);
- }
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- ReadableStreamClose(stream);
- var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
- return sourceCancelPromise.then(function () {
-  return undefined;
- });
-}
-function ReadableStreamClose(stream) {
- stream._state = 'closed';
- var reader = stream._reader;
- if (reader === undefined) {
-  return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
-  reader._readRequests.forEach(function (readRequest) {
-   readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-  });
-  reader._readRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseResolve(reader);
-}
-function ReadableStreamError(stream, e) {
- stream._state = 'errored';
- stream._storedError = e;
- var reader = stream._reader;
- if (reader === undefined) {
-  return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
-  reader._readRequests.forEach(function (readRequest) {
-   readRequest._reject(e);
-  });
-  reader._readRequests = new SimpleQueue();
- } else {
-  reader._readIntoRequests.forEach(function (readIntoRequest) {
-   readIntoRequest._reject(e);
-  });
-  reader._readIntoRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseReject(reader, e);
-}
-function isAbortSignal(value) {
- if (typeof value !== 'object' || value === null) {
-  return false;
- }
- var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;
- try {
-  aborted.call(value);
-  return true;
- } catch (e) {
-  return false;
- }
-}
-function streamBrandCheckException$1(name) {
- return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
-}
-var ByteLengthQueuingStrategy = function () {
- function ByteLengthQueuingStrategy(_a) {
-  var highWaterMark = _a.highWaterMark;
-  this.highWaterMark = highWaterMark;
- }
- ByteLengthQueuingStrategy.prototype.size = function (chunk) {
-  return chunk.byteLength;
- };
- return ByteLengthQueuingStrategy;
-}();
-var CountQueuingStrategy = function () {
- function CountQueuingStrategy(_a) {
-  var highWaterMark = _a.highWaterMark;
-  this.highWaterMark = highWaterMark;
- }
- CountQueuingStrategy.prototype.size = function () {
-  return 1;
- };
- return CountQueuingStrategy;
-}();
-var TransformStream = function () {
- function TransformStream(transformer, writableStrategy, readableStrategy) {
-  if (transformer === void 0) {
-   transformer = {};
-  }
-  if (writableStrategy === void 0) {
-   writableStrategy = {};
-  }
-  if (readableStrategy === void 0) {
-   readableStrategy = {};
-  }
-  var writableSizeFunction = writableStrategy.size;
-  var writableHighWaterMark = writableStrategy.highWaterMark;
-  var readableSizeFunction = readableStrategy.size;
-  var readableHighWaterMark = readableStrategy.highWaterMark;
-  var writableType = transformer.writableType;
-  if (writableType !== undefined) {
-   throw new RangeError('Invalid writable type specified');
-  }
-  var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
-  if (writableHighWaterMark === undefined) {
-   writableHighWaterMark = 1;
-  }
-  writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
-  var readableType = transformer.readableType;
-  if (readableType !== undefined) {
-   throw new RangeError('Invalid readable type specified');
-  }
-  var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
-  if (readableHighWaterMark === undefined) {
-   readableHighWaterMark = 0;
-  }
-  readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
-  var startPromise_resolve;
-  var startPromise = new Promise(function (resolve) {
-   startPromise_resolve = resolve;
-  });
-  InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm);
-  SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
-  var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
-  startPromise_resolve(startResult);
- }
- Object.defineProperty(TransformStream.prototype, "readable", {
-  get: function () {
-   if (IsTransformStream(this) === false) {
-    throw streamBrandCheckException$2('readable');
-   }
-   return this._readable;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(TransformStream.prototype, "writable", {
-  get: function () {
-   if (IsTransformStream(this) === false) {
-    throw streamBrandCheckException$2('writable');
-   }
-   return this._writable;
-  },
-  enumerable: true,
-  configurable: true
- });
- return TransformStream;
-}();
-function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm) {
- function startAlgorithm() {
-  return startPromise;
- }
- function writeAlgorithm(chunk) {
-  return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
- }
- function abortAlgorithm(reason) {
-  return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
- }
- function closeAlgorithm() {
-  return TransformStreamDefaultSinkCloseAlgorithm(stream);
- }
- stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, 
writableHighWaterMark, writableSizeAlgorithm);
- function pullAlgorithm() {
-  return TransformStreamDefaultSourcePullAlgorithm(stream);
- }
- function cancelAlgorithm(reason) {
-  TransformStreamErrorWritableAndUnblockWrite(stream, reason);
-  return Promise.resolve();
- }
- stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm);
- stream._backpressure = undefined;
- stream._backpressureChangePromise = undefined;
- stream._backpressureChangePromise_resolve = undefined;
- TransformStreamSetBackpressure(stream, true);
- stream._transformStreamController = undefined;
-}
-function IsTransformStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
-  return false;
- }
- return true;
-}
-function TransformStreamError(stream, e) {
- ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
- TransformStreamErrorWritableAndUnblockWrite(stream, e);
-}
-function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
- TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
- WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
- if (stream._backpressure === true) {
-  TransformStreamSetBackpressure(stream, false);
- }
-}
-function TransformStreamSetBackpressure(stream, backpressure) {
- if (stream._backpressureChangePromise !== undefined) {
-  stream._backpressureChangePromise_resolve();
- }
- stream._backpressureChangePromise = new Promise(function (resolve) {
-  stream._backpressureChangePromise_resolve = resolve;
- });
- stream._backpressure = backpressure;
-}
-var TransformStreamDefaultController = function () {
- function TransformStreamDefaultController() {
-  throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
- }
- Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
-  get: function () {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('desiredSize');
-   }
-   var readableController = this._controlledTransformStream._readable._readableStreamController;
-   return ReadableStreamDefaultControllerGetDesiredSize(readableController);
-  },
-  enumerable: true,
-  configurable: true
- });
- TransformStreamDefaultController.prototype.enqueue = function (chunk) {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('enqueue');
-  }
-  TransformStreamDefaultControllerEnqueue(this, chunk);
- };
- TransformStreamDefaultController.prototype.error = function (reason) {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('error');
-  }
-  TransformStreamDefaultControllerError(this, reason);
- };
- TransformStreamDefaultController.prototype.terminate = function () {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('terminate');
-  }
-  TransformStreamDefaultControllerTerminate(this);
- };
- return TransformStreamDefaultController;
-}();
-function IsTransformStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
-  return false;
- }
- return true;
-}
-function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
- controller._controlledTransformStream = stream;
- stream._transformStreamController = controller;
- controller._transformAlgorithm = transformAlgorithm;
- controller._flushAlgorithm = flushAlgorithm;
-}
-function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
- var controller = Object.create(TransformStreamDefaultController.prototype);
- var transformAlgorithm = function (chunk) {
-  try {
-   TransformStreamDefaultControllerEnqueue(controller, chunk);
-   return Promise.resolve();
-  } catch (transformResultE) {
-   return Promise.reject(transformResultE);
-  }
- };
- var transformMethod = transformer.transform;
- if (transformMethod !== undefined) {
-  if (typeof transformMethod !== 'function') {
-   throw new TypeError('transform is not a method');
-  }
-  transformAlgorithm = function (chunk) {
-   return PromiseCall(transformMethod, transformer, [
-    chunk,
-    controller
-   ]);
-  };
- }
- var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
- SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
-}
-function TransformStreamDefaultControllerClearAlgorithms(controller) {
- controller._transformAlgorithm = undefined;
- controller._flushAlgorithm = undefined;
-}
-function TransformStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
-  throw new TypeError('Readable side is not in a state that permits enqueue');
- }
- try {
-  ReadableStreamDefaultControllerEnqueue(readableController, chunk);
- } catch (e) {
-  TransformStreamErrorWritableAndUnblockWrite(stream, e);
-  throw stream._readable._storedError;
- }
- var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
- if (backpressure !== stream._backpressure) {
-  TransformStreamSetBackpressure(stream, true);
- }
-}
-function TransformStreamDefaultControllerError(controller, e) {
- TransformStreamError(controller._controlledTransformStream, e);
-}
-function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
- var transformPromise = controller._transformAlgorithm(chunk);
- return transformPromise.catch(function (r) {
-  TransformStreamError(controller._controlledTransformStream, r);
-  throw r;
- });
-}
-function TransformStreamDefaultControllerTerminate(controller) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-  ReadableStreamDefaultControllerClose(readableController);
- }
- var error = new TypeError('TransformStream terminated');
- TransformStreamErrorWritableAndUnblockWrite(stream, error);
-}
-function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
- var controller = stream._transformStreamController;
- if (stream._backpressure === true) {
-  var backpressureChangePromise = stream._backpressureChangePromise;
-  return backpressureChangePromise.then(function () {
-   var writable = stream._writable;
-   var state = writable._state;
-   if (state === 'erroring') {
-    throw writable._storedError;
-   }
-   return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-  });
- }
- return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-}
-function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
- TransformStreamError(stream, reason);
- return Promise.resolve();
-}
-function TransformStreamDefaultSinkCloseAlgorithm(stream) {
- var readable = stream._readable;
- var controller = stream._transformStreamController;
- var flushPromise = controller._flushAlgorithm();
- TransformStreamDefaultControllerClearAlgorithms(controller);
- return flushPromise.then(function () {
-  if (readable._state === 'errored') {
-   throw readable._storedError;
-  }
-  var readableController = readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-   ReadableStreamDefaultControllerClose(readableController);
-  }
- }).catch(function (r) {
-  TransformStreamError(stream, r);
-  throw readable._storedError;
- });
-}
-function TransformStreamDefaultSourcePullAlgorithm(stream) {
- TransformStreamSetBackpressure(stream, false);
- return stream._backpressureChangePromise;
-}
-function defaultControllerBrandCheckException$1(name) {
- return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a 
TransformStreamDefaultController");
-}
-function streamBrandCheckException$2(name) {
- return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
-}
-
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getDocument = getDocument;
-exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
-exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = 
exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
-var _util = __w_pdfjs_require__(1);
-
-var _display_utils = __w_pdfjs_require__(183);
-
-var _font_loader = __w_pdfjs_require__(184);
-
-var _api_compatibility = __w_pdfjs_require__(185);
-
-var _canvas = __w_pdfjs_require__(186);
-
-var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));
-
-var _worker_options = __w_pdfjs_require__(188);
-
-var _message_handler = __w_pdfjs_require__(189);
-
-var _metadata = __w_pdfjs_require__(190);
-
-var _transport_stream = __w_pdfjs_require__(192);
-
-var _webgl = __w_pdfjs_require__(193);
-
-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) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || 
_nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || 
Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i 
< arr.length; 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); return Constructor; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-var DEFAULT_RANGE_CHUNK_SIZE = 65536;
-var RENDERING_CANCELLED_TIMEOUT = 100;
-var isWorkerDisabled = false;
-var fallbackWorkerSrc;
-var fakeWorkerFilesLoader = null;
-{
-  var useRequireEnsure = false;
-
-  if (typeof window === 'undefined') {
-    isWorkerDisabled = true;
-
-    if (typeof require.ensure === 'undefined') {
-      require.ensure = require('node-ensure');
-    }
-
-    useRequireEnsure = true;
-  } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {
-    useRequireEnsure = true;
-  }
-
-  if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
-    fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
-  }
-
-  var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;
-  fakeWorkerFilesLoader = useRequireEnsure ? function () {
-    return new Promise(function (resolve, reject) {
-      require.ensure([], function () {
-        try {
-          var worker;
-          worker = require('./pdf.worker.js');
-          resolve(worker.WorkerMessageHandler);
-        } catch (ex) {
-          reject(ex);
-        }
-      }, reject, 'pdfjsWorker');
-    });
-  } : dynamicLoaderSupported ? function () {
-    return new Promise(function (resolve, reject) {
-      requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
-        try {
-          resolve(worker.WorkerMessageHandler);
-        } catch (ex) {
-          reject(ex);
-        }
-      }, reject);
-    });
-  } : null;
-
-  if (!fallbackWorkerSrc && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' 
&& 'currentScript' in document) {
-    var pdfjsFilePath = document.currentScript && document.currentScript.src;
-
-    if (pdfjsFilePath) {
-      fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
-    }
-  }
-}
-var createPDFNetworkStream;
-
-function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
-  createPDFNetworkStream = pdfNetworkStreamFactory;
-}
-
-function getDocument(src) {
-  var task = new PDFDocumentLoadingTask();
-  var source;
-
-  if (typeof src === 'string') {
-    source = {
-      url: src
-    };
-  } else if ((0, _util.isArrayBuffer)(src)) {
-    source = {
-      data: src
-    };
-  } else if (src instanceof PDFDataRangeTransport) {
-    source = {
-      range: src
-    };
-  } else {
-    if (_typeof(src) !== 'object') {
-      throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter 
object');
-    }
-
-    if (!src.url && !src.data && !src.range) {
-      throw new Error('Invalid parameter object: need either .data, .range or .url');
-    }
-
-    source = src;
-  }
-
-  var params = Object.create(null);
-  var rangeTransport = null,
-      worker = null;
-
-  for (var key in source) {
-    if (key === 'url' && typeof window !== 'undefined') {
-      params[key] = new URL(source[key], window.location).href;
-      continue;
-    } else if (key === 'range') {
-      rangeTransport = source[key];
-      continue;
-    } else if (key === 'worker') {
-      worker = source[key];
-      continue;
-    } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {
-      var pdfBytes = source[key];
-
-      if (typeof pdfBytes === 'string') {
-        params[key] = (0, _util.stringToBytes)(pdfBytes);
-      } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {
-        params[key] = new Uint8Array(pdfBytes);
-      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
-        params[key] = new Uint8Array(pdfBytes);
-      } else {
-        throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is 
expected in the ' + 'data property.');
-      }
-
-      continue;
-    }
-
-    params[key] = source[key];
-  }
-
-  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
-  params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
-  params.ignoreErrors = params.stopAtErrors !== true;
-  params.pdfBug = params.pdfBug === true;
-  var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
-
-  if (params.nativeImageDecoderSupport === undefined || 
!NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
-    params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport 
|| _util.NativeImageDecoding.DECODE;
-  }
-
-  if (!Number.isInteger(params.maxImageSize)) {
-    params.maxImageSize = -1;
-  }
-
-  if (typeof params.isEvalSupported !== 'boolean') {
-    params.isEvalSupported = true;
-  }
-
-  if (typeof params.disableFontFace !== 'boolean') {
-    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
-  }
-
-  if (typeof params.disableRange !== 'boolean') {
-    params.disableRange = false;
-  }
-
-  if (typeof params.disableStream !== 'boolean') {
-    params.disableStream = false;
-  }
-
-  if (typeof params.disableAutoFetch !== 'boolean') {
-    params.disableAutoFetch = false;
-  }
-
-  if (typeof params.disableCreateObjectURL !== 'boolean') {
-    params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || 
false;
-  }
-
-  (0, _util.setVerbosityLevel)(params.verbosity);
-
-  if (!worker) {
-    var workerParams = {
-      verbosity: params.verbosity,
-      port: _worker_options.GlobalWorkerOptions.workerPort
-    };
-    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
-    task._worker = worker;
-  }
-
-  var docId = task.docId;
-  worker.promise.then(function () {
-    if (task.destroyed) {
-      throw new Error('Loading aborted');
-    }
-
-    return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
-      if (task.destroyed) {
-        throw new Error('Loading aborted');
-      }
-
-      var networkStream;
+      let networkStream;
 
       if (rangeTransport) {
         networkStream = new _transport_stream.PDFDataTransportStream({
@@ -10043,2935 +1223,2012 @@ function getDocument(src) {
         });
       }
 
-      var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
+      const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
       messageHandler.postMessageTransfers = worker.postMessageTransfers;
-      var transport = new WorkerTransport(messageHandler, task, networkStream, params);
+      const transport = new WorkerTransport(messageHandler, task, networkStream, params);
       task._transport = transport;
-      messageHandler.send('Ready', null);
+      messageHandler.send("Ready", null);
     });
-  })["catch"](task._capability.reject);
+  }).catch(task._capability.reject);
   return task;
 }
 
 function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
   if (worker.destroyed) {
-    return Promise.reject(new Error('Worker was destroyed'));
-  }
-
-  if (pdfDataRangeTransport) {
-    source.length = pdfDataRangeTransport.length;
-    source.initialData = pdfDataRangeTransport.initialData;
-    source.progressiveDone = pdfDataRangeTransport.progressiveDone;
-  }
-
-  return worker.messageHandler.sendWithPromise('GetDocRequest', {
-    docId: docId,
-    apiVersion: '2.3.200',
-    source: {
-      data: source.data,
-      url: source.url,
-      password: source.password,
-      disableAutoFetch: source.disableAutoFetch,
-      rangeChunkSize: source.rangeChunkSize,
-      length: source.length
-    },
-    maxImageSize: source.maxImageSize,
-    disableFontFace: source.disableFontFace,
-    disableCreateObjectURL: source.disableCreateObjectURL,
-    postMessageTransfers: worker.postMessageTransfers,
-    docBaseUrl: source.docBaseUrl,
-    nativeImageDecoderSupport: source.nativeImageDecoderSupport,
-    ignoreErrors: source.ignoreErrors,
-    isEvalSupported: source.isEvalSupported
-  }).then(function (workerId) {
-    if (worker.destroyed) {
-      throw new Error('Worker was destroyed');
-    }
-
-    return workerId;
-  });
-}
-
-var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
-  var nextDocumentId = 0;
-
-  var PDFDocumentLoadingTask =
-  /*#__PURE__*/
-  function () {
-    function PDFDocumentLoadingTask() {
-      _classCallCheck(this, PDFDocumentLoadingTask);
-
-      this._capability = (0, _util.createPromiseCapability)();
-      this._transport = null;
-      this._worker = null;
-      this.docId = 'd' + nextDocumentId++;
-      this.destroyed = false;
-      this.onPassword = null;
-      this.onProgress = null;
-      this.onUnsupportedFeature = null;
-    }
-
-    _createClass(PDFDocumentLoadingTask, [{
-      key: "destroy",
-      value: function destroy() {
-        var _this = this;
-
-        this.destroyed = true;
-        var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
-        return transportDestroyed.then(function () {
-          _this._transport = null;
-
-          if (_this._worker) {
-            _this._worker.destroy();
-
-            _this._worker = null;
-          }
-        });
-      }
-    }, {
-      key: "then",
-      value: function then(onFulfilled, onRejected) {
-        (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter 
instead.');
-        return this.promise.then.apply(this.promise, arguments);
-      }
-    }, {
-      key: "promise",
-      get: function get() {
-        return this._capability.promise;
-      }
-    }]);
-
-    return PDFDocumentLoadingTask;
-  }();
-
-  return PDFDocumentLoadingTask;
-}();
-
-var PDFDataRangeTransport =
-/*#__PURE__*/
-function () {
-  function PDFDataRangeTransport(length, initialData) {
-    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    _classCallCheck(this, PDFDataRangeTransport);
-
-    this.length = length;
-    this.initialData = initialData;
-    this.progressiveDone = progressiveDone;
-    this._rangeListeners = [];
-    this._progressListeners = [];
-    this._progressiveReadListeners = [];
-    this._progressiveDoneListeners = [];
-    this._readyCapability = (0, _util.createPromiseCapability)();
-  }
-
-  _createClass(PDFDataRangeTransport, [{
-    key: "addRangeListener",
-    value: function addRangeListener(listener) {
-      this._rangeListeners.push(listener);
-    }
-  }, {
-    key: "addProgressListener",
-    value: function addProgressListener(listener) {
-      this._progressListeners.push(listener);
-    }
-  }, {
-    key: "addProgressiveReadListener",
-    value: function addProgressiveReadListener(listener) {
-      this._progressiveReadListeners.push(listener);
-    }
-  }, {
-    key: "addProgressiveDoneListener",
-    value: function addProgressiveDoneListener(listener) {
-      this._progressiveDoneListeners.push(listener);
-    }
-  }, {
-    key: "onDataRange",
-    value: function onDataRange(begin, chunk) {
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = 
(_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var listener = _step.value;
-          listener(begin, chunk);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-    }
-  }, {
-    key: "onDataProgress",
-    value: function onDataProgress(loaded, total) {
-      var _this2 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; 
!(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var listener = _step2.value;
-            listener(loaded, total);
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "onDataProgressiveRead",
-    value: function onDataProgressiveRead(chunk) {
-      var _this3 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion3 = true;
-        var _didIteratorError3 = false;
-        var _iteratorError3 = undefined;
-
-        try {
-          for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; 
!(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-            var listener = _step3.value;
-            listener(chunk);
-          }
-        } catch (err) {
-          _didIteratorError3 = true;
-          _iteratorError3 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-              _iterator3["return"]();
-            }
-          } finally {
-            if (_didIteratorError3) {
-              throw _iteratorError3;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "onDataProgressiveDone",
-    value: function onDataProgressiveDone() {
-      var _this4 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
-
-        try {
-          for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; 
!(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var listener = _step4.value;
-            listener();
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "transportReady",
-    value: function transportReady() {
-      this._readyCapability.resolve();
-    }
-  }, {
-    key: "requestDataRange",
-    value: function requestDataRange(begin, end) {
-      (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');
-    }
-  }, {
-    key: "abort",
-    value: function abort() {}
-  }]);
-
-  return PDFDataRangeTransport;
-}();
-
-exports.PDFDataRangeTransport = PDFDataRangeTransport;
-
-var PDFDocumentProxy =
-/*#__PURE__*/
-function () {
-  function PDFDocumentProxy(pdfInfo, transport) {
-    _classCallCheck(this, PDFDocumentProxy);
-
-    this._pdfInfo = pdfInfo;
-    this._transport = transport;
-  }
-
-  _createClass(PDFDocumentProxy, [{
-    key: "getPage",
-    value: function getPage(pageNumber) {
-      return this._transport.getPage(pageNumber);
-    }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(ref) {
-      return this._transport.getPageIndex(ref);
-    }
-  }, {
-    key: "getDestinations",
-    value: function getDestinations() {
-      return this._transport.getDestinations();
-    }
-  }, {
-    key: "getDestination",
-    value: function getDestination(id) {
-      return this._transport.getDestination(id);
-    }
-  }, {
-    key: "getPageLabels",
-    value: function getPageLabels() {
-      return this._transport.getPageLabels();
-    }
-  }, {
-    key: "getPageLayout",
-    value: function getPageLayout() {
-      return this._transport.getPageLayout();
-    }
-  }, {
-    key: "getPageMode",
-    value: function getPageMode() {
-      return this._transport.getPageMode();
-    }
-  }, {
-    key: "getViewerPreferences",
-    value: function getViewerPreferences() {
-      return this._transport.getViewerPreferences();
-    }
-  }, {
-    key: "getOpenActionDestination",
-    value: function getOpenActionDestination() {
-      return this._transport.getOpenActionDestination();
-    }
-  }, {
-    key: "getAttachments",
-    value: function getAttachments() {
-      return this._transport.getAttachments();
-    }
-  }, {
-    key: "getJavaScript",
-    value: function getJavaScript() {
-      return this._transport.getJavaScript();
-    }
-  }, {
-    key: "getOutline",
-    value: function getOutline() {
-      return this._transport.getOutline();
-    }
-  }, {
-    key: "getPermissions",
-    value: function getPermissions() {
-      return this._transport.getPermissions();
-    }
-  }, {
-    key: "getMetadata",
-    value: function getMetadata() {
-      return this._transport.getMetadata();
-    }
-  }, {
-    key: "getData",
-    value: function getData() {
-      return this._transport.getData();
-    }
-  }, {
-    key: "getDownloadInfo",
-    value: function getDownloadInfo() {
-      return this._transport.downloadInfoCapability.promise;
-    }
-  }, {
-    key: "getStats",
-    value: function getStats() {
-      return this._transport.getStats();
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      this._transport.startCleanup();
-    }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      return this.loadingTask.destroy();
-    }
-  }, {
-    key: "numPages",
-    get: function get() {
-      return this._pdfInfo.numPages;
-    }
-  }, {
-    key: "fingerprint",
-    get: function get() {
-      return this._pdfInfo.fingerprint;
-    }
-  }, {
-    key: "loadingParams",
-    get: function get() {
-      return this._transport.loadingParams;
-    }
-  }, {
-    key: "loadingTask",
-    get: function get() {
-      return this._transport.loadingTask;
-    }
-  }]);
-
-  return PDFDocumentProxy;
-}();
-
-exports.PDFDocumentProxy = PDFDocumentProxy;
-
-var PDFPageProxy =
-/*#__PURE__*/
-function () {
-  function PDFPageProxy(pageIndex, pageInfo, transport) {
-    var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
-    _classCallCheck(this, PDFPageProxy);
-
-    this.pageIndex = pageIndex;
-    this._pageInfo = pageInfo;
-    this._transport = transport;
-    this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;
-    this._pdfBug = pdfBug;
-    this.commonObjs = transport.commonObjs;
-    this.objs = new PDFObjects();
-    this.cleanupAfterRender = false;
-    this.pendingCleanup = false;
-    this.intentStates = Object.create(null);
-    this.destroyed = false;
-  }
-
-  _createClass(PDFPageProxy, [{
-    key: "getViewport",
-    value: function getViewport() {
-      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          scale = _ref.scale,
-          _ref$rotation = _ref.rotation,
-          rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
-          _ref$dontFlip = _ref.dontFlip,
-          dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
-
-      if (arguments.length > 1 || typeof arguments[0] === 'number') {
-        (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');
-        scale = arguments[0];
-        rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;
-        dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;
-      }
-
-      return new _display_utils.PageViewport({
-        viewBox: this.view,
-        scale: scale,
-        rotation: rotation,
-        dontFlip: dontFlip
-      });
-    }
-  }, {
-    key: "getAnnotations",
-    value: function getAnnotations() {
-      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref2$intent = _ref2.intent,
-          intent = _ref2$intent === void 0 ? null : _ref2$intent;
-
-      if (!this.annotationsPromise || this.annotationsIntent !== intent) {
-        this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);
-        this.annotationsIntent = intent;
-      }
-
-      return this.annotationsPromise;
-    }
-  }, {
-    key: "render",
-    value: function render(_ref3) {
-      var _this5 = this;
-
-      var canvasContext = _ref3.canvasContext,
-          viewport = _ref3.viewport,
-          _ref3$intent = _ref3.intent,
-          intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,
-          _ref3$enableWebGL = _ref3.enableWebGL,
-          enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
-          _ref3$renderInteracti = _ref3.renderInteractiveForms,
-          renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
-          _ref3$transform = _ref3.transform,
-          transform = _ref3$transform === void 0 ? null : _ref3$transform,
-          _ref3$imageLayer = _ref3.imageLayer,
-          imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
-          _ref3$canvasFactory = _ref3.canvasFactory,
-          canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
-          _ref3$background = _ref3.background,
-          background = _ref3$background === void 0 ? null : _ref3$background;
-      var stats = this._stats;
-      stats.time('Overall');
-      var renderingIntent = intent === 'print' ? 'print' : 'display';
-      this.pendingCleanup = false;
-
-      if (!this.intentStates[renderingIntent]) {
-        this.intentStates[renderingIntent] = Object.create(null);
-      }
-
-      var intentState = this.intentStates[renderingIntent];
-
-      if (intentState.streamReaderCancelTimeout) {
-        clearTimeout(intentState.streamReaderCancelTimeout);
-        intentState.streamReaderCancelTimeout = null;
-      }
-
-      var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
-      var webGLContext = new _webgl.WebGLContext({
-        enable: enableWebGL
-      });
-
-      if (!intentState.displayReadyCapability) {
-        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
-        intentState.operatorList = {
-          fnArray: [],
-          argsArray: [],
-          lastChunk: false
-        };
-        stats.time('Page Request');
-
-        this._pumpOperatorList({
-          pageIndex: this.pageNumber - 1,
-          intent: renderingIntent,
-          renderInteractiveForms: renderInteractiveForms === true
-        });
-      }
-
-      var complete = function complete(error) {
-        var i = intentState.renderTasks.indexOf(internalRenderTask);
-
-        if (i >= 0) {
-          intentState.renderTasks.splice(i, 1);
-        }
-
-        if (_this5.cleanupAfterRender || renderingIntent === 'print') {
-          _this5.pendingCleanup = true;
-        }
-
-        _this5._tryCleanup();
-
-        if (error) {
-          internalRenderTask.capability.reject(error);
-
-          _this5._abortOperatorList({
-            intentState: intentState,
-            reason: error
-          });
-        } else {
-          internalRenderTask.capability.resolve();
-        }
-
-        stats.timeEnd('Rendering');
-        stats.timeEnd('Overall');
-      };
-
-      var internalRenderTask = new InternalRenderTask({
-        callback: complete,
-        params: {
-          canvasContext: canvasContext,
-          viewport: viewport,
-          transform: transform,
-          imageLayer: imageLayer,
-          background: background
-        },
-        objs: this.objs,
-        commonObjs: this.commonObjs,
-        operatorList: intentState.operatorList,
-        pageNumber: this.pageNumber,
-        canvasFactory: canvasFactoryInstance,
-        webGLContext: webGLContext,
-        useRequestAnimationFrame: renderingIntent !== 'print',
-        pdfBug: this._pdfBug
-      });
-
-      if (!intentState.renderTasks) {
-        intentState.renderTasks = [];
-      }
-
-      intentState.renderTasks.push(internalRenderTask);
-      var renderTask = internalRenderTask.task;
-      intentState.displayReadyCapability.promise.then(function (transparency) {
-        if (_this5.pendingCleanup) {
-          complete();
-          return;
-        }
-
-        stats.time('Rendering');
-        internalRenderTask.initializeGraphics(transparency);
-        internalRenderTask.operatorListChanged();
-      })["catch"](complete);
-      return renderTask;
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList() {
-      function operatorListChanged() {
-        if (intentState.operatorList.lastChunk) {
-          intentState.opListReadCapability.resolve(intentState.operatorList);
-          var i = intentState.renderTasks.indexOf(opListTask);
-
-          if (i >= 0) {
-            intentState.renderTasks.splice(i, 1);
-          }
-        }
-      }
-
-      var renderingIntent = 'oplist';
-
-      if (!this.intentStates[renderingIntent]) {
-        this.intentStates[renderingIntent] = Object.create(null);
-      }
-
-      var intentState = this.intentStates[renderingIntent];
-      var opListTask;
-
-      if (!intentState.opListReadCapability) {
-        opListTask = {};
-        opListTask.operatorListChanged = operatorListChanged;
-        intentState.opListReadCapability = (0, _util.createPromiseCapability)();
-        intentState.renderTasks = [];
-        intentState.renderTasks.push(opListTask);
-        intentState.operatorList = {
-          fnArray: [],
-          argsArray: [],
-          lastChunk: false
-        };
-
-        this._stats.time('Page Request');
-
-        this._pumpOperatorList({
-          pageIndex: this.pageIndex,
-          intent: renderingIntent
-        });
-      }
-
-      return intentState.opListReadCapability.promise;
-    }
-  }, {
-    key: "streamTextContent",
-    value: function streamTextContent() {
-      var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref4$normalizeWhites = _ref4.normalizeWhitespace,
-          normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
-          _ref4$disableCombineT = _ref4.disableCombineTextItems,
-          disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
-
-      var TEXT_CONTENT_CHUNK_SIZE = 100;
-      return this._transport.messageHandler.sendWithStream('GetTextContent', {
-        pageIndex: this.pageNumber - 1,
-        normalizeWhitespace: normalizeWhitespace === true,
-        combineTextItems: disableCombineTextItems !== true
-      }, {
-        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
-        size: function size(textContent) {
-          return textContent.items.length;
-        }
-      });
-    }
-  }, {
-    key: "getTextContent",
-    value: function getTextContent() {
-      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-      var readableStream = this.streamTextContent(params);
-      return new Promise(function (resolve, reject) {
-        function pump() {
-          reader.read().then(function (_ref5) {
-            var _textContent$items;
-
-            var value = _ref5.value,
-                done = _ref5.done;
-
-            if (done) {
-              resolve(textContent);
-              return;
-            }
-
-            Object.assign(textContent.styles, value.styles);
-
-            (_textContent$items = textContent.items).push.apply(_textContent$items, 
_toConsumableArray(value.items));
-
-            pump();
-          }, reject);
-        }
-
-        var reader = readableStream.getReader();
-        var textContent = {
-          items: [],
-          styles: Object.create(null)
-        };
-        pump();
-      });
-    }
-  }, {
-    key: "_destroy",
-    value: function _destroy() {
-      var _this6 = this;
-
-      this.destroyed = true;
-      this._transport.pageCache[this.pageIndex] = null;
-      var waitOn = [];
-      Object.keys(this.intentStates).forEach(function (intent) {
-        var intentState = _this6.intentStates[intent];
-
-        _this6._abortOperatorList({
-          intentState: intentState,
-          reason: new Error('Page was destroyed.'),
-          force: true
-        });
-
-        if (intent === 'oplist') {
-          return;
-        }
-
-        intentState.renderTasks.forEach(function (renderTask) {
-          var renderCompleted = renderTask.capability.promise["catch"](function () {});
-          waitOn.push(renderCompleted);
-          renderTask.cancel();
-        });
-      });
-      this.objs.clear();
-      this.annotationsPromise = null;
-      this.pendingCleanup = false;
-      return Promise.all(waitOn);
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      this.pendingCleanup = true;
-
-      this._tryCleanup(resetStats);
-    }
-  }, {
-    key: "_tryCleanup",
-    value: function _tryCleanup() {
-      var _this7 = this;
-
-      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
-        var intentState = _this7.intentStates[intent];
-        return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
-      })) {
-        return;
-      }
-
-      Object.keys(this.intentStates).forEach(function (intent) {
-        delete _this7.intentStates[intent];
-      });
-      this.objs.clear();
-      this.annotationsPromise = null;
-
-      if (resetStats && this._stats instanceof _display_utils.StatTimer) {
-        this._stats = new _display_utils.StatTimer();
-      }
-
-      this.pendingCleanup = false;
-    }
-  }, {
-    key: "_startRenderPage",
-    value: function _startRenderPage(transparency, intent) {
-      var intentState = this.intentStates[intent];
-
-      if (!intentState) {
-        return;
-      }
+    return Promise.reject(new Error("Worker was destroyed"));
+  }
 
-      this._stats.timeEnd('Page Request');
+  if (pdfDataRangeTransport) {
+    source.length = pdfDataRangeTransport.length;
+    source.initialData = pdfDataRangeTransport.initialData;
+    source.progressiveDone = pdfDataRangeTransport.progressiveDone;
+  }
 
-      if (intentState.displayReadyCapability) {
-        intentState.displayReadyCapability.resolve(transparency);
-      }
+  return worker.messageHandler.sendWithPromise("GetDocRequest", {
+    docId,
+    apiVersion: '2.4.456',
+    source: {
+      data: source.data,
+      url: source.url,
+      password: source.password,
+      disableAutoFetch: source.disableAutoFetch,
+      rangeChunkSize: source.rangeChunkSize,
+      length: source.length
+    },
+    maxImageSize: source.maxImageSize,
+    disableFontFace: source.disableFontFace,
+    disableCreateObjectURL: source.disableCreateObjectURL,
+    postMessageTransfers: worker.postMessageTransfers,
+    docBaseUrl: source.docBaseUrl,
+    nativeImageDecoderSupport: source.nativeImageDecoderSupport,
+    ignoreErrors: source.ignoreErrors,
+    isEvalSupported: source.isEvalSupported
+  }).then(function (workerId) {
+    if (worker.destroyed) {
+      throw new Error("Worker was destroyed");
     }
-  }, {
-    key: "_renderPageChunk",
-    value: function _renderPageChunk(operatorListChunk, intentState) {
-      for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
-        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
-        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
-      }
 
-      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
+    return workerId;
+  });
+}
 
-      for (var _i = 0; _i < intentState.renderTasks.length; _i++) {
-        intentState.renderTasks[_i].operatorListChanged();
-      }
+const PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
+  let nextDocumentId = 0;
 
-      if (operatorListChunk.lastChunk) {
-        this._tryCleanup();
-      }
+  class PDFDocumentLoadingTask {
+    constructor() {
+      this._capability = (0, _util.createPromiseCapability)();
+      this._transport = null;
+      this._worker = null;
+      this.docId = "d" + nextDocumentId++;
+      this.destroyed = false;
+      this.onPassword = null;
+      this.onProgress = null;
+      this.onUnsupportedFeature = null;
     }
-  }, {
-    key: "_pumpOperatorList",
-    value: function _pumpOperatorList(args) {
-      var _this8 = this;
 
-      (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
-
-      var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);
+    get promise() {
+      return this._capability.promise;
+    }
 
-      var reader = readableStream.getReader();
-      var intentState = this.intentStates[args.intent];
-      intentState.streamReader = reader;
+    destroy() {
+      this.destroyed = true;
+      const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
+      return transportDestroyed.then(() => {
+        this._transport = null;
 
-      var pump = function pump() {
-        reader.read().then(function (_ref6) {
-          var value = _ref6.value,
-              done = _ref6.done;
+        if (this._worker) {
+          this._worker.destroy();
 
-          if (done) {
-            intentState.streamReader = null;
-            return;
-          }
+          this._worker = null;
+        }
+      });
+    }
 
-          if (_this8._transport.destroyed) {
-            return;
-          }
+    then(onFulfilled, onRejected) {
+      throw new Error("Removed API method: " + "PDFDocumentLoadingTask.then, use the `promise` getter 
instead.");
+    }
 
-          _this8._renderPageChunk(value, intentState);
+  }
 
-          pump();
-        }, function (reason) {
-          intentState.streamReader = null;
+  return PDFDocumentLoadingTask;
+}();
 
-          if (_this8._transport.destroyed) {
-            return;
-          }
+class PDFDataRangeTransport {
+  constructor(length, initialData, progressiveDone = false) {
+    this.length = length;
+    this.initialData = initialData;
+    this.progressiveDone = progressiveDone;
+    this._rangeListeners = [];
+    this._progressListeners = [];
+    this._progressiveReadListeners = [];
+    this._progressiveDoneListeners = [];
+    this._readyCapability = (0, _util.createPromiseCapability)();
+  }
 
-          if (intentState.operatorList) {
-            intentState.operatorList.lastChunk = true;
+  addRangeListener(listener) {
+    this._rangeListeners.push(listener);
+  }
 
-            for (var i = 0; i < intentState.renderTasks.length; i++) {
-              intentState.renderTasks[i].operatorListChanged();
-            }
+  addProgressListener(listener) {
+    this._progressListeners.push(listener);
+  }
 
-            _this8._tryCleanup();
-          }
+  addProgressiveReadListener(listener) {
+    this._progressiveReadListeners.push(listener);
+  }
 
-          if (intentState.displayReadyCapability) {
-            intentState.displayReadyCapability.reject(reason);
-          } else if (intentState.opListReadCapability) {
-            intentState.opListReadCapability.reject(reason);
-          } else {
-            throw reason;
-          }
-        });
-      };
+  addProgressiveDoneListener(listener) {
+    this._progressiveDoneListeners.push(listener);
+  }
 
-      pump();
+  onDataRange(begin, chunk) {
+    for (const listener of this._rangeListeners) {
+      listener(begin, chunk);
     }
-  }, {
-    key: "_abortOperatorList",
-    value: function _abortOperatorList(_ref7) {
-      var _this9 = this;
-
-      var intentState = _ref7.intentState,
-          reason = _ref7.reason,
-          _ref7$force = _ref7.force,
-          force = _ref7$force === void 0 ? false : _ref7$force;
-      (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected "reason" 
argument.');
+  }
 
-      if (!intentState.streamReader) {
-        return;
+  onDataProgress(loaded, total) {
+    this._readyCapability.promise.then(() => {
+      for (const listener of this._progressListeners) {
+        listener(loaded, total);
       }
+    });
+  }
 
-      if (!force) {
-        if (intentState.renderTasks.length !== 0) {
-          return;
-        }
-
-        if (reason instanceof _display_utils.RenderingCancelledException) {
-          intentState.streamReaderCancelTimeout = setTimeout(function () {
-            _this9._abortOperatorList({
-              intentState: intentState,
-              reason: reason,
-              force: true
-            });
-
-            intentState.streamReaderCancelTimeout = null;
-          }, RENDERING_CANCELLED_TIMEOUT);
-          return;
-        }
+  onDataProgressiveRead(chunk) {
+    this._readyCapability.promise.then(() => {
+      for (const listener of this._progressiveReadListeners) {
+        listener(chunk);
       }
+    });
+  }
 
-      intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
-      intentState.streamReader = null;
-
-      if (this._transport.destroyed) {
-        return;
+  onDataProgressiveDone() {
+    this._readyCapability.promise.then(() => {
+      for (const listener of this._progressiveDoneListeners) {
+        listener();
       }
-
-      Object.keys(this.intentStates).some(function (intent) {
-        if (_this9.intentStates[intent] === intentState) {
-          delete _this9.intentStates[intent];
-          return true;
-        }
-
-        return false;
-      });
-      this.cleanup();
-    }
-  }, {
-    key: "pageNumber",
-    get: function get() {
-      return this.pageIndex + 1;
-    }
-  }, {
-    key: "rotate",
-    get: function get() {
-      return this._pageInfo.rotate;
-    }
-  }, {
-    key: "ref",
-    get: function get() {
-      return this._pageInfo.ref;
-    }
-  }, {
-    key: "userUnit",
-    get: function get() {
-      return this._pageInfo.userUnit;
-    }
-  }, {
-    key: "view",
-    get: function get() {
-      return this._pageInfo.view;
-    }
-  }, {
-    key: "stats",
-    get: function get() {
-      return this._stats instanceof _display_utils.StatTimer ? this._stats : null;
-    }
-  }]);
-
-  return PDFPageProxy;
-}();
-
-exports.PDFPageProxy = PDFPageProxy;
-
-var LoopbackPort =
-/*#__PURE__*/
-function () {
-  function LoopbackPort() {
-    var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
-    _classCallCheck(this, LoopbackPort);
-
-    this._listeners = [];
-    this._defer = defer;
-    this._deferred = Promise.resolve(undefined);
+    });
   }
 
-  _createClass(LoopbackPort, [{
-    key: "postMessage",
-    value: function postMessage(obj, transfers) {
-      var _this10 = this;
+  transportReady() {
+    this._readyCapability.resolve();
+  }
 
-      function cloneValue(value) {
-        if (_typeof(value) !== 'object' || value === null) {
-          return value;
-        }
+  requestDataRange(begin, end) {
+    (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
+  }
 
-        if (cloned.has(value)) {
-          return cloned.get(value);
-        }
+  abort() {}
 
-        var buffer, result;
+}
 
-        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
-          var transferable = transfers && transfers.includes(buffer);
+exports.PDFDataRangeTransport = PDFDataRangeTransport;
 
-          if (value === buffer) {
-            result = value;
-          } else if (transferable) {
-            result = new value.constructor(buffer, value.byteOffset, value.byteLength);
-          } else {
-            result = new value.constructor(value);
-          }
+class PDFDocumentProxy {
+  constructor(pdfInfo, transport) {
+    this._pdfInfo = pdfInfo;
+    this._transport = transport;
+  }
 
-          cloned.set(value, result);
-          return result;
-        }
+  get numPages() {
+    return this._pdfInfo.numPages;
+  }
 
-        result = Array.isArray(value) ? [] : {};
-        cloned.set(value, result);
+  get fingerprint() {
+    return this._pdfInfo.fingerprint;
+  }
 
-        for (var i in value) {
-          var desc = void 0,
-              p = value;
+  getPage(pageNumber) {
+    return this._transport.getPage(pageNumber);
+  }
 
-          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
-            p = Object.getPrototypeOf(p);
-          }
+  getPageIndex(ref) {
+    return this._transport.getPageIndex(ref);
+  }
 
-          if (typeof desc.value === 'undefined') {
-            continue;
-          }
+  getDestinations() {
+    return this._transport.getDestinations();
+  }
 
-          if (typeof desc.value === 'function') {
-            if (value.hasOwnProperty && value.hasOwnProperty(i)) {
-              throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
-            }
+  getDestination(id) {
+    return this._transport.getDestination(id);
+  }
 
-            continue;
-          }
+  getPageLabels() {
+    return this._transport.getPageLabels();
+  }
 
-          result[i] = cloneValue(desc.value);
-        }
+  getPageLayout() {
+    return this._transport.getPageLayout();
+  }
 
-        return result;
-      }
+  getPageMode() {
+    return this._transport.getPageMode();
+  }
 
-      if (!this._defer) {
-        this._listeners.forEach(function (listener) {
-          listener.call(_this10, {
-            data: obj
-          });
-        });
+  getViewerPreferences() {
+    return this._transport.getViewerPreferences();
+  }
 
-        return;
-      }
+  getOpenAction() {
+    return this._transport.getOpenAction();
+  }
 
-      var cloned = new WeakMap();
-      var e = {
-        data: cloneValue(obj)
-      };
+  getOpenActionDestination() {
+    (0, _display_utils.deprecated)("getOpenActionDestination, use getOpenAction instead.");
+    return this.getOpenAction().then(function (openAction) {
+      return openAction && openAction.dest ? openAction.dest : null;
+    });
+  }
 
-      this._deferred.then(function () {
-        _this10._listeners.forEach(function (listener) {
-          listener.call(_this10, e);
-        });
-      });
-    }
-  }, {
-    key: "addEventListener",
-    value: function addEventListener(name, listener) {
-      this._listeners.push(listener);
-    }
-  }, {
-    key: "removeEventListener",
-    value: function removeEventListener(name, listener) {
-      var i = this._listeners.indexOf(listener);
+  getAttachments() {
+    return this._transport.getAttachments();
+  }
 
-      this._listeners.splice(i, 1);
-    }
-  }, {
-    key: "terminate",
-    value: function terminate() {
-      this._listeners.length = 0;
-    }
-  }]);
+  getJavaScript() {
+    return this._transport.getJavaScript();
+  }
 
-  return LoopbackPort;
-}();
+  getOutline() {
+    return this._transport.getOutline();
+  }
 
-exports.LoopbackPort = LoopbackPort;
+  getPermissions() {
+    return this._transport.getPermissions();
+  }
 
-var PDFWorker = function PDFWorkerClosure() {
-  var pdfWorkerPorts = new WeakMap();
-  var nextFakeWorkerId = 0;
-  var fakeWorkerFilesLoadedCapability;
+  getMetadata() {
+    return this._transport.getMetadata();
+  }
 
-  function _getWorkerSrc() {
-    if (_worker_options.GlobalWorkerOptions.workerSrc) {
-      return _worker_options.GlobalWorkerOptions.workerSrc;
-    }
+  getData() {
+    return this._transport.getData();
+  }
 
-    if (typeof fallbackWorkerSrc !== 'undefined') {
-      return fallbackWorkerSrc;
-    }
+  getDownloadInfo() {
+    return this._transport.downloadInfoCapability.promise;
+  }
 
-    throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
+  getStats() {
+    return this._transport.getStats();
   }
 
-  function getMainThreadWorkerMessageHandler() {
-    try {
-      if (typeof window !== 'undefined') {
-        return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;
-      }
-    } catch (ex) {}
+  cleanup() {
+    return this._transport.startCleanup();
+  }
 
-    return null;
+  destroy() {
+    return this.loadingTask.destroy();
   }
 
-  function setupFakeWorkerGlobal() {
-    if (fakeWorkerFilesLoadedCapability) {
-      return fakeWorkerFilesLoadedCapability.promise;
-    }
+  get loadingParams() {
+    return this._transport.loadingParams;
+  }
 
-    fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();
-    var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
+  get loadingTask() {
+    return this._transport.loadingTask;
+  }
 
-    if (mainWorkerMessageHandler) {
-      fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);
-      return fakeWorkerFilesLoadedCapability.promise;
-    }
+}
 
-    var loader = fakeWorkerFilesLoader || function () {
-      return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {
-        return window.pdfjsWorker.WorkerMessageHandler;
-      });
-    };
+exports.PDFDocumentProxy = PDFDocumentProxy;
 
-    loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);
-    return fakeWorkerFilesLoadedCapability.promise;
+class PDFPageProxy {
+  constructor(pageIndex, pageInfo, transport, pdfBug = false) {
+    this._pageIndex = pageIndex;
+    this._pageInfo = pageInfo;
+    this._transport = transport;
+    this._stats = pdfBug ? new _display_utils.StatTimer() : null;
+    this._pdfBug = pdfBug;
+    this.commonObjs = transport.commonObjs;
+    this.objs = new PDFObjects();
+    this.cleanupAfterRender = false;
+    this.pendingCleanup = false;
+    this.intentStates = Object.create(null);
+    this.destroyed = false;
   }
 
-  function createCDNWrapper(url) {
-    var wrapper = 'importScripts(\'' + url + '\');';
-    return URL.createObjectURL(new Blob([wrapper]));
+  get pageNumber() {
+    return this._pageIndex + 1;
   }
 
-  var PDFWorker =
-  /*#__PURE__*/
-  function () {
-    function PDFWorker() {
-      var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref8$name = _ref8.name,
-          name = _ref8$name === void 0 ? null : _ref8$name,
-          _ref8$port = _ref8.port,
-          port = _ref8$port === void 0 ? null : _ref8$port,
-          _ref8$verbosity = _ref8.verbosity,
-          verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;
-
-      _classCallCheck(this, PDFWorker);
-
-      if (port && pdfWorkerPorts.has(port)) {
-        throw new Error('Cannot use more than one PDFWorker per port');
-      }
-
-      this.name = name;
-      this.destroyed = false;
-      this.postMessageTransfers = true;
-      this.verbosity = verbosity;
-      this._readyCapability = (0, _util.createPromiseCapability)();
-      this._port = null;
-      this._webWorker = null;
-      this._messageHandler = null;
+  get rotate() {
+    return this._pageInfo.rotate;
+  }
 
-      if (port) {
-        pdfWorkerPorts.set(port, this);
+  get ref() {
+    return this._pageInfo.ref;
+  }
 
-        this._initializeFromPort(port);
+  get userUnit() {
+    return this._pageInfo.userUnit;
+  }
 
-        return;
-      }
+  get view() {
+    return this._pageInfo.view;
+  }
 
-      this._initialize();
+  getViewport({
+    scale,
+    rotation = this.rotate,
+    offsetX = 0,
+    offsetY = 0,
+    dontFlip = false
+  } = {}) {
+    if (arguments.length > 1 || typeof arguments[0] === "number") {
+      throw new Error("PDFPageProxy.getViewport is called with obsolete arguments.");
     }
 
-    _createClass(PDFWorker, [{
-      key: "_initializeFromPort",
-      value: function _initializeFromPort(port) {
-        this._port = port;
-        this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);
-
-        this._messageHandler.on('ready', function () {});
-
-        this._readyCapability.resolve();
-      }
-    }, {
-      key: "_initialize",
-      value: function _initialize() {
-        var _this11 = this;
-
-        if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
-          var workerSrc = _getWorkerSrc();
-
-          try {
-            if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
-              workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
-            }
-
-            var worker = new Worker(workerSrc);
-            var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);
-
-            var terminateEarly = function terminateEarly() {
-              worker.removeEventListener('error', onWorkerError);
-              messageHandler.destroy();
-              worker.terminate();
-
-              if (_this11.destroyed) {
-                _this11._readyCapability.reject(new Error('Worker was destroyed'));
-              } else {
-                _this11._setupFakeWorker();
-              }
-            };
-
-            var onWorkerError = function onWorkerError() {
-              if (!_this11._webWorker) {
-                terminateEarly();
-              }
-            };
+    return new _display_utils.PageViewport({
+      viewBox: this.view,
+      scale,
+      rotation,
+      offsetX,
+      offsetY,
+      dontFlip
+    });
+  }
 
-            worker.addEventListener('error', onWorkerError);
-            messageHandler.on('test', function (data) {
-              worker.removeEventListener('error', onWorkerError);
+  getAnnotations({
+    intent = null
+  } = {}) {
+    if (!this.annotationsPromise || this.annotationsIntent !== intent) {
+      this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
+      this.annotationsIntent = intent;
+    }
 
-              if (_this11.destroyed) {
-                terminateEarly();
-                return;
-              }
+    return this.annotationsPromise;
+  }
 
-              if (data) {
-                _this11._messageHandler = messageHandler;
-                _this11._port = worker;
-                _this11._webWorker = worker;
+  render({
+    canvasContext,
+    viewport,
+    intent = "display",
+    enableWebGL = false,
+    renderInteractiveForms = false,
+    transform = null,
+    imageLayer = null,
+    canvasFactory = null,
+    background = null
+  }) {
+    if (this._stats) {
+      this._stats.time("Overall");
+    }
 
-                if (!data.supportTransfers) {
-                  _this11.postMessageTransfers = false;
-                }
+    const renderingIntent = intent === "print" ? "print" : "display";
+    this.pendingCleanup = false;
 
-                _this11._readyCapability.resolve();
+    if (!this.intentStates[renderingIntent]) {
+      this.intentStates[renderingIntent] = Object.create(null);
+    }
 
-                messageHandler.send('configure', {
-                  verbosity: _this11.verbosity
-                });
-              } else {
-                _this11._setupFakeWorker();
+    const intentState = this.intentStates[renderingIntent];
 
-                messageHandler.destroy();
-                worker.terminate();
-              }
-            });
-            messageHandler.on('ready', function (data) {
-              worker.removeEventListener('error', onWorkerError);
+    if (intentState.streamReaderCancelTimeout) {
+      clearTimeout(intentState.streamReaderCancelTimeout);
+      intentState.streamReaderCancelTimeout = null;
+    }
 
-              if (_this11.destroyed) {
-                terminateEarly();
-                return;
-              }
+    const canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
+    const webGLContext = new _webgl.WebGLContext({
+      enable: enableWebGL
+    });
 
-              try {
-                sendTest();
-              } catch (e) {
-                _this11._setupFakeWorker();
-              }
-            });
+    if (!intentState.displayReadyCapability) {
+      intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
+      intentState.operatorList = {
+        fnArray: [],
+        argsArray: [],
+        lastChunk: false
+      };
 
-            var sendTest = function sendTest() {
-              var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);
+      if (this._stats) {
+        this._stats.time("Page Request");
+      }
 
-              try {
-                messageHandler.send('test', testObj, [testObj.buffer]);
-              } catch (ex) {
-                (0, _util.warn)('Cannot use postMessage transfers.');
-                testObj[0] = 0;
-                messageHandler.send('test', testObj);
-              }
-            };
+      this._pumpOperatorList({
+        pageIndex: this._pageIndex,
+        intent: renderingIntent,
+        renderInteractiveForms: renderInteractiveForms === true
+      });
+    }
 
-            sendTest();
-            return;
-          } catch (e) {
-            (0, _util.info)('The worker has been disabled.');
-          }
-        }
+    const complete = error => {
+      const i = intentState.renderTasks.indexOf(internalRenderTask);
 
-        this._setupFakeWorker();
+      if (i >= 0) {
+        intentState.renderTasks.splice(i, 1);
       }
-    }, {
-      key: "_setupFakeWorker",
-      value: function _setupFakeWorker() {
-        var _this12 = this;
 
-        if (!isWorkerDisabled) {
-          (0, _util.warn)('Setting up fake worker.');
-          isWorkerDisabled = true;
-        }
+      if (this.cleanupAfterRender || renderingIntent === "print") {
+        this.pendingCleanup = true;
+      }
 
-        setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
-          if (_this12.destroyed) {
-            _this12._readyCapability.reject(new Error('Worker was destroyed'));
+      this._tryCleanup();
 
-            return;
-          }
+      if (error) {
+        internalRenderTask.capability.reject(error);
 
-          var port = new LoopbackPort();
-          _this12._port = port;
-          var id = 'fake' + nextFakeWorkerId++;
-          var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);
-          WorkerMessageHandler.setup(workerHandler, port);
-          var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);
-          _this12._messageHandler = messageHandler;
-
-          _this12._readyCapability.resolve();
-        })["catch"](function (reason) {
-          _this12._readyCapability.reject(new Error("Setting up fake worker failed: 
\"".concat(reason.message, "\".")));
+        this._abortOperatorList({
+          intentState,
+          reason: error
         });
+      } else {
+        internalRenderTask.capability.resolve();
       }
-    }, {
-      key: "destroy",
-      value: function destroy() {
-        this.destroyed = true;
 
-        if (this._webWorker) {
-          this._webWorker.terminate();
+      if (this._stats) {
+        this._stats.timeEnd("Rendering");
 
-          this._webWorker = null;
-        }
+        this._stats.timeEnd("Overall");
+      }
+    };
 
-        pdfWorkerPorts["delete"](this._port);
-        this._port = null;
+    const internalRenderTask = new InternalRenderTask({
+      callback: complete,
+      params: {
+        canvasContext,
+        viewport,
+        transform,
+        imageLayer,
+        background
+      },
+      objs: this.objs,
+      commonObjs: this.commonObjs,
+      operatorList: intentState.operatorList,
+      pageIndex: this._pageIndex,
+      canvasFactory: canvasFactoryInstance,
+      webGLContext,
+      useRequestAnimationFrame: renderingIntent !== "print",
+      pdfBug: this._pdfBug
+    });
 
-        if (this._messageHandler) {
-          this._messageHandler.destroy();
+    if (!intentState.renderTasks) {
+      intentState.renderTasks = [];
+    }
 
-          this._messageHandler = null;
-        }
-      }
-    }, {
-      key: "promise",
-      get: function get() {
-        return this._readyCapability.promise;
+    intentState.renderTasks.push(internalRenderTask);
+    const renderTask = internalRenderTask.task;
+    intentState.displayReadyCapability.promise.then(transparency => {
+      if (this.pendingCleanup) {
+        complete();
+        return;
       }
-    }, {
-      key: "port",
-      get: function get() {
-        return this._port;
+
+      if (this._stats) {
+        this._stats.time("Rendering");
       }
-    }, {
-      key: "messageHandler",
-      get: function get() {
-        return this._messageHandler;
-      }
-    }], [{
-      key: "fromPort",
-      value: function fromPort(params) {
-        if (!params || !params.port) {
-          throw new Error('PDFWorker.fromPort - invalid method signature.');
-        }
 
-        if (pdfWorkerPorts.has(params.port)) {
-          return pdfWorkerPorts.get(params.port);
-        }
+      internalRenderTask.initializeGraphics(transparency);
+      internalRenderTask.operatorListChanged();
+    }).catch(complete);
+    return renderTask;
+  }
 
-        return new PDFWorker(params);
+  getOperatorList() {
+    function operatorListChanged() {
+      if (intentState.operatorList.lastChunk) {
+        intentState.opListReadCapability.resolve(intentState.operatorList);
+        const i = intentState.renderTasks.indexOf(opListTask);
+
+        if (i >= 0) {
+          intentState.renderTasks.splice(i, 1);
+        }
       }
-    }, {
-      key: "getWorkerSrc",
-      value: function getWorkerSrc() {
-        return _getWorkerSrc();
+    }
+
+    const renderingIntent = "oplist";
+
+    if (!this.intentStates[renderingIntent]) {
+      this.intentStates[renderingIntent] = Object.create(null);
+    }
+
+    const intentState = this.intentStates[renderingIntent];
+    let opListTask;
+
+    if (!intentState.opListReadCapability) {
+      opListTask = {};
+      opListTask.operatorListChanged = operatorListChanged;
+      intentState.opListReadCapability = (0, _util.createPromiseCapability)();
+      intentState.renderTasks = [];
+      intentState.renderTasks.push(opListTask);
+      intentState.operatorList = {
+        fnArray: [],
+        argsArray: [],
+        lastChunk: false
+      };
+
+      if (this._stats) {
+        this._stats.time("Page Request");
       }
-    }]);
 
-    return PDFWorker;
-  }();
+      this._pumpOperatorList({
+        pageIndex: this._pageIndex,
+        intent: renderingIntent
+      });
+    }
 
-  return PDFWorker;
-}();
+    return intentState.opListReadCapability.promise;
+  }
 
-exports.PDFWorker = PDFWorker;
+  streamTextContent({
+    normalizeWhitespace = false,
+    disableCombineTextItems = false
+  } = {}) {
+    const TEXT_CONTENT_CHUNK_SIZE = 100;
+    return this._transport.messageHandler.sendWithStream("GetTextContent", {
+      pageIndex: this._pageIndex,
+      normalizeWhitespace: normalizeWhitespace === true,
+      combineTextItems: disableCombineTextItems !== true
+    }, {
+      highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
 
-var WorkerTransport =
-/*#__PURE__*/
-function () {
-  function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
-    _classCallCheck(this, WorkerTransport);
+      size(textContent) {
+        return textContent.items.length;
+      }
 
-    this.messageHandler = messageHandler;
-    this.loadingTask = loadingTask;
-    this.commonObjs = new PDFObjects();
-    this.fontLoader = new _font_loader.FontLoader({
-      docId: loadingTask.docId,
-      onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
     });
-    this._params = params;
-    this.CMapReaderFactory = new params.CMapReaderFactory({
-      baseUrl: params.cMapUrl,
-      isCompressed: params.cMapPacked
-    });
-    this.destroyed = false;
-    this.destroyCapability = null;
-    this._passwordCapability = null;
-    this._networkStream = networkStream;
-    this._fullReader = null;
-    this._lastProgress = null;
-    this.pageCache = [];
-    this.pagePromises = [];
-    this.downloadInfoCapability = (0, _util.createPromiseCapability)();
-    this.setupMessageHandler();
   }
 
-  _createClass(WorkerTransport, [{
-    key: "destroy",
-    value: function destroy() {
-      var _this13 = this;
+  getTextContent(params = {}) {
+    const readableStream = this.streamTextContent(params);
+    return new Promise(function (resolve, reject) {
+      function pump() {
+        reader.read().then(function ({
+          value,
+          done
+        }) {
+          if (done) {
+            resolve(textContent);
+            return;
+          }
 
-      if (this.destroyCapability) {
-        return this.destroyCapability.promise;
+          Object.assign(textContent.styles, value.styles);
+          textContent.items.push(...value.items);
+          pump();
+        }, reject);
       }
 
-      this.destroyed = true;
-      this.destroyCapability = (0, _util.createPromiseCapability)();
+      const reader = readableStream.getReader();
+      const textContent = {
+        items: [],
+        styles: Object.create(null)
+      };
+      pump();
+    });
+  }
 
-      if (this._passwordCapability) {
-        this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));
-      }
+  _destroy() {
+    this.destroyed = true;
+    this._transport.pageCache[this._pageIndex] = null;
+    const waitOn = [];
+    Object.keys(this.intentStates).forEach(intent => {
+      const intentState = this.intentStates[intent];
 
-      var waitOn = [];
-      this.pageCache.forEach(function (page) {
-        if (page) {
-          waitOn.push(page._destroy());
-        }
+      this._abortOperatorList({
+        intentState,
+        reason: new Error("Page was destroyed."),
+        force: true
       });
-      this.pageCache.length = 0;
-      this.pagePromises.length = 0;
-      var terminated = this.messageHandler.sendWithPromise('Terminate', null);
-      waitOn.push(terminated);
-      Promise.all(waitOn).then(function () {
-        _this13.fontLoader.clear();
-
-        if (_this13._networkStream) {
-          _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));
-        }
-
-        if (_this13.messageHandler) {
-          _this13.messageHandler.destroy();
 
-          _this13.messageHandler = null;
-        }
+      if (intent === "oplist") {
+        return;
+      }
 
-        _this13.destroyCapability.resolve();
-      }, this.destroyCapability.reject);
-      return this.destroyCapability.promise;
-    }
-  }, {
-    key: "setupMessageHandler",
-    value: function setupMessageHandler() {
-      var _this14 = this;
-
-      var messageHandler = this.messageHandler,
-          loadingTask = this.loadingTask;
-      messageHandler.on('GetReader', function (data, sink) {
-        (0, _util.assert)(_this14._networkStream);
-        _this14._fullReader = _this14._networkStream.getFullReader();
-
-        _this14._fullReader.onProgress = function (evt) {
-          _this14._lastProgress = {
-            loaded: evt.loaded,
-            total: evt.total
-          };
-        };
+      intentState.renderTasks.forEach(function (renderTask) {
+        const renderCompleted = renderTask.capability.promise.catch(function () {});
+        waitOn.push(renderCompleted);
+        renderTask.cancel();
+      });
+    });
+    this.objs.clear();
+    this.annotationsPromise = null;
+    this.pendingCleanup = false;
+    return Promise.all(waitOn);
+  }
 
-        sink.onPull = function () {
-          _this14._fullReader.read().then(function (_ref9) {
-            var value = _ref9.value,
-                done = _ref9.done;
+  cleanup(resetStats = false) {
+    this.pendingCleanup = true;
+    return this._tryCleanup(resetStats);
+  }
 
-            if (done) {
-              sink.close();
-              return;
-            }
+  _tryCleanup(resetStats = false) {
+    if (!this.pendingCleanup || Object.keys(this.intentStates).some(intent => {
+      const intentState = this.intentStates[intent];
+      return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
+    })) {
+      return false;
+    }
 
-            (0, _util.assert)((0, _util.isArrayBuffer)(value));
-            sink.enqueue(new Uint8Array(value), 1, [value]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
+    Object.keys(this.intentStates).forEach(intent => {
+      delete this.intentStates[intent];
+    });
+    this.objs.clear();
+    this.annotationsPromise = null;
 
-        sink.onCancel = function (reason) {
-          _this14._fullReader.cancel(reason);
-        };
-      });
-      messageHandler.on('ReaderHeadersReady', function (data) {
-        var headersCapability = (0, _util.createPromiseCapability)();
-        var fullReader = _this14._fullReader;
-        fullReader.headersReady.then(function () {
-          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
-            if (_this14._lastProgress && loadingTask.onProgress) {
-              loadingTask.onProgress(_this14._lastProgress);
-            }
+    if (resetStats && this._stats) {
+      this._stats = new _display_utils.StatTimer();
+    }
 
-            fullReader.onProgress = function (evt) {
-              if (loadingTask.onProgress) {
-                loadingTask.onProgress({
-                  loaded: evt.loaded,
-                  total: evt.total
-                });
-              }
-            };
-          }
+    this.pendingCleanup = false;
+    return true;
+  }
 
-          headersCapability.resolve({
-            isStreamingSupported: fullReader.isStreamingSupported,
-            isRangeSupported: fullReader.isRangeSupported,
-            contentLength: fullReader.contentLength
-          });
-        }, headersCapability.reject);
-        return headersCapability.promise;
-      });
-      messageHandler.on('GetRangeReader', function (data, sink) {
-        (0, _util.assert)(_this14._networkStream);
+  _startRenderPage(transparency, intent) {
+    const intentState = this.intentStates[intent];
 
-        var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);
+    if (!intentState) {
+      return;
+    }
 
-        if (!rangeReader) {
-          sink.close();
-          return;
-        }
+    if (this._stats) {
+      this._stats.timeEnd("Page Request");
+    }
 
-        sink.onPull = function () {
-          rangeReader.read().then(function (_ref10) {
-            var value = _ref10.value,
-                done = _ref10.done;
+    if (intentState.displayReadyCapability) {
+      intentState.displayReadyCapability.resolve(transparency);
+    }
+  }
 
-            if (done) {
-              sink.close();
-              return;
-            }
+  _renderPageChunk(operatorListChunk, intentState) {
+    for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {
+      intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
+      intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
+    }
 
-            (0, _util.assert)((0, _util.isArrayBuffer)(value));
-            sink.enqueue(new Uint8Array(value), 1, [value]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
+    intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
 
-        sink.onCancel = function (reason) {
-          rangeReader.cancel(reason);
-        };
-      });
-      messageHandler.on('GetDoc', function (_ref11) {
-        var pdfInfo = _ref11.pdfInfo;
-        _this14._numPages = pdfInfo.numPages;
+    for (let i = 0; i < intentState.renderTasks.length; i++) {
+      intentState.renderTasks[i].operatorListChanged();
+    }
 
-        loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));
-      });
-      messageHandler.on('PasswordRequest', function (exception) {
-        _this14._passwordCapability = (0, _util.createPromiseCapability)();
+    if (operatorListChunk.lastChunk) {
+      this._tryCleanup();
+    }
+  }
 
-        if (loadingTask.onPassword) {
-          var updatePassword = function updatePassword(password) {
-            _this14._passwordCapability.resolve({
-              password: password
-            });
-          };
+  _pumpOperatorList(args) {
+    (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
 
-          try {
-            loadingTask.onPassword(updatePassword, exception.code);
-          } catch (ex) {
-            _this14._passwordCapability.reject(ex);
-          }
-        } else {
-          _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
-        }
+    const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);
 
-        return _this14._passwordCapability.promise;
-      });
-      messageHandler.on('PasswordException', function (exception) {
-        loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));
-      });
-      messageHandler.on('InvalidPDF', function (exception) {
-        loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));
-      });
-      messageHandler.on('MissingPDF', function (exception) {
-        loadingTask._capability.reject(new _util.MissingPDFException(exception.message));
-      });
-      messageHandler.on('UnexpectedResponse', function (exception) {
-        loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, 
exception.status));
-      });
-      messageHandler.on('UnknownError', function (exception) {
-        loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, 
exception.details));
-      });
-      messageHandler.on('DataLoaded', function (data) {
-        if (loadingTask.onProgress) {
-          loadingTask.onProgress({
-            loaded: data.length,
-            total: data.length
-          });
-        }
+    const reader = readableStream.getReader();
+    const intentState = this.intentStates[args.intent];
+    intentState.streamReader = reader;
 
-        _this14.downloadInfoCapability.resolve(data);
-      });
-      messageHandler.on('StartRenderPage', function (data) {
-        if (_this14.destroyed) {
+    const pump = () => {
+      reader.read().then(({
+        value,
+        done
+      }) => {
+        if (done) {
+          intentState.streamReader = null;
           return;
         }
 
-        var page = _this14.pageCache[data.pageIndex];
-
-        page._startRenderPage(data.transparency, data.intent);
-      });
-      messageHandler.on('commonobj', function (data) {
-        if (_this14.destroyed) {
+        if (this._transport.destroyed) {
           return;
         }
 
-        var _data = _slicedToArray(data, 3),
-            id = _data[0],
-            type = _data[1],
-            exportedData = _data[2];
+        this._renderPageChunk(value, intentState);
 
-        if (_this14.commonObjs.has(id)) {
+        pump();
+      }, reason => {
+        intentState.streamReader = null;
+
+        if (this._transport.destroyed) {
           return;
         }
 
-        switch (type) {
-          case 'Font':
-            var params = _this14._params;
+        if (intentState.operatorList) {
+          intentState.operatorList.lastChunk = true;
 
-            if ('error' in exportedData) {
-              var exportedError = exportedData.error;
-              (0, _util.warn)("Error during font loading: ".concat(exportedError));
+          for (let i = 0; i < intentState.renderTasks.length; i++) {
+            intentState.renderTasks[i].operatorListChanged();
+          }
 
-              _this14.commonObjs.resolve(id, exportedError);
+          this._tryCleanup();
+        }
 
-              break;
-            }
+        if (intentState.displayReadyCapability) {
+          intentState.displayReadyCapability.reject(reason);
+        } else if (intentState.opListReadCapability) {
+          intentState.opListReadCapability.reject(reason);
+        } else {
+          throw reason;
+        }
+      });
+    };
 
-            var fontRegistry = null;
+    pump();
+  }
 
-            if (params.pdfBug && _global_scope["default"].FontInspector && 
_global_scope["default"].FontInspector.enabled) {
-              fontRegistry = {
-                registerFont: function registerFont(font, url) {
-                  _global_scope["default"]['FontInspector'].fontAdded(font, url);
-                }
-              };
-            }
+  _abortOperatorList({
+    intentState,
+    reason,
+    force = false
+  }) {
+    (0, _util.assert)(reason instanceof Error || typeof reason === "object" && reason !== null, 
'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
 
-            var font = new _font_loader.FontFaceObject(exportedData, {
-              isEvalSupported: params.isEvalSupported,
-              disableFontFace: params.disableFontFace,
-              ignoreErrors: params.ignoreErrors,
-              onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),
-              fontRegistry: fontRegistry
-            });
+    if (!intentState.streamReader) {
+      return;
+    }
 
-            _this14.fontLoader.bind(font).then(function () {
-              _this14.commonObjs.resolve(id, font);
-            }, function (reason) {
-              messageHandler.sendWithPromise('FontFallback', {
-                id: id
-              })["finally"](function () {
-                _this14.commonObjs.resolve(id, font);
-              });
-            });
+    if (!force) {
+      if (intentState.renderTasks.length !== 0) {
+        return;
+      }
 
-            break;
+      if (reason instanceof _display_utils.RenderingCancelledException) {
+        intentState.streamReaderCancelTimeout = setTimeout(() => {
+          this._abortOperatorList({
+            intentState,
+            reason,
+            force: true
+          });
 
-          case 'FontPath':
-          case 'FontType3Res':
-            _this14.commonObjs.resolve(id, exportedData);
+          intentState.streamReaderCancelTimeout = null;
+        }, RENDERING_CANCELLED_TIMEOUT);
+        return;
+      }
+    }
 
-            break;
+    intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
+    intentState.streamReader = null;
 
-          default:
-            throw new Error("Got unknown common object type ".concat(type));
-        }
-      });
-      messageHandler.on('obj', function (data) {
-        if (_this14.destroyed) {
-          return undefined;
-        }
+    if (this._transport.destroyed) {
+      return;
+    }
 
-        var _data2 = _slicedToArray(data, 4),
-            id = _data2[0],
-            pageIndex = _data2[1],
-            type = _data2[2],
-            imageData = _data2[3];
+    Object.keys(this.intentStates).some(intent => {
+      if (this.intentStates[intent] === intentState) {
+        delete this.intentStates[intent];
+        return true;
+      }
 
-        var pageProxy = _this14.pageCache[pageIndex];
+      return false;
+    });
+    this.cleanup();
+  }
 
-        if (pageProxy.objs.has(id)) {
-          return undefined;
-        }
+  get stats() {
+    return this._stats;
+  }
 
-        switch (type) {
-          case 'JpegStream':
-            return new Promise(function (resolve, reject) {
-              var img = new Image();
+}
 
-              img.onload = function () {
-                resolve(img);
-              };
+exports.PDFPageProxy = PDFPageProxy;
 
-              img.onerror = function () {
-                reject(new Error('Error during JPEG image loading'));
-                (0, _display_utils.releaseImageResources)(img);
-              };
+class LoopbackPort {
+  constructor(defer = true) {
+    this._listeners = [];
+    this._defer = defer;
+    this._deferred = Promise.resolve(undefined);
+  }
 
-              img.src = imageData;
-            }).then(function (img) {
-              pageProxy.objs.resolve(id, img);
-            });
+  postMessage(obj, transfers) {
+    function cloneValue(value) {
+      if (typeof value !== "object" || value === null) {
+        return value;
+      }
 
-          case 'Image':
-            pageProxy.objs.resolve(id, imageData);
-            var MAX_IMAGE_SIZE_TO_STORE = 8000000;
+      if (cloned.has(value)) {
+        return cloned.get(value);
+      }
 
-            if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
-              pageProxy.cleanupAfterRender = true;
-            }
+      let buffer, result;
 
-            break;
+      if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
+        const transferable = transfers && transfers.includes(buffer);
 
-          default:
-            throw new Error("Got unknown object type ".concat(type));
+        if (transferable) {
+          result = new value.constructor(buffer, value.byteOffset, value.byteLength);
+        } else {
+          result = new value.constructor(value);
         }
 
-        return undefined;
-      });
-      messageHandler.on('DocProgress', function (data) {
-        if (_this14.destroyed) {
-          return;
-        }
+        cloned.set(value, result);
+        return result;
+      }
 
-        if (loadingTask.onProgress) {
-          loadingTask.onProgress({
-            loaded: data.loaded,
-            total: data.total
-          });
-        }
-      });
-      messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));
-      messageHandler.on('JpegDecode', function (data) {
-        if (_this14.destroyed) {
-          return Promise.reject(new Error('Worker was destroyed'));
+      result = Array.isArray(value) ? [] : {};
+      cloned.set(value, result);
+
+      for (const i in value) {
+        let desc,
+            p = value;
+
+        while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
+          p = Object.getPrototypeOf(p);
         }
 
-        if (typeof document === 'undefined') {
-          return Promise.reject(new Error('"document" is not defined.'));
+        if (typeof desc.value === "undefined") {
+          continue;
         }
 
-        var _data3 = _slicedToArray(data, 2),
-            imageUrl = _data3[0],
-            components = _data3[1];
+        if (typeof desc.value === "function") {
+          if (value.hasOwnProperty && value.hasOwnProperty(i)) {
+            throw new Error(`LoopbackPort.postMessage - cannot clone: ${value[i]}`);
+          }
 
-        if (components !== 3 && components !== 1) {
-          return Promise.reject(new Error('Only 3 components or 1 component can be returned'));
+          continue;
         }
 
-        return new Promise(function (resolve, reject) {
-          var img = new Image();
-
-          img.onload = function () {
-            var width = img.width,
-                height = img.height;
-            var size = width * height;
-            var rgbaLength = size * 4;
-            var buf = new Uint8ClampedArray(size * components);
-            var tmpCanvas = document.createElement('canvas');
-            tmpCanvas.width = width;
-            tmpCanvas.height = height;
-            var tmpCtx = tmpCanvas.getContext('2d');
-            tmpCtx.drawImage(img, 0, 0);
-            var data = tmpCtx.getImageData(0, 0, width, height).data;
-
-            if (components === 3) {
-              for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
-                buf[j] = data[i];
-                buf[j + 1] = data[i + 1];
-                buf[j + 2] = data[i + 2];
-              }
-            } else if (components === 1) {
-              for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {
-                buf[_j] = data[_i2];
-              }
-            }
-
-            resolve({
-              data: buf,
-              width: width,
-              height: height
-            });
-            (0, _display_utils.releaseImageResources)(img);
-            tmpCanvas.width = 0;
-            tmpCanvas.height = 0;
-            tmpCanvas = null;
-            tmpCtx = null;
-          };
+        result[i] = cloneValue(desc.value);
+      }
 
-          img.onerror = function () {
-            reject(new Error('JpegDecode failed to load image'));
-            (0, _display_utils.releaseImageResources)(img);
-          };
+      return result;
+    }
 
-          img.src = imageUrl;
+    if (!this._defer) {
+      this._listeners.forEach(listener => {
+        listener.call(this, {
+          data: obj
         });
       });
-      messageHandler.on('FetchBuiltInCMap', function (data, sink) {
-        if (_this14.destroyed) {
-          sink.error(new Error('Worker was destroyed'));
-          return;
-        }
 
-        var fetched = false;
+      return;
+    }
+
+    const cloned = new WeakMap();
+    const e = {
+      data: cloneValue(obj)
+    };
 
-        sink.onPull = function () {
-          if (fetched) {
-            sink.close();
-            return;
-          }
+    this._deferred.then(() => {
+      this._listeners.forEach(listener => {
+        listener.call(this, e);
+      });
+    });
+  }
 
-          fetched = true;
+  addEventListener(name, listener) {
+    this._listeners.push(listener);
+  }
 
-          _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
-            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
-      });
-    }
-  }, {
-    key: "_onUnsupportedFeature",
-    value: function _onUnsupportedFeature(_ref12) {
-      var featureId = _ref12.featureId;
+  removeEventListener(name, listener) {
+    const i = this._listeners.indexOf(listener);
 
-      if (this.destroyed) {
-        return;
-      }
+    this._listeners.splice(i, 1);
+  }
 
-      if (this.loadingTask.onUnsupportedFeature) {
-        this.loadingTask.onUnsupportedFeature(featureId);
-      }
-    }
-  }, {
-    key: "getData",
-    value: function getData() {
-      return this.messageHandler.sendWithPromise('GetData', null);
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageNumber) {
-      var _this15 = this;
+  terminate() {
+    this._listeners.length = 0;
+  }
 
-      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
-        return Promise.reject(new Error('Invalid page request'));
-      }
+}
 
-      var pageIndex = pageNumber - 1;
+exports.LoopbackPort = LoopbackPort;
 
-      if (pageIndex in this.pagePromises) {
-        return this.pagePromises[pageIndex];
-      }
+const PDFWorker = function PDFWorkerClosure() {
+  const pdfWorkerPorts = new WeakMap();
+  let isWorkerDisabled = false;
+  let fallbackWorkerSrc;
+  let nextFakeWorkerId = 0;
+  let fakeWorkerCapability;
 
-      var promise = this.messageHandler.sendWithPromise('GetPage', {
-        pageIndex: pageIndex
-      }).then(function (pageInfo) {
-        if (_this15.destroyed) {
-          throw new Error('Transport destroyed');
-        }
+  if (_is_node.isNodeJS && typeof require === "function") {
+    isWorkerDisabled = true;
+    fallbackWorkerSrc = "./pdf.worker.js";
+  } else if (typeof document === "object" && "currentScript" in document) {
+    const pdfjsFilePath = document.currentScript && document.currentScript.src;
 
-        var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);
-        _this15.pageCache[pageIndex] = page;
-        return page;
-      });
-      this.pagePromises[pageIndex] = promise;
-      return promise;
-    }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(ref) {
-      return this.messageHandler.sendWithPromise('GetPageIndex', {
-        ref: ref
-      })["catch"](function (reason) {
-        return Promise.reject(new Error(reason));
-      });
-    }
-  }, {
-    key: "getAnnotations",
-    value: function getAnnotations(pageIndex, intent) {
-      return this.messageHandler.sendWithPromise('GetAnnotations', {
-        pageIndex: pageIndex,
-        intent: intent
-      });
+    if (pdfjsFilePath) {
+      fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
     }
-  }, {
-    key: "getDestinations",
-    value: function getDestinations() {
-      return this.messageHandler.sendWithPromise('GetDestinations', null);
+  }
+
+  function getWorkerSrc() {
+    if (_worker_options.GlobalWorkerOptions.workerSrc) {
+      return _worker_options.GlobalWorkerOptions.workerSrc;
     }
-  }, {
-    key: "getDestination",
-    value: function getDestination(id) {
-      if (typeof id !== 'string') {
-        return Promise.reject(new Error('Invalid destination request.'));
+
+    if (typeof fallbackWorkerSrc !== "undefined") {
+      if (!_is_node.isNodeJS) {
+        (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
       }
 
-      return this.messageHandler.sendWithPromise('GetDestination', {
-        id: id
-      });
-    }
-  }, {
-    key: "getPageLabels",
-    value: function getPageLabels() {
-      return this.messageHandler.sendWithPromise('GetPageLabels', null);
-    }
-  }, {
-    key: "getPageLayout",
-    value: function getPageLayout() {
-      return this.messageHandler.sendWithPromise('GetPageLayout', null);
-    }
-  }, {
-    key: "getPageMode",
-    value: function getPageMode() {
-      return this.messageHandler.sendWithPromise('GetPageMode', null);
-    }
-  }, {
-    key: "getViewerPreferences",
-    value: function getViewerPreferences() {
-      return this.messageHandler.sendWithPromise('GetViewerPreferences', null);
-    }
-  }, {
-    key: "getOpenActionDestination",
-    value: function getOpenActionDestination() {
-      return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);
-    }
-  }, {
-    key: "getAttachments",
-    value: function getAttachments() {
-      return this.messageHandler.sendWithPromise('GetAttachments', null);
-    }
-  }, {
-    key: "getJavaScript",
-    value: function getJavaScript() {
-      return this.messageHandler.sendWithPromise('GetJavaScript', null);
-    }
-  }, {
-    key: "getOutline",
-    value: function getOutline() {
-      return this.messageHandler.sendWithPromise('GetOutline', null);
-    }
-  }, {
-    key: "getPermissions",
-    value: function getPermissions() {
-      return this.messageHandler.sendWithPromise('GetPermissions', null);
-    }
-  }, {
-    key: "getMetadata",
-    value: function getMetadata() {
-      var _this16 = this;
-
-      return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {
-        return {
-          info: results[0],
-          metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
-          contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
-        };
-      });
-    }
-  }, {
-    key: "getStats",
-    value: function getStats() {
-      return this.messageHandler.sendWithPromise('GetStats', null);
+      return fallbackWorkerSrc;
     }
-  }, {
-    key: "startCleanup",
-    value: function startCleanup() {
-      var _this17 = this;
 
-      this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
-        for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {
-          var page = _this17.pageCache[i];
+    throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
+  }
 
-          if (page) {
-            page.cleanup();
-          }
-        }
+  function getMainThreadWorkerMessageHandler() {
+    let mainWorkerMessageHandler;
 
-        _this17.commonObjs.clear();
+    try {
+      mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;
+    } catch (ex) {}
 
-        _this17.fontLoader.clear();
-      });
-    }
-  }, {
-    key: "loadingParams",
-    get: function get() {
-      var params = this._params;
-      return (0, _util.shadow)(this, 'loadingParams', {
-        disableAutoFetch: params.disableAutoFetch,
-        disableCreateObjectURL: params.disableCreateObjectURL,
-        disableFontFace: params.disableFontFace,
-        nativeImageDecoderSupport: params.nativeImageDecoderSupport
-      });
+    return mainWorkerMessageHandler || null;
+  }
+
+  function setupFakeWorkerGlobal() {
+    if (fakeWorkerCapability) {
+      return fakeWorkerCapability.promise;
     }
-  }]);
 
-  return WorkerTransport;
-}();
+    fakeWorkerCapability = (0, _util.createPromiseCapability)();
 
-var PDFObjects =
-/*#__PURE__*/
-function () {
-  function PDFObjects() {
-    _classCallCheck(this, PDFObjects);
+    const loader = async function () {
+      const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
 
-    this._objs = Object.create(null);
-  }
+      if (mainWorkerMessageHandler) {
+        return mainWorkerMessageHandler;
+      }
 
-  _createClass(PDFObjects, [{
-    key: "_ensureObj",
-    value: function _ensureObj(objId) {
-      if (this._objs[objId]) {
-        return this._objs[objId];
+      if (_is_node.isNodeJS && typeof require === "function") {
+        const worker = eval("require")(getWorkerSrc());
+        return worker.WorkerMessageHandler;
       }
 
-      return this._objs[objId] = {
-        capability: (0, _util.createPromiseCapability)(),
-        data: null,
-        resolved: false
-      };
-    }
-  }, {
-    key: "get",
-    value: function get(objId) {
-      var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
+      await (0, _display_utils.loadScript)(getWorkerSrc());
+      return window.pdfjsWorker.WorkerMessageHandler;
+    };
+
+    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
+    return fakeWorkerCapability.promise;
+  }
 
-      if (callback) {
-        this._ensureObj(objId).capability.promise.then(callback);
+  function createCDNWrapper(url) {
+    const wrapper = "importScripts('" + url + "');";
+    return URL.createObjectURL(new Blob([wrapper]));
+  }
 
-        return null;
+  class PDFWorker {
+    constructor({
+      name = null,
+      port = null,
+      verbosity = (0, _util.getVerbosityLevel)()
+    } = {}) {
+      if (port && pdfWorkerPorts.has(port)) {
+        throw new Error("Cannot use more than one PDFWorker per port");
       }
 
-      var obj = this._objs[objId];
+      this.name = name;
+      this.destroyed = false;
+      this.postMessageTransfers = true;
+      this.verbosity = verbosity;
+      this._readyCapability = (0, _util.createPromiseCapability)();
+      this._port = null;
+      this._webWorker = null;
+      this._messageHandler = null;
+
+      if (port) {
+        pdfWorkerPorts.set(port, this);
+
+        this._initializeFromPort(port);
 
-      if (!obj || !obj.resolved) {
-        throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
+        return;
       }
 
-      return obj.data;
+      this._initialize();
     }
-  }, {
-    key: "has",
-    value: function has(objId) {
-      var obj = this._objs[objId];
-      return obj ? obj.resolved : false;
+
+    get promise() {
+      return this._readyCapability.promise;
     }
-  }, {
-    key: "resolve",
-    value: function resolve(objId, data) {
-      var obj = this._ensureObj(objId);
 
-      obj.resolved = true;
-      obj.data = data;
-      obj.capability.resolve(data);
+    get port() {
+      return this._port;
     }
-  }, {
-    key: "clear",
-    value: function clear() {
-      for (var objId in this._objs) {
-        var data = this._objs[objId].data;
 
-        if (typeof Image !== 'undefined' && data instanceof Image) {
-          (0, _display_utils.releaseImageResources)(data);
-        }
-      }
+    get messageHandler() {
+      return this._messageHandler;
+    }
+
+    _initializeFromPort(port) {
+      this._port = port;
+      this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
+
+      this._messageHandler.on("ready", function () {});
 
-      this._objs = Object.create(null);
+      this._readyCapability.resolve();
     }
-  }]);
 
-  return PDFObjects;
-}();
+    _initialize() {
+      if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
+        let workerSrc = getWorkerSrc();
+
+        try {
+          if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
+            workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
+          }
 
-var RenderTask =
-/*#__PURE__*/
-function () {
-  function RenderTask(internalRenderTask) {
-    _classCallCheck(this, RenderTask);
+          const worker = new Worker(workerSrc);
+          const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
 
-    this._internalRenderTask = internalRenderTask;
-    this.onContinue = null;
-  }
+          const terminateEarly = () => {
+            worker.removeEventListener("error", onWorkerError);
+            messageHandler.destroy();
+            worker.terminate();
 
-  _createClass(RenderTask, [{
-    key: "cancel",
-    value: function cancel() {
-      this._internalRenderTask.cancel();
-    }
-  }, {
-    key: "then",
-    value: function then(onFulfilled, onRejected) {
-      (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');
-      return this.promise.then.apply(this.promise, arguments);
-    }
-  }, {
-    key: "promise",
-    get: function get() {
-      return this._internalRenderTask.capability.promise;
-    }
-  }]);
+            if (this.destroyed) {
+              this._readyCapability.reject(new Error("Worker was destroyed"));
+            } else {
+              this._setupFakeWorker();
+            }
+          };
 
-  return RenderTask;
-}();
+          const onWorkerError = () => {
+            if (!this._webWorker) {
+              terminateEarly();
+            }
+          };
 
-var InternalRenderTask = function InternalRenderTaskClosure() {
-  var canvasInRendering = new WeakSet();
-
-  var InternalRenderTask =
-  /*#__PURE__*/
-  function () {
-    function InternalRenderTask(_ref13) {
-      var callback = _ref13.callback,
-          params = _ref13.params,
-          objs = _ref13.objs,
-          commonObjs = _ref13.commonObjs,
-          operatorList = _ref13.operatorList,
-          pageNumber = _ref13.pageNumber,
-          canvasFactory = _ref13.canvasFactory,
-          webGLContext = _ref13.webGLContext,
-          _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,
-          useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,
-          _ref13$pdfBug = _ref13.pdfBug,
-          pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;
-
-      _classCallCheck(this, InternalRenderTask);
+          worker.addEventListener("error", onWorkerError);
+          messageHandler.on("test", data => {
+            worker.removeEventListener("error", onWorkerError);
 
-      this.callback = callback;
-      this.params = params;
-      this.objs = objs;
-      this.commonObjs = commonObjs;
-      this.operatorListIdx = null;
-      this.operatorList = operatorList;
-      this.pageNumber = pageNumber;
-      this.canvasFactory = canvasFactory;
-      this.webGLContext = webGLContext;
-      this._pdfBug = pdfBug;
-      this.running = false;
-      this.graphicsReadyCallback = null;
-      this.graphicsReady = false;
-      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';
-      this.cancelled = false;
-      this.capability = (0, _util.createPromiseCapability)();
-      this.task = new RenderTask(this);
-      this._continueBound = this._continue.bind(this);
-      this._scheduleNextBound = this._scheduleNext.bind(this);
-      this._nextBound = this._next.bind(this);
-      this._canvas = params.canvasContext.canvas;
-    }
+            if (this.destroyed) {
+              terminateEarly();
+              return;
+            }
 
-    _createClass(InternalRenderTask, [{
-      key: "initializeGraphics",
-      value: function initializeGraphics() {
-        var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+            if (data) {
+              this._messageHandler = messageHandler;
+              this._port = worker;
+              this._webWorker = worker;
 
-        if (this.cancelled) {
-          return;
-        }
+              if (!data.supportTransfers) {
+                this.postMessageTransfers = false;
+              }
 
-        if (this._canvas) {
-          if (canvasInRendering.has(this._canvas)) {
-            throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use 
different canvas or ensure previous operations were ' + 'cancelled or completed.');
-          }
+              this._readyCapability.resolve();
 
-          canvasInRendering.add(this._canvas);
-        }
+              messageHandler.send("configure", {
+                verbosity: this.verbosity
+              });
+            } else {
+              this._setupFakeWorker();
 
-        if (this._pdfBug && _global_scope["default"].StepperManager && 
_global_scope["default"].StepperManager.enabled) {
-          this.stepper = _global_scope["default"].StepperManager.create(this.pageNumber - 1);
-          this.stepper.init(this.operatorList);
-          this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
-        }
+              messageHandler.destroy();
+              worker.terminate();
+            }
+          });
+          messageHandler.on("ready", data => {
+            worker.removeEventListener("error", onWorkerError);
 
-        var _this$params = this.params,
-            canvasContext = _this$params.canvasContext,
-            viewport = _this$params.viewport,
-            transform = _this$params.transform,
-            imageLayer = _this$params.imageLayer,
-            background = _this$params.background;
-        this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, 
this.webGLContext, imageLayer);
-        this.gfx.beginDrawing({
-          transform: transform,
-          viewport: viewport,
-          transparency: transparency,
-          background: background
-        });
-        this.operatorListIdx = 0;
-        this.graphicsReady = true;
+            if (this.destroyed) {
+              terminateEarly();
+              return;
+            }
 
-        if (this.graphicsReadyCallback) {
-          this.graphicsReadyCallback();
-        }
-      }
-    }, {
-      key: "cancel",
-      value: function cancel() {
-        var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-        this.running = false;
-        this.cancelled = true;
+            try {
+              sendTest();
+            } catch (e) {
+              this._setupFakeWorker();
+            }
+          });
 
-        if (this.gfx) {
-          this.gfx.endDrawing();
-        }
+          const sendTest = () => {
+            const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);
+
+            try {
+              messageHandler.send("test", testObj, [testObj.buffer]);
+            } catch (ex) {
+              (0, _util.warn)("Cannot use postMessage transfers.");
+              testObj[0] = 0;
+              messageHandler.send("test", testObj);
+            }
+          };
 
-        if (this._canvas) {
-          canvasInRendering["delete"](this._canvas);
+          sendTest();
+          return;
+        } catch (e) {
+          (0, _util.info)("The worker has been disabled.");
         }
+      }
+
+      this._setupFakeWorker();
+    }
 
-        this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page 
".concat(this.pageNumber), 'canvas'));
+    _setupFakeWorker() {
+      if (!isWorkerDisabled) {
+        (0, _util.warn)("Setting up fake worker.");
+        isWorkerDisabled = true;
       }
-    }, {
-      key: "operatorListChanged",
-      value: function operatorListChanged() {
-        if (!this.graphicsReady) {
-          if (!this.graphicsReadyCallback) {
-            this.graphicsReadyCallback = this._continueBound;
-          }
+
+      setupFakeWorkerGlobal().then(WorkerMessageHandler => {
+        if (this.destroyed) {
+          this._readyCapability.reject(new Error("Worker was destroyed"));
 
           return;
         }
 
-        if (this.stepper) {
-          this.stepper.updateOperatorList(this.operatorList);
-        }
+        const port = new LoopbackPort();
+        this._port = port;
+        const id = "fake" + nextFakeWorkerId++;
+        const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
+        WorkerMessageHandler.setup(workerHandler, port);
+        const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
+        this._messageHandler = messageHandler;
 
-        if (this.running) {
-          return;
-        }
+        this._readyCapability.resolve();
+
+        messageHandler.send("configure", {
+          verbosity: this.verbosity
+        });
+      }).catch(reason => {
+        this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`));
+      });
+    }
+
+    destroy() {
+      this.destroyed = true;
+
+      if (this._webWorker) {
+        this._webWorker.terminate();
 
-        this._continue();
+        this._webWorker = null;
       }
-    }, {
-      key: "_continue",
-      value: function _continue() {
-        this.running = true;
 
-        if (this.cancelled) {
-          return;
-        }
+      pdfWorkerPorts.delete(this._port);
+      this._port = null;
 
-        if (this.task.onContinue) {
-          this.task.onContinue(this._scheduleNextBound);
-        } else {
-          this._scheduleNext();
-        }
+      if (this._messageHandler) {
+        this._messageHandler.destroy();
+
+        this._messageHandler = null;
       }
-    }, {
-      key: "_scheduleNext",
-      value: function _scheduleNext() {
-        var _this18 = this;
+    }
 
-        if (this._useRequestAnimationFrame) {
-          window.requestAnimationFrame(function () {
-            _this18._nextBound()["catch"](_this18.cancel.bind(_this18));
-          });
-        } else {
-          Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
-        }
+    static fromPort(params) {
+      if (!params || !params.port) {
+        throw new Error("PDFWorker.fromPort - invalid method signature.");
       }
-    }, {
-      key: "_next",
-      value: function () {
-        var _next2 = _asyncToGenerator(
-        /*#__PURE__*/
-        _regenerator["default"].mark(function _callee() {
-          return _regenerator["default"].wrap(function _callee$(_context) {
-            while (1) {
-              switch (_context.prev = _context.next) {
-                case 0:
-                  if (!this.cancelled) {
-                    _context.next = 2;
-                    break;
-                  }
-
-                  return _context.abrupt("return");
-
-                case 2:
-                  this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, 
this.operatorListIdx, this._continueBound, this.stepper);
-
-                  if (this.operatorListIdx === this.operatorList.argsArray.length) {
-                    this.running = false;
-
-                    if (this.operatorList.lastChunk) {
-                      this.gfx.endDrawing();
-
-                      if (this._canvas) {
-                        canvasInRendering["delete"](this._canvas);
-                      }
-
-                      this.callback();
-                    }
-                  }
-
-                case 4:
-                case "end":
-                  return _context.stop();
-              }
-            }
-          }, _callee, this);
-        }));
 
-        function _next() {
-          return _next2.apply(this, arguments);
-        }
+      if (pdfWorkerPorts.has(params.port)) {
+        return pdfWorkerPorts.get(params.port);
+      }
 
-        return _next;
-      }()
-    }]);
+      return new PDFWorker(params);
+    }
 
-    return InternalRenderTask;
-  }();
+    static getWorkerSrc() {
+      return getWorkerSrc();
+    }
 
-  return InternalRenderTask;
+  }
+
+  return PDFWorker;
 }();
 
-var version = '2.3.200';
-exports.version = version;
-var build = '4ae3f9fc';
-exports.build = build;
+exports.PDFWorker = PDFWorker;
 
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+class WorkerTransport {
+  constructor(messageHandler, loadingTask, networkStream, params) {
+    this.messageHandler = messageHandler;
+    this.loadingTask = loadingTask;
+    this.commonObjs = new PDFObjects();
+    this.fontLoader = new _font_loader.FontLoader({
+      docId: loadingTask.docId,
+      onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
+    });
+    this._params = params;
+    this.CMapReaderFactory = new params.CMapReaderFactory({
+      baseUrl: params.cMapUrl,
+      isCompressed: params.cMapPacked
+    });
+    this.destroyed = false;
+    this.destroyCapability = null;
+    this._passwordCapability = null;
+    this._networkStream = networkStream;
+    this._fullReader = null;
+    this._lastProgress = null;
+    this.pageCache = [];
+    this.pagePromises = [];
+    this.downloadInfoCapability = (0, _util.createPromiseCapability)();
+    this.setupMessageHandler();
+  }
 
-"use strict";
+  destroy() {
+    if (this.destroyCapability) {
+      return this.destroyCapability.promise;
+    }
+
+    this.destroyed = true;
+    this.destroyCapability = (0, _util.createPromiseCapability)();
 
+    if (this._passwordCapability) {
+      this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
+    }
 
-module.exports = __w_pdfjs_require__(181);
+    const waitOn = [];
+    this.pageCache.forEach(function (page) {
+      if (page) {
+        waitOn.push(page._destroy());
+      }
+    });
+    this.pageCache.length = 0;
+    this.pagePromises.length = 0;
+    const terminated = this.messageHandler.sendWithPromise("Terminate", null);
+    waitOn.push(terminated);
+    Promise.all(waitOn).then(() => {
+      this.fontLoader.clear();
 
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+      if (this._networkStream) {
+        this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
+      }
 
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
+      if (this.messageHandler) {
+        this.messageHandler.destroy();
+        this.messageHandler = null;
+      }
+
+      this.destroyCapability.resolve();
+    }, this.destroyCapability.reject);
+    return this.destroyCapability.promise;
+  }
+
+  setupMessageHandler() {
+    const {
+      messageHandler,
+      loadingTask
+    } = this;
+    messageHandler.on("GetReader", (data, sink) => {
+      (0, _util.assert)(this._networkStream);
+      this._fullReader = this._networkStream.getFullReader();
+
+      this._fullReader.onProgress = evt => {
+        this._lastProgress = {
+          loaded: evt.loaded,
+          total: evt.total
+        };
+      };
+
+      sink.onPull = () => {
+        this._fullReader.read().then(function ({
+          value,
+          done
+        }) {
+          if (done) {
+            sink.close();
+            return;
+          }
+
+          (0, _util.assert)((0, _util.isArrayBuffer)(value));
+          sink.enqueue(new Uint8Array(value), 1, [value]);
+        }).catch(reason => {
+          sink.error(reason);
+        });
+      };
+
+      sink.onCancel = reason => {
+        this._fullReader.cancel(reason);
+      };
+    });
+    messageHandler.on("ReaderHeadersReady", data => {
+      const headersCapability = (0, _util.createPromiseCapability)();
+      const fullReader = this._fullReader;
+      fullReader.headersReady.then(() => {
+        if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
+          if (this._lastProgress && loadingTask.onProgress) {
+            loadingTask.onProgress(this._lastProgress);
+          }
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+          fullReader.onProgress = evt => {
+            if (loadingTask.onProgress) {
+              loadingTask.onProgress({
+                loaded: evt.loaded,
+                total: evt.total
+              });
+            }
+          };
+        }
 
-var runtime = function (exports) {
-  "use strict";
+        headersCapability.resolve({
+          isStreamingSupported: fullReader.isStreamingSupported,
+          isRangeSupported: fullReader.isRangeSupported,
+          contentLength: fullReader.contentLength
+        });
+      }, headersCapability.reject);
+      return headersCapability.promise;
+    });
+    messageHandler.on("GetRangeReader", (data, sink) => {
+      (0, _util.assert)(this._networkStream);
 
-  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";
+      const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);
 
-  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;
-  }
+      if (!rangeReader) {
+        sink.close();
+        return;
+      }
 
-  exports.wrap = wrap;
+      sink.onPull = () => {
+        rangeReader.read().then(function ({
+          value,
+          done
+        }) {
+          if (done) {
+            sink.close();
+            return;
+          }
 
-  function tryCatch(fn, obj, arg) {
-    try {
-      return {
-        type: "normal",
-        arg: fn.call(obj, arg)
+          (0, _util.assert)((0, _util.isArrayBuffer)(value));
+          sink.enqueue(new Uint8Array(value), 1, [value]);
+        }).catch(reason => {
+          sink.error(reason);
+        });
       };
-    } catch (err) {
-      return {
-        type: "throw",
-        arg: err
+
+      sink.onCancel = reason => {
+        rangeReader.cancel(reason);
       };
-    }
-  }
+    });
+    messageHandler.on("GetDoc", ({
+      pdfInfo
+    }) => {
+      this._numPages = pdfInfo.numPages;
 
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-  var ContinueSentinel = {};
+      loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));
+    });
+    messageHandler.on("DocException", function (ex) {
+      let reason;
 
-  function Generator() {}
+      switch (ex.name) {
+        case "PasswordException":
+          reason = new _util.PasswordException(ex.message, ex.code);
+          break;
 
-  function GeneratorFunction() {}
+        case "InvalidPDFException":
+          reason = new _util.InvalidPDFException(ex.message);
+          break;
 
-  function GeneratorFunctionPrototype() {}
+        case "MissingPDFException":
+          reason = new _util.MissingPDFException(ex.message);
+          break;
 
-  var IteratorPrototype = {};
+        case "UnexpectedResponseException":
+          reason = new _util.UnexpectedResponseException(ex.message, ex.status);
+          break;
 
-  IteratorPrototype[iteratorSymbol] = function () {
-    return this;
-  };
+        case "UnknownErrorException":
+          reason = new _util.UnknownErrorException(ex.message, ex.details);
+          break;
+      }
 
-  var getProto = Object.getPrototypeOf;
-  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+      loadingTask._capability.reject(reason);
+    });
+    messageHandler.on("PasswordRequest", exception => {
+      this._passwordCapability = (0, _util.createPromiseCapability)();
 
-  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, 
iteratorSymbol)) {
-    IteratorPrototype = NativeIteratorPrototype;
-  }
+      if (loadingTask.onPassword) {
+        const updatePassword = password => {
+          this._passwordCapability.resolve({
+            password
+          });
+        };
 
-  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
-  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
+        try {
+          loadingTask.onPassword(updatePassword, exception.code);
+        } catch (ex) {
+          this._passwordCapability.reject(ex);
+        }
+      } else {
+        this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
+      }
 
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      prototype[method] = function (arg) {
-        return this._invoke(method, arg);
-      };
+      return this._passwordCapability.promise;
     });
-  }
+    messageHandler.on("DataLoaded", data => {
+      if (loadingTask.onProgress) {
+        loadingTask.onProgress({
+          loaded: data.length,
+          total: data.length
+        });
+      }
 
-  exports.isGeneratorFunction = function (genFun) {
-    var ctor = typeof genFun === "function" && genFun.constructor;
-    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : 
false;
-  };
+      this.downloadInfoCapability.resolve(data);
+    });
+    messageHandler.on("StartRenderPage", data => {
+      if (this.destroyed) {
+        return;
+      }
 
-  exports.mark = function (genFun) {
-    if (Object.setPrototypeOf) {
-      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
-    } else {
-      genFun.__proto__ = GeneratorFunctionPrototype;
+      const page = this.pageCache[data.pageIndex];
 
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
+      page._startRenderPage(data.transparency, data.intent);
+    });
+    messageHandler.on("commonobj", data => {
+      if (this.destroyed) {
+        return;
       }
-    }
 
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
+      const [id, type, exportedData] = data;
 
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
+      if (this.commonObjs.has(id)) {
+        return;
+      }
 
-  function AsyncIterator(generator) {
-    function invoke(method, arg, resolve, reject) {
-      var record = tryCatch(generator[method], generator, arg);
+      switch (type) {
+        case "Font":
+          const params = this._params;
 
-      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 Promise.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
+          if ("error" in exportedData) {
+            const exportedError = exportedData.error;
+            (0, _util.warn)(`Error during font loading: ${exportedError}`);
+            this.commonObjs.resolve(id, exportedError);
+            break;
+          }
+
+          let fontRegistry = null;
+
+          if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {
+            fontRegistry = {
+              registerFont(font, url) {
+                globalThis.FontInspector.fontAdded(font, url);
+              }
+
+            };
+          }
+
+          const font = new _font_loader.FontFaceObject(exportedData, {
+            isEvalSupported: params.isEvalSupported,
+            disableFontFace: params.disableFontFace,
+            ignoreErrors: params.ignoreErrors,
+            onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
+            fontRegistry
           });
-        }
+          this.fontLoader.bind(font).then(() => {
+            this.commonObjs.resolve(id, font);
+          }, reason => {
+            messageHandler.sendWithPromise("FontFallback", {
+              id
+            }).finally(() => {
+              this.commonObjs.resolve(id, font);
+            });
+          });
+          break;
 
-        return Promise.resolve(value).then(function (unwrapped) {
-          result.value = unwrapped;
-          resolve(result);
-        }, function (error) {
-          return invoke("throw", error, resolve, reject);
-        });
+        case "FontPath":
+        case "FontType3Res":
+          this.commonObjs.resolve(id, exportedData);
+          break;
+
+        default:
+          throw new Error(`Got unknown common object type ${type}`);
+      }
+    });
+    messageHandler.on("obj", data => {
+      if (this.destroyed) {
+        return undefined;
       }
-    }
 
-    var previousPromise;
+      const [id, pageIndex, type, imageData] = data;
+      const pageProxy = this.pageCache[pageIndex];
 
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new Promise(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
+      if (pageProxy.objs.has(id)) {
+        return undefined;
       }
 
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, 
callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
-    }
+      switch (type) {
+        case "JpegStream":
+          return new Promise((resolve, reject) => {
+            const img = new Image();
 
-    this._invoke = enqueue;
-  }
+            img.onload = function () {
+              resolve(img);
+            };
 
-  defineIteratorMethods(AsyncIterator.prototype);
+            img.onerror = function () {
+              reject(new Error("Error during JPEG image loading"));
+              (0, _display_utils.releaseImageResources)(img);
+            };
 
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
+            img.src = imageData;
+          }).then(img => {
+            pageProxy.objs.resolve(id, img);
+          });
 
-  exports.AsyncIterator = AsyncIterator;
+        case "Image":
+          pageProxy.objs.resolve(id, imageData);
+          const MAX_IMAGE_SIZE_TO_STORE = 8000000;
 
-  exports.async = function (innerFn, outerFn, self, tryLocsList) {
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
-    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
-      return result.done ? result.value : iter.next();
-    });
-  };
+          if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
+            pageProxy.cleanupAfterRender = true;
+          }
 
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
-      }
+          break;
 
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
+        default:
+          throw new Error(`Got unknown object type ${type}`);
+      }
 
-        return doneResult();
+      return undefined;
+    });
+    messageHandler.on("DocProgress", data => {
+      if (this.destroyed) {
+        return;
       }
 
-      context.method = method;
-      context.arg = arg;
+      if (loadingTask.onProgress) {
+        loadingTask.onProgress({
+          loaded: data.loaded,
+          total: data.total
+        });
+      }
+    });
+    messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
+    messageHandler.on("JpegDecode", data => {
+      if (this.destroyed) {
+        return Promise.reject(new Error("Worker was destroyed"));
+      }
 
-      while (true) {
-        var delegate = context.delegate;
+      if (typeof document === "undefined") {
+        return Promise.reject(new Error('"document" is not defined.'));
+      }
 
-        if (delegate) {
-          var delegateResult = maybeInvokeDelegate(delegate, context);
+      const [imageUrl, components] = data;
 
-          if (delegateResult) {
-            if (delegateResult === ContinueSentinel) continue;
-            return delegateResult;
-          }
-        }
+      if (components !== 3 && components !== 1) {
+        return Promise.reject(new Error("Only 3 components or 1 component can be returned"));
+      }
 
-        if (context.method === "next") {
-          context.sent = context._sent = context.arg;
-        } else if (context.method === "throw") {
-          if (state === GenStateSuspendedStart) {
-            state = GenStateCompleted;
-            throw context.arg;
+      return new Promise(function (resolve, reject) {
+        const img = new Image();
+
+        img.onload = function () {
+          const {
+            width,
+            height
+          } = img;
+          const size = width * height;
+          const rgbaLength = size * 4;
+          const buf = new Uint8ClampedArray(size * components);
+          let tmpCanvas = document.createElement("canvas");
+          tmpCanvas.width = width;
+          tmpCanvas.height = height;
+          let tmpCtx = tmpCanvas.getContext("2d");
+          tmpCtx.drawImage(img, 0, 0);
+          const data = tmpCtx.getImageData(0, 0, width, height).data;
+
+          if (components === 3) {
+            for (let i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
+              buf[j] = data[i];
+              buf[j + 1] = data[i + 1];
+              buf[j + 2] = data[i + 2];
+            }
+          } else if (components === 1) {
+            for (let i = 0, j = 0; i < rgbaLength; i += 4, j++) {
+              buf[j] = data[i];
+            }
           }
 
-          context.dispatchException(context.arg);
-        } else if (context.method === "return") {
-          context.abrupt("return", context.arg);
-        }
+          resolve({
+            data: buf,
+            width,
+            height
+          });
+          (0, _display_utils.releaseImageResources)(img);
+          tmpCanvas.width = 0;
+          tmpCanvas.height = 0;
+          tmpCanvas = null;
+          tmpCtx = null;
+        };
 
-        state = GenStateExecuting;
-        var record = tryCatch(innerFn, self, context);
+        img.onerror = function () {
+          reject(new Error("JpegDecode failed to load image"));
+          (0, _display_utils.releaseImageResources)(img);
+        };
 
-        if (record.type === "normal") {
-          state = context.done ? GenStateCompleted : GenStateSuspendedYield;
+        img.src = imageUrl;
+      });
+    });
+    messageHandler.on("FetchBuiltInCMap", (data, sink) => {
+      if (this.destroyed) {
+        sink.error(new Error("Worker was destroyed"));
+        return;
+      }
 
-          if (record.arg === ContinueSentinel) {
-            continue;
-          }
+      let fetched = false;
 
-          return {
-            value: record.arg,
-            done: context.done
-          };
-        } else if (record.type === "throw") {
-          state = GenStateCompleted;
-          context.method = "throw";
-          context.arg = record.arg;
+      sink.onPull = () => {
+        if (fetched) {
+          sink.close();
+          return;
         }
-      }
-    };
+
+        fetched = true;
+        this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
+          sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
+        }).catch(function (reason) {
+          sink.error(reason);
+        });
+      };
+    });
   }
 
-  function maybeInvokeDelegate(delegate, context) {
-    var method = delegate.iterator[context.method];
+  _onUnsupportedFeature({
+    featureId
+  }) {
+    if (this.destroyed) {
+      return;
+    }
 
-    if (method === undefined) {
-      context.delegate = null;
+    if (this.loadingTask.onUnsupportedFeature) {
+      this.loadingTask.onUnsupportedFeature(featureId);
+    }
+  }
 
-      if (context.method === "throw") {
-        if (delegate.iterator["return"]) {
-          context.method = "return";
-          context.arg = undefined;
-          maybeInvokeDelegate(delegate, context);
+  getData() {
+    return this.messageHandler.sendWithPromise("GetData", null);
+  }
 
-          if (context.method === "throw") {
-            return ContinueSentinel;
-          }
-        }
+  getPage(pageNumber) {
+    if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
+      return Promise.reject(new Error("Invalid page request"));
+    }
 
-        context.method = "throw";
-        context.arg = new TypeError("The iterator does not provide a 'throw' method");
-      }
+    const pageIndex = pageNumber - 1;
 
-      return ContinueSentinel;
+    if (pageIndex in this.pagePromises) {
+      return this.pagePromises[pageIndex];
     }
 
-    var record = tryCatch(method, delegate.iterator, context.arg);
+    const promise = this.messageHandler.sendWithPromise("GetPage", {
+      pageIndex
+    }).then(pageInfo => {
+      if (this.destroyed) {
+        throw new Error("Transport destroyed");
+      }
 
-    if (record.type === "throw") {
-      context.method = "throw";
-      context.arg = record.arg;
-      context.delegate = null;
-      return ContinueSentinel;
-    }
+      const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);
+      this.pageCache[pageIndex] = page;
+      return page;
+    });
+    this.pagePromises[pageIndex] = promise;
+    return promise;
+  }
 
-    var info = record.arg;
+  getPageIndex(ref) {
+    return this.messageHandler.sendWithPromise("GetPageIndex", {
+      ref
+    }).catch(function (reason) {
+      return Promise.reject(new Error(reason));
+    });
+  }
 
-    if (!info) {
-      context.method = "throw";
-      context.arg = new TypeError("iterator result is not an object");
-      context.delegate = null;
-      return ContinueSentinel;
-    }
+  getAnnotations(pageIndex, intent) {
+    return this.messageHandler.sendWithPromise("GetAnnotations", {
+      pageIndex,
+      intent
+    });
+  }
 
-    if (info.done) {
-      context[delegate.resultName] = info.value;
-      context.next = delegate.nextLoc;
+  getDestinations() {
+    return this.messageHandler.sendWithPromise("GetDestinations", null);
+  }
 
-      if (context.method !== "return") {
-        context.method = "next";
-        context.arg = undefined;
-      }
-    } else {
-      return info;
+  getDestination(id) {
+    if (typeof id !== "string") {
+      return Promise.reject(new Error("Invalid destination request."));
     }
 
-    context.delegate = null;
-    return ContinueSentinel;
+    return this.messageHandler.sendWithPromise("GetDestination", {
+      id
+    });
+  }
+
+  getPageLabels() {
+    return this.messageHandler.sendWithPromise("GetPageLabels", null);
   }
 
-  defineIteratorMethods(Gp);
-  Gp[toStringTagSymbol] = "Generator";
+  getPageLayout() {
+    return this.messageHandler.sendWithPromise("GetPageLayout", null);
+  }
 
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
+  getPageMode() {
+    return this.messageHandler.sendWithPromise("GetPageMode", null);
+  }
 
-  Gp.toString = function () {
-    return "[object Generator]";
-  };
+  getViewerPreferences() {
+    return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
+  }
 
-  function pushTryEntry(locs) {
-    var entry = {
-      tryLoc: locs[0]
-    };
+  getOpenAction() {
+    return this.messageHandler.sendWithPromise("GetOpenAction", null);
+  }
 
-    if (1 in locs) {
-      entry.catchLoc = locs[1];
-    }
+  getAttachments() {
+    return this.messageHandler.sendWithPromise("GetAttachments", null);
+  }
 
-    if (2 in locs) {
-      entry.finallyLoc = locs[2];
-      entry.afterLoc = locs[3];
-    }
+  getJavaScript() {
+    return this.messageHandler.sendWithPromise("GetJavaScript", null);
+  }
 
-    this.tryEntries.push(entry);
+  getOutline() {
+    return this.messageHandler.sendWithPromise("GetOutline", null);
   }
 
-  function resetTryEntry(entry) {
-    var record = entry.completion || {};
-    record.type = "normal";
-    delete record.arg;
-    entry.completion = record;
+  getPermissions() {
+    return this.messageHandler.sendWithPromise("GetPermissions", null);
   }
 
-  function Context(tryLocsList) {
-    this.tryEntries = [{
-      tryLoc: "root"
-    }];
-    tryLocsList.forEach(pushTryEntry, this);
-    this.reset(true);
+  getMetadata() {
+    return this.messageHandler.sendWithPromise("GetMetadata", null).then(results => {
+      return {
+        info: results[0],
+        metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
+        contentDispositionFilename: this._fullReader ? this._fullReader.filename : null
+      };
+    });
   }
 
-  exports.keys = function (object) {
-    var keys = [];
+  getStats() {
+    return this.messageHandler.sendWithPromise("GetStats", null);
+  }
 
-    for (var key in object) {
-      keys.push(key);
-    }
+  startCleanup() {
+    return this.messageHandler.sendWithPromise("Cleanup", null).then(() => {
+      for (let i = 0, ii = this.pageCache.length; i < ii; i++) {
+        const page = this.pageCache[i];
 
-    keys.reverse();
-    return function next() {
-      while (keys.length) {
-        var key = keys.pop();
+        if (page) {
+          const cleanupSuccessful = page.cleanup();
 
-        if (key in object) {
-          next.value = key;
-          next.done = false;
-          return next;
+          if (!cleanupSuccessful) {
+            throw new Error(`startCleanup: Page ${i + 1} is currently rendering.`);
+          }
         }
       }
 
-      next.done = true;
-      return next;
-    };
-  };
+      this.commonObjs.clear();
+      this.fontLoader.clear();
+    });
+  }
 
-  function values(iterable) {
-    if (iterable) {
-      var iteratorMethod = iterable[iteratorSymbol];
+  get loadingParams() {
+    const params = this._params;
+    return (0, _util.shadow)(this, "loadingParams", {
+      disableAutoFetch: params.disableAutoFetch,
+      disableCreateObjectURL: params.disableCreateObjectURL,
+      disableFontFace: params.disableFontFace,
+      nativeImageDecoderSupport: params.nativeImageDecoderSupport
+    });
+  }
 
-      if (iteratorMethod) {
-        return iteratorMethod.call(iterable);
-      }
+}
 
-      if (typeof iterable.next === "function") {
-        return iterable;
-      }
+class PDFObjects {
+  constructor() {
+    this._objs = Object.create(null);
+  }
 
-      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;
-            }
-          }
+  _ensureObj(objId) {
+    if (this._objs[objId]) {
+      return this._objs[objId];
+    }
 
-          next.value = undefined;
-          next.done = true;
-          return next;
-        };
+    return this._objs[objId] = {
+      capability: (0, _util.createPromiseCapability)(),
+      data: null,
+      resolved: false
+    };
+  }
 
-        return next.next = next;
-      }
+  get(objId, callback = null) {
+    if (callback) {
+      this._ensureObj(objId).capability.promise.then(callback);
+
+      return null;
     }
 
-    return {
-      next: doneResult
-    };
+    const obj = this._objs[objId];
+
+    if (!obj || !obj.resolved) {
+      throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
+    }
+
+    return obj.data;
   }
 
-  exports.values = values;
+  has(objId) {
+    const obj = this._objs[objId];
+    return obj ? obj.resolved : false;
+  }
 
-  function doneResult() {
-    return {
-      value: undefined,
-      done: true
-    };
+  resolve(objId, data) {
+    const obj = this._ensureObj(objId);
+
+    obj.resolved = true;
+    obj.data = data;
+    obj.capability.resolve(data);
   }
 
-  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;
+  clear() {
+    for (const objId in this._objs) {
+      const {
+        data
+      } = this._objs[objId];
 
-      if (rootRecord.type === "throw") {
-        throw rootRecord.arg;
+      if (typeof Image !== "undefined" && data instanceof Image) {
+        (0, _display_utils.releaseImageResources)(data);
       }
+    }
 
-      return this.rval;
-    },
-    dispatchException: function dispatchException(exception) {
-      if (this.done) {
-        throw exception;
-      }
+    this._objs = Object.create(null);
+  }
 
-      var context = this;
+}
 
-      function handle(loc, caught) {
-        record.type = "throw";
-        record.arg = exception;
-        context.next = loc;
+class RenderTask {
+  constructor(internalRenderTask) {
+    this._internalRenderTask = internalRenderTask;
+    this.onContinue = null;
+  }
 
-        if (caught) {
-          context.method = "next";
-          context.arg = undefined;
-        }
+  get promise() {
+    return this._internalRenderTask.capability.promise;
+  }
 
-        return !!caught;
-      }
+  cancel() {
+    this._internalRenderTask.cancel();
+  }
 
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        var record = entry.completion;
+  then(onFulfilled, onRejected) {
+    throw new Error("Removed API method: " + "RenderTask.then, use the `promise` getter instead.");
+  }
 
-        if (entry.tryLoc === "root") {
-          return handle("end");
-        }
+}
 
-        if (entry.tryLoc <= this.prev) {
-          var hasCatch = hasOwn.call(entry, "catchLoc");
-          var hasFinally = hasOwn.call(entry, "finallyLoc");
+const InternalRenderTask = function InternalRenderTaskClosure() {
+  const canvasInRendering = new WeakSet();
 
-          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");
-          }
-        }
+  class InternalRenderTask {
+    constructor({
+      callback,
+      params,
+      objs,
+      commonObjs,
+      operatorList,
+      pageIndex,
+      canvasFactory,
+      webGLContext,
+      useRequestAnimationFrame = false,
+      pdfBug = false
+    }) {
+      this.callback = callback;
+      this.params = params;
+      this.objs = objs;
+      this.commonObjs = commonObjs;
+      this.operatorListIdx = null;
+      this.operatorList = operatorList;
+      this._pageIndex = pageIndex;
+      this.canvasFactory = canvasFactory;
+      this.webGLContext = webGLContext;
+      this._pdfBug = pdfBug;
+      this.running = false;
+      this.graphicsReadyCallback = null;
+      this.graphicsReady = false;
+      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
+      this.cancelled = false;
+      this.capability = (0, _util.createPromiseCapability)();
+      this.task = new RenderTask(this);
+      this._continueBound = this._continue.bind(this);
+      this._scheduleNextBound = this._scheduleNext.bind(this);
+      this._nextBound = this._next.bind(this);
+      this._canvas = params.canvasContext.canvas;
+    }
+
+    initializeGraphics(transparency = false) {
+      if (this.cancelled) {
+        return;
       }
-    },
-    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 (this._canvas) {
+        if (canvasInRendering.has(this._canvas)) {
+          throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use 
different canvas or ensure previous operations were " + "cancelled or completed.");
         }
+
+        canvasInRendering.add(this._canvas);
       }
 
-      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= 
finallyEntry.finallyLoc) {
-        finallyEntry = null;
+      if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {
+        this.stepper = globalThis.StepperManager.create(this._pageIndex);
+        this.stepper.init(this.operatorList);
+        this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
       }
 
-      var record = finallyEntry ? finallyEntry.completion : {};
-      record.type = type;
-      record.arg = arg;
+      const {
+        canvasContext,
+        viewport,
+        transform,
+        imageLayer,
+        background
+      } = this.params;
+      this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, 
this.webGLContext, imageLayer);
+      this.gfx.beginDrawing({
+        transform,
+        viewport,
+        transparency,
+        background
+      });
+      this.operatorListIdx = 0;
+      this.graphicsReady = true;
 
-      if (finallyEntry) {
-        this.method = "next";
-        this.next = finallyEntry.finallyLoc;
-        return ContinueSentinel;
+      if (this.graphicsReadyCallback) {
+        this.graphicsReadyCallback();
       }
+    }
 
-      return this.complete(record);
-    },
-    complete: function complete(record, afterLoc) {
-      if (record.type === "throw") {
-        throw record.arg;
+    cancel(error = null) {
+      this.running = false;
+      this.cancelled = true;
+
+      if (this.gfx) {
+        this.gfx.endDrawing();
       }
 
-      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;
+      if (this._canvas) {
+        canvasInRendering.delete(this._canvas);
       }
 
-      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;
+      this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page 
${this._pageIndex + 1}`, "canvas"));
+    }
+
+    operatorListChanged() {
+      if (!this.graphicsReady) {
+        if (!this.graphicsReadyCallback) {
+          this.graphicsReadyCallback = this._continueBound;
         }
-      }
-    },
-    "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;
+        return;
+      }
 
-          if (record.type === "throw") {
-            var thrown = record.arg;
-            resetTryEntry(entry);
-          }
+      if (this.stepper) {
+        this.stepper.updateOperatorList(this.operatorList);
+      }
 
-          return thrown;
-        }
+      if (this.running) {
+        return;
       }
 
-      throw new Error("illegal catch attempt");
-    },
-    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
-      this.delegate = {
-        iterator: values(iterable),
-        resultName: resultName,
-        nextLoc: nextLoc
-      };
+      this._continue();
+    }
+
+    _continue() {
+      this.running = true;
 
-      if (this.method === "next") {
-        this.arg = undefined;
+      if (this.cancelled) {
+        return;
       }
 
-      return ContinueSentinel;
+      if (this.task.onContinue) {
+        this.task.onContinue(this._scheduleNextBound);
+      } else {
+        this._scheduleNext();
+      }
     }
-  };
-  return exports;
-}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
 
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(182)(module)))
+    _scheduleNext() {
+      if (this._useRequestAnimationFrame) {
+        window.requestAnimationFrame(() => {
+          this._nextBound().catch(this.cancel.bind(this));
+        });
+      } else {
+        Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));
+      }
+    }
 
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+    async _next() {
+      if (this.cancelled) {
+        return;
+      }
 
-"use strict";
+      this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, 
this._continueBound, this.stepper);
+
+      if (this.operatorListIdx === this.operatorList.argsArray.length) {
+        this.running = false;
 
+        if (this.operatorList.lastChunk) {
+          this.gfx.endDrawing();
 
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
+          if (this._canvas) {
+            canvasInRendering.delete(this._canvas);
+          }
 
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
+          this.callback();
+        }
       }
-    });
-    module.webpackPolyfill = 1;
+    }
+
   }
 
-  return module;
-};
+  return InternalRenderTask;
+}();
+
+const version = '2.4.456';
+exports.version = version;
+const build = '228a591c';
+exports.build = build;
 
 /***/ }),
-/* 183 */
+/* 4 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -12987,341 +3244,186 @@ exports.isValidFetchUrl = isValidFetchUrl;
 exports.loadScript = loadScript;
 exports.deprecated = deprecated;
 exports.releaseImageResources = releaseImageResources;
-exports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = 
exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = 
exports.RenderingCancelledException = exports.PageViewport = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = 
exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = 
exports.RenderingCancelledException = exports.PageViewport = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+const DEFAULT_LINK_REL = "noopener noreferrer nofollow";
+exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
+const SVG_NS = "http://www.w3.org/2000/svg";;
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+class DOMCanvasFactory {
+  create(width, height) {
+    if (width <= 0 || height <= 0) {
+      throw new Error("Invalid canvas size");
+    }
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+    const canvas = document.createElement("canvas");
+    const context = canvas.getContext("2d");
+    canvas.width = width;
+    canvas.height = height;
+    return {
+      canvas,
+      context
+    };
+  }
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+  reset(canvasAndContext, width, height) {
+    if (!canvasAndContext.canvas) {
+      throw new Error("Canvas is not specified");
+    }
 
-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); } }
+    if (width <= 0 || height <= 0) {
+      throw new Error("Invalid canvas size");
+    }
 
-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); }); }; }
+    canvasAndContext.canvas.width = width;
+    canvasAndContext.canvas.height = height;
+  }
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+  destroy(canvasAndContext) {
+    if (!canvasAndContext.canvas) {
+      throw new Error("Canvas is not specified");
+    }
 
-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); } }
+    canvasAndContext.canvas.width = 0;
+    canvasAndContext.canvas.height = 0;
+    canvasAndContext.canvas = null;
+    canvasAndContext.context = null;
+  }
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+}
 
-var DEFAULT_LINK_REL = 'noopener noreferrer nofollow';
-exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
-var SVG_NS = 'http://www.w3.org/2000/svg';
+exports.DOMCanvasFactory = DOMCanvasFactory;
 
-var DOMCanvasFactory =
-/*#__PURE__*/
-function () {
-  function DOMCanvasFactory() {
-    _classCallCheck(this, DOMCanvasFactory);
+class DOMCMapReaderFactory {
+  constructor({
+    baseUrl = null,
+    isCompressed = false
+  }) {
+    this.baseUrl = baseUrl;
+    this.isCompressed = isCompressed;
   }
 
-  _createClass(DOMCanvasFactory, [{
-    key: "create",
-    value: function create(width, height) {
-      if (width <= 0 || height <= 0) {
-        throw new Error('Invalid canvas size');
-      }
-
-      var canvas = document.createElement('canvas');
-      var context = canvas.getContext('2d');
-      canvas.width = width;
-      canvas.height = height;
-      return {
-        canvas: canvas,
-        context: context
-      };
+  async fetch({
+    name
+  }) {
+    if (!this.baseUrl) {
+      throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and 
"cMapPacked" API parameters are provided.');
     }
-  }, {
-    key: "reset",
-    value: function reset(canvasAndContext, width, height) {
-      if (!canvasAndContext.canvas) {
-        throw new Error('Canvas is not specified');
-      }
-
-      if (width <= 0 || height <= 0) {
-        throw new Error('Invalid canvas size');
-      }
 
-      canvasAndContext.canvas.width = width;
-      canvasAndContext.canvas.height = height;
+    if (!name) {
+      throw new Error("CMap name must be specified.");
     }
-  }, {
-    key: "destroy",
-    value: function destroy(canvasAndContext) {
-      if (!canvasAndContext.canvas) {
-        throw new Error('Canvas is not specified');
-      }
 
-      canvasAndContext.canvas.width = 0;
-      canvasAndContext.canvas.height = 0;
-      canvasAndContext.canvas = null;
-      canvasAndContext.context = null;
-    }
-  }]);
+    const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
+    const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : 
_util.CMapCompressionType.NONE;
 
-  return DOMCanvasFactory;
-}();
+    if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {
+      return fetch(url).then(async response => {
+        if (!response.ok) {
+          throw new Error(response.statusText);
+        }
 
-exports.DOMCanvasFactory = DOMCanvasFactory;
+        let cMapData;
 
-var DOMCMapReaderFactory =
-/*#__PURE__*/
-function () {
-  function DOMCMapReaderFactory(_ref) {
-    var _ref$baseUrl = _ref.baseUrl,
-        baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
-        _ref$isCompressed = _ref.isCompressed,
-        isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
+        if (this.isCompressed) {
+          cMapData = new Uint8Array((await response.arrayBuffer()));
+        } else {
+          cMapData = (0, _util.stringToBytes)((await response.text()));
+        }
 
-    _classCallCheck(this, DOMCMapReaderFactory);
+        return {
+          cMapData,
+          compressionType
+        };
+      }).catch(reason => {
+        throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}` + `CMap at: ${url}`);
+      });
+    }
 
-    this.baseUrl = baseUrl;
-    this.isCompressed = isCompressed;
-  }
+    return new Promise((resolve, reject) => {
+      const request = new XMLHttpRequest();
+      request.open("GET", url, true);
 
-  _createClass(DOMCMapReaderFactory, [{
-    key: "fetch",
-    value: function (_fetch) {
-      function fetch(_x) {
-        return _fetch.apply(this, arguments);
+      if (this.isCompressed) {
+        request.responseType = "arraybuffer";
       }
 
-      fetch.toString = function () {
-        return _fetch.toString();
-      };
-
-      return fetch;
-    }(
-    /*#__PURE__*/
-    function () {
-      var _ref3 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(_ref2) {
-        var _this = this;
-
-        var name, url, compressionType;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                name = _ref2.name;
-
-                if (this.baseUrl) {
-                  _context2.next = 3;
-                  break;
-                }
-
-                throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the 
"cMapUrl" and "cMapPacked" API parameters are provided.');
-
-              case 3:
-                if (name) {
-                  _context2.next = 5;
-                  break;
-                }
-
-                throw new Error('CMap name must be specified.');
+      request.onreadystatechange = () => {
+        if (request.readyState !== XMLHttpRequest.DONE) {
+          return;
+        }
 
-              case 5:
-                url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');
-                compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : 
_util.CMapCompressionType.NONE;
+        if (request.status === 200 || request.status === 0) {
+          let cMapData;
 
-                if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {
-                  _context2.next = 9;
-                  break;
-                }
+          if (this.isCompressed && request.response) {
+            cMapData = new Uint8Array(request.response);
+          } else if (!this.isCompressed && request.responseText) {
+            cMapData = (0, _util.stringToBytes)(request.responseText);
+          }
 
-                return _context2.abrupt("return", fetch(url).then(
-                /*#__PURE__*/
-                function () {
-                  var _ref4 = _asyncToGenerator(
-                  /*#__PURE__*/
-                  _regenerator["default"].mark(function _callee(response) {
-                    var cMapData;
-                    return _regenerator["default"].wrap(function _callee$(_context) {
-                      while (1) {
-                        switch (_context.prev = _context.next) {
-                          case 0:
-                            if (response.ok) {
-                              _context.next = 2;
-                              break;
-                            }
-
-                            throw new Error(response.statusText);
-
-                          case 2:
-                            if (!_this.isCompressed) {
-                              _context.next = 10;
-                              break;
-                            }
-
-                            _context.t0 = Uint8Array;
-                            _context.next = 6;
-                            return response.arrayBuffer();
-
-                          case 6:
-                            _context.t1 = _context.sent;
-                            cMapData = new _context.t0(_context.t1);
-                            _context.next = 15;
-                            break;
-
-                          case 10:
-                            _context.t2 = _util.stringToBytes;
-                            _context.next = 13;
-                            return response.text();
-
-                          case 13:
-                            _context.t3 = _context.sent;
-                            cMapData = (0, _context.t2)(_context.t3);
-
-                          case 15:
-                            return _context.abrupt("return", {
-                              cMapData: cMapData,
-                              compressionType: compressionType
-                            });
-
-                          case 16:
-                          case "end":
-                            return _context.stop();
-                        }
-                      }
-                    }, _callee);
-                  }));
-
-                  return function (_x3) {
-                    return _ref4.apply(this, arguments);
-                  };
-                }())["catch"](function (reason) {
-                  throw new Error("Unable to load ".concat(_this.isCompressed ? 'binary ' : '') + "CMap at: 
".concat(url));
-                }));
-
-              case 9:
-                return _context2.abrupt("return", new Promise(function (resolve, reject) {
-                  var request = new XMLHttpRequest();
-                  request.open('GET', url, true);
-
-                  if (_this.isCompressed) {
-                    request.responseType = 'arraybuffer';
-                  }
-
-                  request.onreadystatechange = function () {
-                    if (request.readyState !== XMLHttpRequest.DONE) {
-                      return;
-                    }
-
-                    if (request.status === 200 || request.status === 0) {
-                      var cMapData;
-
-                      if (_this.isCompressed && request.response) {
-                        cMapData = new Uint8Array(request.response);
-                      } else if (!_this.isCompressed && request.responseText) {
-                        cMapData = (0, _util.stringToBytes)(request.responseText);
-                      }
-
-                      if (cMapData) {
-                        resolve({
-                          cMapData: cMapData,
-                          compressionType: compressionType
-                        });
-                        return;
-                      }
-                    }
-
-                    reject(new Error(request.statusText));
-                  };
-
-                  request.send(null);
-                })["catch"](function (reason) {
-                  throw new Error("Unable to load ".concat(_this.isCompressed ? 'binary ' : '') + "CMap at: 
".concat(url));
-                }));
-
-              case 10:
-              case "end":
-                return _context2.stop();
-            }
+          if (cMapData) {
+            resolve({
+              cMapData,
+              compressionType
+            });
+            return;
           }
-        }, _callee2, this);
-      }));
+        }
 
-      return function (_x2) {
-        return _ref3.apply(this, arguments);
+        reject(new Error(request.statusText));
       };
-    }())
-  }]);
 
-  return DOMCMapReaderFactory;
-}();
+      request.send(null);
+    }).catch(reason => {
+      throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}` + `CMap at: ${url}`);
+    });
+  }
+
+}
 
 exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
 
-var DOMSVGFactory =
-/*#__PURE__*/
-function () {
-  function DOMSVGFactory() {
-    _classCallCheck(this, DOMSVGFactory);
-  }
-
-  _createClass(DOMSVGFactory, [{
-    key: "create",
-    value: function create(width, height) {
-      (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');
-      var svg = document.createElementNS(SVG_NS, 'svg:svg');
-      svg.setAttribute('version', '1.1');
-      svg.setAttribute('width', width + 'px');
-      svg.setAttribute('height', height + 'px');
-      svg.setAttribute('preserveAspectRatio', 'none');
-      svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);
-      return svg;
-    }
-  }, {
-    key: "createElement",
-    value: function createElement(type) {
-      (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');
-      return document.createElementNS(SVG_NS, type);
-    }
-  }]);
+class DOMSVGFactory {
+  create(width, height) {
+    (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
+    const svg = document.createElementNS(SVG_NS, "svg:svg");
+    svg.setAttribute("version", "1.1");
+    svg.setAttribute("width", width + "px");
+    svg.setAttribute("height", height + "px");
+    svg.setAttribute("preserveAspectRatio", "none");
+    svg.setAttribute("viewBox", "0 0 " + width + " " + height);
+    return svg;
+  }
 
-  return DOMSVGFactory;
-}();
+  createElement(type) {
+    (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
+    return document.createElementNS(SVG_NS, type);
+  }
 
-exports.DOMSVGFactory = DOMSVGFactory;
+}
 
-var PageViewport =
-/*#__PURE__*/
-function () {
-  function PageViewport(_ref5) {
-    var viewBox = _ref5.viewBox,
-        scale = _ref5.scale,
-        rotation = _ref5.rotation,
-        _ref5$offsetX = _ref5.offsetX,
-        offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
-        _ref5$offsetY = _ref5.offsetY,
-        offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
-        _ref5$dontFlip = _ref5.dontFlip,
-        dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;
-
-    _classCallCheck(this, PageViewport);
+exports.DOMSVGFactory = DOMSVGFactory;
 
+class PageViewport {
+  constructor({
+    viewBox,
+    scale,
+    rotation,
+    offsetX = 0,
+    offsetY = 0,
+    dontFlip = false
+  }) {
     this.viewBox = viewBox;
     this.scale = scale;
     this.rotation = rotation;
     this.offsetX = offsetX;
     this.offsetY = offsetY;
-    var centerX = (viewBox[2] + viewBox[0]) / 2;
-    var centerY = (viewBox[3] + viewBox[1]) / 2;
-    var rotateA, rotateB, rotateC, rotateD;
+    const centerX = (viewBox[2] + viewBox[0]) / 2;
+    const centerY = (viewBox[3] + viewBox[1]) / 2;
+    let rotateA, rotateB, rotateC, rotateD;
     rotation = rotation % 360;
     rotation = rotation < 0 ? rotation + 360 : rotation;
 
@@ -13360,8 +3462,8 @@ function () {
       rotateD = -rotateD;
     }
 
-    var offsetCanvasX, offsetCanvasY;
-    var width, height;
+    let offsetCanvasX, offsetCanvasY;
+    let width, height;
 
     if (rotateA === 0) {
       offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
@@ -13380,72 +3482,53 @@ function () {
     this.height = height;
   }
 
-  _createClass(PageViewport, [{
-    key: "clone",
-    value: function clone() {
-      var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref6$scale = _ref6.scale,
-          scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
-          _ref6$rotation = _ref6.rotation,
-          rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
-          _ref6$dontFlip = _ref6.dontFlip,
-          dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;
-
-      return new PageViewport({
-        viewBox: this.viewBox.slice(),
-        scale: scale,
-        rotation: rotation,
-        offsetX: this.offsetX,
-        offsetY: this.offsetY,
-        dontFlip: dontFlip
-      });
-    }
-  }, {
-    key: "convertToViewportPoint",
-    value: function convertToViewportPoint(x, y) {
-      return _util.Util.applyTransform([x, y], this.transform);
-    }
-  }, {
-    key: "convertToViewportRectangle",
-    value: function convertToViewportRectangle(rect) {
-      var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
+  clone({
+    scale = this.scale,
+    rotation = this.rotation,
+    offsetX = this.offsetX,
+    offsetY = this.offsetY,
+    dontFlip = false
+  } = {}) {
+    return new PageViewport({
+      viewBox: this.viewBox.slice(),
+      scale,
+      rotation,
+      offsetX,
+      offsetY,
+      dontFlip
+    });
+  }
 
-      var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
+  convertToViewportPoint(x, y) {
+    return _util.Util.applyTransform([x, y], this.transform);
+  }
 
-      return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
-    }
-  }, {
-    key: "convertToPdfPoint",
-    value: function convertToPdfPoint(x, y) {
-      return _util.Util.applyInverseTransform([x, y], this.transform);
-    }
-  }]);
+  convertToViewportRectangle(rect) {
+    const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
 
-  return PageViewport;
-}();
+    const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
 
-exports.PageViewport = PageViewport;
+    return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
+  }
 
-var RenderingCancelledException =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(RenderingCancelledException, _BaseException);
+  convertToPdfPoint(x, y) {
+    return _util.Util.applyInverseTransform([x, y], this.transform);
+  }
 
-  function RenderingCancelledException(msg, type) {
-    var _this2;
+}
 
-    _classCallCheck(this, RenderingCancelledException);
+exports.PageViewport = PageViewport;
 
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));
-    _this2.type = type;
-    return _this2;
+class RenderingCancelledException extends _util.BaseException {
+  constructor(msg, type) {
+    super(msg);
+    this.type = type;
   }
 
-  return RenderingCancelledException;
-}(_util.BaseException);
+}
 
 exports.RenderingCancelledException = RenderingCancelledException;
-var LinkTarget = {
+const LinkTarget = {
   NONE: 0,
   SELF: 1,
   BLANK: 2,
@@ -13453,204 +3536,135 @@ var LinkTarget = {
   TOP: 4
 };
 exports.LinkTarget = LinkTarget;
-var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];
 
-function addLinkAttributes(link) {
-  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-      url = _ref7.url,
-      target = _ref7.target,
-      rel = _ref7.rel,
-      _ref7$enabled = _ref7.enabled,
-      enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;
-
-  (0, _util.assert)(url && typeof url === 'string', 'addLinkAttributes: A valid "url" parameter must 
provided.');
-  var urlNullRemoved = (0, _util.removeNullCharacters)(url);
+function addLinkAttributes(link, {
+  url,
+  target,
+  rel,
+  enabled = true
+} = {}) {
+  (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must 
provided.');
+  const urlNullRemoved = (0, _util.removeNullCharacters)(url);
 
   if (enabled) {
     link.href = link.title = urlNullRemoved;
   } else {
-    link.href = '';
-    link.title = "Disabled: ".concat(urlNullRemoved);
+    link.href = "";
+    link.title = `Disabled: ${urlNullRemoved}`;
 
-    link.onclick = function () {
+    link.onclick = () => {
       return false;
     };
   }
 
-  var LinkTargetValues = Object.values(LinkTarget);
-  var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;
-  link.target = LinkTargetStringMap[targetIndex];
-  link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;
+  let 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;
 }
 
 function getFilenameFromUrl(url) {
-  var anchor = url.indexOf('#');
-  var query = url.indexOf('?');
-  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
-  return url.substring(url.lastIndexOf('/', end) + 1, end);
+  const anchor = url.indexOf("#");
+  const query = url.indexOf("?");
+  const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
+  return url.substring(url.lastIndexOf("/", end) + 1, end);
 }
 
-var StatTimer =
-/*#__PURE__*/
-function () {
-  function StatTimer() {
-    var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
-    _classCallCheck(this, StatTimer);
-
-    this.enabled = !!enable;
+class StatTimer {
+  constructor() {
     this.started = Object.create(null);
     this.times = [];
   }
 
-  _createClass(StatTimer, [{
-    key: "time",
-    value: function time(name) {
-      if (!this.enabled) {
-        return;
-      }
-
-      if (name in this.started) {
-        (0, _util.warn)('Timer is already running for ' + name);
-      }
-
-      this.started[name] = Date.now();
+  time(name) {
+    if (name in this.started) {
+      (0, _util.warn)(`Timer is already running for ${name}`);
     }
-  }, {
-    key: "timeEnd",
-    value: function timeEnd(name) {
-      if (!this.enabled) {
-        return;
-      }
 
-      if (!(name in this.started)) {
-        (0, _util.warn)('Timer has not been started for ' + name);
-      }
+    this.started[name] = Date.now();
+  }
 
-      this.times.push({
-        'name': name,
-        'start': this.started[name],
-        'end': Date.now()
-      });
-      delete this.started[name];
+  timeEnd(name) {
+    if (!(name in this.started)) {
+      (0, _util.warn)(`Timer has not been started for ${name}`);
     }
-  }, {
-    key: "toString",
-    value: function toString() {
-      var out = '',
-          longest = 0;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
 
-      try {
-        for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-          var time = _step.value;
-          var name = time.name;
+    this.times.push({
+      name,
+      start: this.started[name],
+      end: Date.now()
+    });
+    delete this.started[name];
+  }
 
-          if (name.length > longest) {
-            longest = name.length;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
+  toString() {
+    const outBuf = [];
+    let longest = 0;
 
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
+    for (const time of this.times) {
+      const name = time.name;
 
-      try {
-        for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 
= _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var _time = _step2.value;
-          var duration = _time.end - _time.start;
-          out += "".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n");
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
+      if (name.length > longest) {
+        longest = name.length;
       }
-
-      return out;
     }
-  }]);
 
-  return StatTimer;
-}();
-
-exports.StatTimer = StatTimer;
-
-var DummyStatTimer =
-/*#__PURE__*/
-function () {
-  function DummyStatTimer() {
-    _classCallCheck(this, DummyStatTimer);
+    for (const time of this.times) {
+      const duration = time.end - time.start;
+      outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\n`);
+    }
 
-    (0, _util.unreachable)('Cannot initialize DummyStatTimer.');
+    return outBuf.join("");
   }
 
-  _createClass(DummyStatTimer, null, [{
-    key: "time",
-    value: function time(name) {}
-  }, {
-    key: "timeEnd",
-    value: function timeEnd(name) {}
-  }, {
-    key: "toString",
-    value: function toString() {
-      return '';
-    }
-  }]);
-
-  return DummyStatTimer;
-}();
+}
 
-exports.DummyStatTimer = DummyStatTimer;
+exports.StatTimer = StatTimer;
 
 function isFetchSupported() {
-  return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && 
typeof ReadableStream !== 'undefined';
+  return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && 
typeof ReadableStream !== "undefined";
 }
 
 function isValidFetchUrl(url, baseUrl) {
   try {
-    var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
-        protocol = _ref8.protocol;
-
-    return protocol === 'http:' || protocol === 'https:';
+    const {
+      protocol
+    } = baseUrl ? new URL(url, baseUrl) : new URL(url);
+    return protocol === "http:" || protocol === "https:";
   } catch (ex) {
     return false;
   }
 }
 
 function loadScript(src) {
-  return new Promise(function (resolve, reject) {
-    var script = document.createElement('script');
+  return new Promise((resolve, reject) => {
+    const script = document.createElement("script");
     script.src = src;
     script.onload = resolve;
 
     script.onerror = function () {
-      reject(new Error("Cannot load script at: ".concat(script.src)));
+      reject(new Error(`Cannot load script at: ${script.src}`));
     };
 
     (document.head || document.documentElement).appendChild(script);
@@ -13658,82 +3672,72 @@ function loadScript(src) {
 }
 
 function deprecated(details) {
-  console.log('Deprecated API usage: ' + details);
+  console.log("Deprecated API usage: " + details);
 }
 
 function releaseImageResources(img) {
-  (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');
-  var url = img.src;
+  (0, _util.assert)(img instanceof Image, "Invalid `img` parameter.");
+  const url = img.src;
 
-  if (typeof url === 'string' && url.startsWith('blob:') && URL.revokeObjectURL) {
+  if (typeof url === "string" && url.startsWith("blob:") && URL.revokeObjectURL) {
     URL.revokeObjectURL(url);
   }
 
-  img.removeAttribute('src');
+  img.removeAttribute("src");
 }
 
-var pdfDateStringRegex;
+let pdfDateStringRegex;
 
-var PDFDateString =
-/*#__PURE__*/
-function () {
-  function PDFDateString() {
-    _classCallCheck(this, PDFDateString);
-  }
+class PDFDateString {
+  static toDateObject(input) {
+    if (!input || !(0, _util.isString)(input)) {
+      return null;
+    }
 
-  _createClass(PDFDateString, null, [{
-    key: "toDateObject",
-    value: function toDateObject(input) {
-      if (!input || !(0, _util.isString)(input)) {
-        return null;
-      }
+    if (!pdfDateStringRegex) {
+      pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + 
"(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
+    }
 
-      if (!pdfDateStringRegex) {
-        pdfDateStringRegex = new RegExp('^D:' + '(\\d{4})' + '(\\d{2})?' + '(\\d{2})?' + '(\\d{2})?' + 
'(\\d{2})?' + '(\\d{2})?' + '([Z|+|-])?' + '(\\d{2})?' + '\'?' + '(\\d{2})?' + '\'?');
-      }
+    const matches = pdfDateStringRegex.exec(input);
 
-      var matches = pdfDateStringRegex.exec(input);
+    if (!matches) {
+      return null;
+    }
 
-      if (!matches) {
-        return null;
-      }
+    const year = parseInt(matches[1], 10);
+    let month = parseInt(matches[2], 10);
+    month = month >= 1 && month <= 12 ? month - 1 : 0;
+    let day = parseInt(matches[3], 10);
+    day = day >= 1 && day <= 31 ? day : 1;
+    let hour = parseInt(matches[4], 10);
+    hour = hour >= 0 && hour <= 23 ? hour : 0;
+    let minute = parseInt(matches[5], 10);
+    minute = minute >= 0 && minute <= 59 ? minute : 0;
+    let second = parseInt(matches[6], 10);
+    second = second >= 0 && second <= 59 ? second : 0;
+    const universalTimeRelation = matches[7] || "Z";
+    let offsetHour = parseInt(matches[8], 10);
+    offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
+    let offsetMinute = parseInt(matches[9], 10) || 0;
+    offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
 
-      var year = parseInt(matches[1], 10);
-      var month = parseInt(matches[2], 10);
-      month = month >= 1 && month <= 12 ? month - 1 : 0;
-      var day = parseInt(matches[3], 10);
-      day = day >= 1 && day <= 31 ? day : 1;
-      var hour = parseInt(matches[4], 10);
-      hour = hour >= 0 && hour <= 23 ? hour : 0;
-      var minute = parseInt(matches[5], 10);
-      minute = minute >= 0 && minute <= 59 ? minute : 0;
-      var second = parseInt(matches[6], 10);
-      second = second >= 0 && second <= 59 ? second : 0;
-      var universalTimeRelation = matches[7] || 'Z';
-      var offsetHour = parseInt(matches[8], 10);
-      offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
-      var offsetMinute = parseInt(matches[9], 10) || 0;
-      offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
-
-      if (universalTimeRelation === '-') {
-        hour += offsetHour;
-        minute += offsetMinute;
-      } else if (universalTimeRelation === '+') {
-        hour -= offsetHour;
-        minute -= offsetMinute;
-      }
-
-      return new Date(Date.UTC(year, month, day, hour, minute, second));
-    }
-  }]);
-
-  return PDFDateString;
-}();
+    if (universalTimeRelation === "-") {
+      hour += offsetHour;
+      minute += offsetMinute;
+    } else if (universalTimeRelation === "+") {
+      hour -= offsetHour;
+      minute -= offsetMinute;
+    }
+
+    return new Date(Date.UTC(year, month, day, hour, minute, second));
+  }
+
+}
 
 exports.PDFDateString = PDFDateString;
 
 /***/ }),
-/* 184 */
+/* 5 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -13744,45 +3748,15 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.FontLoader = exports.FontFaceObject = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
 var _util = __w_pdfjs_require__(1);
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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 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); return Constructor; }
-
-var BaseFontLoader =
-/*#__PURE__*/
-function () {
-  function BaseFontLoader(_ref) {
-    var docId = _ref.docId,
-        onUnsupportedFeature = _ref.onUnsupportedFeature;
-
-    _classCallCheck(this, BaseFontLoader);
-
+class BaseFontLoader {
+  constructor({
+    docId,
+    onUnsupportedFeature
+  }) {
     if (this.constructor === BaseFontLoader) {
-      (0, _util.unreachable)('Cannot initialize BaseFontLoader.');
+      (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
     }
 
     this.docId = docId;
@@ -13791,371 +3765,264 @@ function () {
     this.styleElement = null;
   }
 
-  _createClass(BaseFontLoader, [{
-    key: "addNativeFontFace",
-    value: function addNativeFontFace(nativeFontFace) {
-      this.nativeFontFaces.push(nativeFontFace);
-      document.fonts.add(nativeFontFace);
-    }
-  }, {
-    key: "insertRule",
-    value: function insertRule(rule) {
-      var styleElement = this.styleElement;
+  addNativeFontFace(nativeFontFace) {
+    this.nativeFontFaces.push(nativeFontFace);
+    document.fonts.add(nativeFontFace);
+  }
 
-      if (!styleElement) {
-        styleElement = this.styleElement = document.createElement('style');
-        styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);
-        document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);
-      }
+  insertRule(rule) {
+    let styleElement = this.styleElement;
 
-      var styleSheet = styleElement.sheet;
-      styleSheet.insertRule(rule, styleSheet.cssRules.length);
+    if (!styleElement) {
+      styleElement = this.styleElement = document.createElement("style");
+      styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;
+      document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
     }
-  }, {
-    key: "clear",
-    value: function clear() {
-      this.nativeFontFaces.forEach(function (nativeFontFace) {
-        document.fonts["delete"](nativeFontFace);
-      });
-      this.nativeFontFaces.length = 0;
-
-      if (this.styleElement) {
-        this.styleElement.remove();
-        this.styleElement = null;
-      }
-    }
-  }, {
-    key: "bind",
-    value: function () {
-      var _bind = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(font) {
-        var _this = this;
-
-        var nativeFontFace, rule;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(font.attached || font.missingFile)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return", undefined);
 
-              case 2:
-                font.attached = true;
-
-                if (!this.isFontLoadingAPISupported) {
-                  _context.next = 19;
-                  break;
-                }
+    const styleSheet = styleElement.sheet;
+    styleSheet.insertRule(rule, styleSheet.cssRules.length);
+  }
 
-                nativeFontFace = font.createNativeFontFace();
+  clear() {
+    this.nativeFontFaces.forEach(function (nativeFontFace) {
+      document.fonts.delete(nativeFontFace);
+    });
+    this.nativeFontFaces.length = 0;
 
-                if (!nativeFontFace) {
-                  _context.next = 18;
-                  break;
-                }
+    if (this.styleElement) {
+      this.styleElement.remove();
+      this.styleElement = null;
+    }
+  }
 
-                this.addNativeFontFace(nativeFontFace);
-                _context.prev = 7;
-                _context.next = 10;
-                return nativeFontFace.loaded;
+  async bind(font) {
+    if (font.attached || font.missingFile) {
+      return;
+    }
 
-              case 10:
-                _context.next = 18;
-                break;
+    font.attached = true;
 
-              case 12:
-                _context.prev = 12;
-                _context.t0 = _context["catch"](7);
+    if (this.isFontLoadingAPISupported) {
+      const nativeFontFace = font.createNativeFontFace();
 
-                this._onUnsupportedFeature({
-                  featureId: _util.UNSUPPORTED_FEATURES.font
-                });
+      if (nativeFontFace) {
+        this.addNativeFontFace(nativeFontFace);
 
-                (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': 
'").concat(_context.t0, "'."));
-                font.disableFontFace = true;
-                throw _context.t0;
+        try {
+          await nativeFontFace.loaded;
+        } catch (ex) {
+          this._onUnsupportedFeature({
+            featureId: _util.UNSUPPORTED_FEATURES.font
+          });
 
-              case 18:
-                return _context.abrupt("return", undefined);
+          (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);
+          font.disableFontFace = true;
+          throw ex;
+        }
+      }
 
-              case 19:
-                rule = font.createFontFaceRule();
+      return;
+    }
 
-                if (!rule) {
-                  _context.next = 25;
-                  break;
-                }
+    const rule = font.createFontFaceRule();
 
-                this.insertRule(rule);
+    if (rule) {
+      this.insertRule(rule);
 
-                if (!this.isSyncFontLoadingSupported) {
-                  _context.next = 24;
-                  break;
-                }
+      if (this.isSyncFontLoadingSupported) {
+        return;
+      }
 
-                return _context.abrupt("return", undefined);
+      await new Promise(resolve => {
+        const request = this._queueLoadingCallback(resolve);
 
-              case 24:
-                return _context.abrupt("return", new Promise(function (resolve) {
-                  var request = _this._queueLoadingCallback(resolve);
+        this._prepareFontLoadEvent([rule], [font], request);
+      });
+    }
+  }
 
-                  _this._prepareFontLoadEvent([rule], [font], request);
-                }));
+  _queueLoadingCallback(callback) {
+    (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
+  }
 
-              case 25:
-                return _context.abrupt("return", undefined);
+  get isFontLoadingAPISupported() {
+    const supported = typeof document !== "undefined" && !!document.fonts;
+    return (0, _util.shadow)(this, "isFontLoadingAPISupported", supported);
+  }
 
-              case 26:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this, [[7, 12]]);
-      }));
+  get isSyncFontLoadingSupported() {
+    (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
+  }
 
-      function bind(_x) {
-        return _bind.apply(this, arguments);
-      }
+  get _loadTestFont() {
+    (0, _util.unreachable)("Abstract method `_loadTestFont`.");
+  }
 
-      return bind;
-    }()
-  }, {
-    key: "_queueLoadingCallback",
-    value: function _queueLoadingCallback(callback) {
-      (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');
-    }
-  }, {
-    key: "_prepareFontLoadEvent",
-    value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
-      (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');
-    }
-  }, {
-    key: "isFontLoadingAPISupported",
-    get: function get() {
-      (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');
-    }
-  }, {
-    key: "isSyncFontLoadingSupported",
-    get: function get() {
-      (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');
-    }
-  }, {
-    key: "_loadTestFont",
-    get: function get() {
-      (0, _util.unreachable)('Abstract method `_loadTestFont`.');
-    }
-  }]);
+  _prepareFontLoadEvent(rules, fontsToLoad, request) {
+    (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
+  }
 
-  return BaseFontLoader;
-}();
+}
 
-var FontLoader;
+let FontLoader;
 exports.FontLoader = FontLoader;
 {
-  exports.FontLoader = FontLoader =
-  /*#__PURE__*/
-  function (_BaseFontLoader) {
-    _inherits(GenericFontLoader, _BaseFontLoader);
-
-    function GenericFontLoader(docId) {
-      var _this2;
-
-      _classCallCheck(this, GenericFontLoader);
-
-      _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));
-      _this2.loadingContext = {
+  exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {
+    constructor(docId) {
+      super(docId);
+      this.loadingContext = {
         requests: [],
         nextRequestId: 0
       };
-      _this2.loadTestFontId = 0;
-      return _this2;
+      this.loadTestFontId = 0;
     }
 
-    _createClass(GenericFontLoader, [{
-      key: "_queueLoadingCallback",
-      value: function _queueLoadingCallback(callback) {
-        function completeRequest() {
-          (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');
-          request.done = true;
-
-          while (context.requests.length > 0 && context.requests[0].done) {
-            var otherRequest = context.requests.shift();
-            setTimeout(otherRequest.callback, 0);
-          }
-        }
+    get isSyncFontLoadingSupported() {
+      let supported = false;
 
-        var context = this.loadingContext;
-        var request = {
-          id: "pdfjs-font-loading-".concat(context.nextRequestId++),
-          done: false,
-          complete: completeRequest,
-          callback: callback
-        };
-        context.requests.push(request);
-        return request;
-      }
-    }, {
-      key: "_prepareFontLoadEvent",
-      value: function _prepareFontLoadEvent(rules, fonts, request) {
-        function int32(data, offset) {
-          return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset 
+ 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
-        }
+      if (typeof navigator === "undefined") {
+        supported = true;
+      } else {
+        const m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
 
-        function spliceString(s, offset, remove, insert) {
-          var chunk1 = s.substring(0, offset);
-          var chunk2 = s.substring(offset + remove);
-          return chunk1 + insert + chunk2;
+        if (m && m[1] >= 14) {
+          supported = true;
         }
+      }
 
-        var i, ii;
-        var canvas = document.createElement('canvas');
-        canvas.width = 1;
-        canvas.height = 1;
-        var ctx = canvas.getContext('2d');
-        var called = 0;
+      return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
+    }
 
-        function isFontReady(name, callback) {
-          called++;
+    _queueLoadingCallback(callback) {
+      function completeRequest() {
+        (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
+        request.done = true;
 
-          if (called > 30) {
-            (0, _util.warn)('Load test font never loaded.');
-            callback();
-            return;
-          }
+        while (context.requests.length > 0 && context.requests[0].done) {
+          const otherRequest = context.requests.shift();
+          setTimeout(otherRequest.callback, 0);
+        }
+      }
 
-          ctx.font = '30px ' + name;
-          ctx.fillText('.', 0, 20);
-          var imageData = ctx.getImageData(0, 0, 1, 1);
+      const context = this.loadingContext;
+      const request = {
+        id: `pdfjs-font-loading-${context.nextRequestId++}`,
+        done: false,
+        complete: completeRequest,
+        callback
+      };
+      context.requests.push(request);
+      return request;
+    }
 
-          if (imageData.data[3] > 0) {
-            callback();
-            return;
-          }
+    get _loadTestFont() {
+      const getLoadTestFont = function () {
+        return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + 
"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + 
"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + 
"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + 
"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + 
"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + 
"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + 
"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + 
"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + 
"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + 
"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + 
"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + 
"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + 
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + 
"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + 
"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + 
"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + 
"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
+      };
 
-          setTimeout(isFontReady.bind(null, name, callback));
-        }
+      return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
+    }
 
-        var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
-        var data = this._loadTestFont;
-        var COMMENT_OFFSET = 976;
-        data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
-        var CFF_CHECKSUM_OFFSET = 16;
-        var XXXX_VALUE = 0x58585858;
-        var checksum = int32(data, CFF_CHECKSUM_OFFSET);
+    _prepareFontLoadEvent(rules, fonts, request) {
+      function int32(data, offset) {
+        return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 
2) << 8 | data.charCodeAt(offset + 3) & 0xff;
+      }
 
-        for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
-          checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
-        }
+      function spliceString(s, offset, remove, insert) {
+        const chunk1 = s.substring(0, offset);
+        const chunk2 = s.substring(offset + remove);
+        return chunk1 + insert + chunk2;
+      }
 
-        if (i < loadTestFontId.length) {
-          checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;
-        }
+      let i, ii;
+      const canvas = document.createElement("canvas");
+      canvas.width = 1;
+      canvas.height = 1;
+      const ctx = canvas.getContext("2d");
+      let called = 0;
 
-        data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
-        var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
-        var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
-        this.insertRule(rule);
-        var names = [];
+      function isFontReady(name, callback) {
+        called++;
 
-        for (i = 0, ii = fonts.length; i < ii; i++) {
-          names.push(fonts[i].loadedName);
+        if (called > 30) {
+          (0, _util.warn)("Load test font never loaded.");
+          callback();
+          return;
         }
 
-        names.push(loadTestFontId);
-        var div = document.createElement('div');
-        div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: 
absolute; top: 0px; left: 0px;');
+        ctx.font = "30px " + name;
+        ctx.fillText(".", 0, 20);
+        const imageData = ctx.getImageData(0, 0, 1, 1);
 
-        for (i = 0, ii = names.length; i < ii; ++i) {
-          var span = document.createElement('span');
-          span.textContent = 'Hi';
-          span.style.fontFamily = names[i];
-          div.appendChild(span);
+        if (imageData.data[3] > 0) {
+          callback();
+          return;
         }
 
-        document.body.appendChild(div);
-        isFontReady(loadTestFontId, function () {
-          document.body.removeChild(div);
-          request.complete();
-        });
+        setTimeout(isFontReady.bind(null, name, callback));
       }
-    }, {
-      key: "isFontLoadingAPISupported",
-      get: function get() {
-        var supported = typeof document !== 'undefined' && !!document.fonts;
 
-        if (supported && typeof navigator !== 'undefined') {
-          var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
+      const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;
+      let data = this._loadTestFont;
+      const COMMENT_OFFSET = 976;
+      data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
+      const CFF_CHECKSUM_OFFSET = 16;
+      const XXXX_VALUE = 0x58585858;
+      let checksum = int32(data, CFF_CHECKSUM_OFFSET);
 
-          if (m && m[1] < 63) {
-            supported = false;
-          }
-        }
-
-        return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);
+      for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
+        checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
       }
-    }, {
-      key: "isSyncFontLoadingSupported",
-      get: function get() {
-        var supported = false;
 
-        if (typeof navigator === 'undefined') {
-          supported = true;
-        } else {
-          var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
+      if (i < loadTestFontId.length) {
+        checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
+      }
 
-          if (m && m[1] >= 14) {
-            supported = true;
-          }
-        }
+      data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
+      const url = `url(data:font/opentype;base64,${btoa(data)});`;
+      const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`;
+      this.insertRule(rule);
+      const names = [];
 
-        return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);
+      for (i = 0, ii = fonts.length; i < ii; i++) {
+        names.push(fonts[i].loadedName);
       }
-    }, {
-      key: "_loadTestFont",
-      get: function get() {
-        var getLoadTestFont = function getLoadTestFont() {
-          return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 
'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 
'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 
'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 
'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + 
'6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 
'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 
'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 
'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 
'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 
'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 
'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 
'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAA
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 
'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 
'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 
'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 
'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');
-        };
 
-        return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());
-      }
-    }]);
+      names.push(loadTestFontId);
+      const div = document.createElement("div");
+      div.style.visibility = "hidden";
+      div.style.width = div.style.height = "10px";
+      div.style.position = "absolute";
+      div.style.top = div.style.left = "0px";
 
-    return GenericFontLoader;
-  }(BaseFontLoader);
-}
-var IsEvalSupportedCached = {
-  get value() {
-    return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());
-  }
+      for (i = 0, ii = names.length; i < ii; ++i) {
+        const span = document.createElement("span");
+        span.textContent = "Hi";
+        span.style.fontFamily = names[i];
+        div.appendChild(span);
+      }
 
-};
+      document.body.appendChild(div);
+      isFontReady(loadTestFontId, function () {
+        document.body.removeChild(div);
+        request.complete();
+      });
+    }
 
-var FontFaceObject =
-/*#__PURE__*/
-function () {
-  function FontFaceObject(translatedData, _ref2) {
-    var _ref2$isEvalSupported = _ref2.isEvalSupported,
-        isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
-        _ref2$disableFontFace = _ref2.disableFontFace,
-        disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
-        _ref2$ignoreErrors = _ref2.ignoreErrors,
-        ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
-        _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
-        onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
-        _ref2$fontRegistry = _ref2.fontRegistry,
-        fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;
-
-    _classCallCheck(this, FontFaceObject);
+  };
+}
 
+class FontFaceObject {
+  constructor(translatedData, {
+    isEvalSupported = true,
+    disableFontFace = false,
+    ignoreErrors = false,
+    onUnsupportedFeature = null,
+    fontRegistry = null
+  }) {
     this.compiledGlyphs = Object.create(null);
 
-    for (var i in translatedData) {
+    for (const i in translatedData) {
       this[i] = translatedData[i];
     }
 
@@ -14166,116 +4033,112 @@ function () {
     this.fontRegistry = fontRegistry;
   }
 
-  _createClass(FontFaceObject, [{
-    key: "createNativeFontFace",
-    value: function createNativeFontFace() {
-      if (!this.data || this.disableFontFace) {
-        return null;
-      }
-
-      var nativeFontFace = new FontFace(this.loadedName, this.data, {});
+  createNativeFontFace() {
+    if (!this.data || this.disableFontFace) {
+      return null;
+    }
 
-      if (this.fontRegistry) {
-        this.fontRegistry.registerFont(this);
-      }
+    const nativeFontFace = new FontFace(this.loadedName, this.data, {});
 
-      return nativeFontFace;
+    if (this.fontRegistry) {
+      this.fontRegistry.registerFont(this);
     }
-  }, {
-    key: "createFontFaceRule",
-    value: function createFontFaceRule() {
-      if (!this.data || this.disableFontFace) {
-        return null;
-      }
 
-      var data = (0, _util.bytesToString)(new Uint8Array(this.data));
-      var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
-      var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");
+    return nativeFontFace;
+  }
 
-      if (this.fontRegistry) {
-        this.fontRegistry.registerFont(this, url);
-      }
+  createFontFaceRule() {
+    if (!this.data || this.disableFontFace) {
+      return null;
+    }
+
+    const data = (0, _util.bytesToString)(new Uint8Array(this.data));
+    const url = `url(data:${this.mimetype};base64,${btoa(data)});`;
+    const rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`;
 
-      return rule;
+    if (this.fontRegistry) {
+      this.fontRegistry.registerFont(this, url);
     }
-  }, {
-    key: "getPathGenerator",
-    value: function getPathGenerator(objs, character) {
-      if (this.compiledGlyphs[character] !== undefined) {
-        return this.compiledGlyphs[character];
-      }
 
-      var cmds, current;
+    return rule;
+  }
 
-      try {
-        cmds = objs.get(this.loadedName + '_path_' + character);
-      } catch (ex) {
-        if (!this.ignoreErrors) {
-          throw ex;
-        }
+  getPathGenerator(objs, character) {
+    if (this.compiledGlyphs[character] !== undefined) {
+      return this.compiledGlyphs[character];
+    }
 
-        if (this._onUnsupportedFeature) {
-          this._onUnsupportedFeature({
-            featureId: _util.UNSUPPORTED_FEATURES.font
-          });
-        }
+    let cmds, current;
 
-        (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
-        return this.compiledGlyphs[character] = function (c, size) {};
+    try {
+      cmds = objs.get(this.loadedName + "_path_" + character);
+    } catch (ex) {
+      if (!this.ignoreErrors) {
+        throw ex;
+      }
+
+      if (this._onUnsupportedFeature) {
+        this._onUnsupportedFeature({
+          featureId: _util.UNSUPPORTED_FEATURES.font
+        });
       }
 
-      if (this.isEvalSupported && IsEvalSupportedCached.value) {
-        var args,
-            js = '';
+      (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`);
+      return this.compiledGlyphs[character] = function (c, size) {};
+    }
 
-        for (var i = 0, ii = cmds.length; i < ii; i++) {
-          current = cmds[i];
+    if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
+      let args,
+          js = "";
 
-          if (current.args !== undefined) {
-            args = current.args.join(',');
-          } else {
-            args = '';
-          }
+      for (let i = 0, ii = cmds.length; i < ii; i++) {
+        current = cmds[i];
 
-          js += 'c.' + current.cmd + '(' + args + ');\n';
+        if (current.args !== undefined) {
+          args = current.args.join(",");
+        } else {
+          args = "";
         }
 
-        return this.compiledGlyphs[character] = new Function('c', 'size', js);
+        js += "c." + current.cmd + "(" + args + ");\n";
       }
 
-      return this.compiledGlyphs[character] = function (c, size) {
-        for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
-          current = cmds[_i];
+      return this.compiledGlyphs[character] = new Function("c", "size", js);
+    }
 
-          if (current.cmd === 'scale') {
-            current.args = [size, -size];
-          }
+    return this.compiledGlyphs[character] = function (c, size) {
+      for (let i = 0, ii = cmds.length; i < ii; i++) {
+        current = cmds[i];
 
-          c[current.cmd].apply(c, current.args);
+        if (current.cmd === "scale") {
+          current.args = [size, -size];
         }
-      };
-    }
-  }]);
 
-  return FontFaceObject;
-}();
+        c[current.cmd].apply(c, current.args);
+      }
+    };
+  }
+
+}
 
 exports.FontFaceObject = FontFaceObject;
 
 /***/ }),
-/* 185 */
+/* 6 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
 
 
-var compatibilityParams = Object.create(null);
+const compatibilityParams = Object.create(null);
 {
-  var isNodeJS = __w_pdfjs_require__(4);
+  const {
+    isNodeJS
+  } = __w_pdfjs_require__(7);
 
-  var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';
-  var isIE = /Trident/.test(userAgent);
-  var isIOSChrome = /CriOS/.test(userAgent);
+  const userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
+  const isIE = /Trident/.test(userAgent);
+  const isIOSChrome = /CriOS/.test(userAgent);
 
   (function checkOnBlobSupport() {
     if (isIE || isIOSChrome) {
@@ -14284,16 +4147,30 @@ var compatibilityParams = Object.create(null);
   })();
 
   (function checkFontFaceAndImage() {
-    if (isNodeJS()) {
+    if (isNodeJS) {
       compatibilityParams.disableFontFace = true;
-      compatibilityParams.nativeImageDecoderSupport = 'none';
+      compatibilityParams.nativeImageDecoderSupport = "none";
     }
   })();
 }
 exports.apiCompatibilityParams = Object.freeze(compatibilityParams);
 
 /***/ }),
-/* 186 */
+/* 7 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.isNodeJS = void 0;
+const isNodeJS = typeof process === "object" && process + "" === "[object process]" && 
!process.versions["nw"] && !process.versions["electron"];
+exports.isNodeJS = isNodeJS;
+
+/***/ }),
+/* 8 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -14306,7 +4183,7 @@ exports.CanvasGraphics = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-var _pattern_helper = __w_pdfjs_require__(187);
+var _pattern_helper = __w_pdfjs_require__(9);
 
 var MIN_FONT_SIZE = 16;
 var MAX_FONT_SIZE = 100;
@@ -14315,12 +4192,6 @@ var MIN_WIDTH_FACTOR = 0.65;
 var COMPILE_TYPE3_GLYPHS = true;
 var MAX_SIZE_TO_COMPILE = 1000;
 var FULL_CHUNK_HEIGHT = 16;
-var IsLittleEndianCached = {
-  get value() {
-    return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());
-  }
-
-};
 
 function addContextCurrentTransform(ctx) {
   if (!ctx.mozCurrentTransform) {
@@ -14333,12 +4204,12 @@ function addContextCurrentTransform(ctx) {
     ctx._originalSetTransform = ctx.setTransform;
     ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
     ctx._transformStack = [];
-    Object.defineProperty(ctx, 'mozCurrentTransform', {
+    Object.defineProperty(ctx, "mozCurrentTransform", {
       get: function getCurrentTransform() {
         return this._transformMatrix;
       }
     });
-    Object.defineProperty(ctx, 'mozCurrentTransformInverse', {
+    Object.defineProperty(ctx, "mozCurrentTransformInverse", {
       get: function getCurrentTransformInverse() {
         var m = this._transformMatrix;
         var a = m[0],
@@ -14440,13 +4311,15 @@ var CachedCanvases = function CachedCanvasesClosure() {
 
       return canvasEntry;
     },
-    clear: function clear() {
+
+    clear() {
       for (var id in this.cache) {
         var canvasEntry = this.cache[id];
         this.canvasFactory.destroy(canvasEntry);
         delete this.cache[id];
       }
     }
+
   };
   return CachedCanvases;
 }();
@@ -14606,7 +4479,7 @@ function compileType3Glyph(imgData) {
     --i;
   }
 
-  var drawOutline = function drawOutline(c) {
+  var drawOutline = function (c) {
     c.save();
     c.scale(1 / width, -1 / height);
     c.translate(0, -height);
@@ -14647,8 +4520,8 @@ var CanvasExtraState = function CanvasExtraStateClosure() {
     this.textHScale = 1;
     this.textRenderingMode = _util.TextRenderingMode.FILL;
     this.textRise = 0;
-    this.fillColor = '#000000';
-    this.strokeColor = '#000000';
+    this.fillColor = "#000000";
+    this.strokeColor = "#000000";
     this.patternFill = false;
     this.fillAlpha = 1;
     this.strokeAlpha = 1;
@@ -14704,7 +4577,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
   }
 
   function putBinaryImageData(ctx, imgData) {
-    if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {
+    if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
       ctx.putImageData(imgData, 0, 0);
       return;
     }
@@ -14726,8 +4599,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
       var dest32DataLength = dest32.length;
       var fullSrcDiff = width + 7 >> 3;
-      var white = 0xFFFFFFFF;
-      var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;
+      var white = 0xffffffff;
+      var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;
 
       for (i = 0; i < totalChunks; i++) {
         thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
@@ -14808,7 +4681,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
       }
     } else {
-      throw new Error("bad image kind: ".concat(imgData.kind));
+      throw new Error(`bad image kind: ${imgData.kind}`);
     }
   }
 
@@ -14847,7 +4720,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
   }
 
   function copyCtxState(sourceCtx, destCtx) {
-    var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 
'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];
+    var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", 
"lineJoin", "miterLimit", "globalCompositeOperation", "font"];
 
     for (var i = 0, ii = properties.length; i < ii; i++) {
       var property = properties[i];
@@ -14864,16 +4737,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
   }
 
   function resetCtxToDefault(ctx) {
-    ctx.strokeStyle = '#000000';
-    ctx.fillStyle = '#000000';
-    ctx.fillRule = 'nonzero';
+    ctx.strokeStyle = "#000000";
+    ctx.fillStyle = "#000000";
+    ctx.fillRule = "nonzero";
     ctx.globalAlpha = 1;
     ctx.lineWidth = 1;
-    ctx.lineCap = 'butt';
-    ctx.lineJoin = 'miter';
+    ctx.lineCap = "butt";
+    ctx.lineJoin = "miter";
     ctx.miterLimit = 10;
-    ctx.globalCompositeOperation = 'source-over';
-    ctx.font = '10px sans-serif';
+    ctx.globalCompositeOperation = "source-over";
+    ctx.font = "10px sans-serif";
 
     if (ctx.setLineDash !== undefined) {
       ctx.setLineDash([]);
@@ -14926,7 +4799,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
     var b0 = hasBackdrop ? backdrop[2] : 0;
     var composeFn;
 
-    if (subtype === 'Luminosity') {
+    if (subtype === "Luminosity") {
       composeFn = composeSMaskLuminosity;
     } else {
       composeFn = composeSMaskAlpha;
@@ -14956,12 +4829,12 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
     var backdrop = smask.backdrop || null;
 
     if (!smask.transferMap && webGLContext.isEnabled) {
-      var composed = webGLContext.composeSMask({
+      const composed = webGLContext.composeSMask({
         layer: layerCtx.canvas,
-        mask: mask,
+        mask,
         properties: {
           subtype: smask.subtype,
-          backdrop: backdrop
+          backdrop
         }
       });
       ctx.setTransform(1, 0, 0, 1, 0, 0);
@@ -14973,27 +4846,26 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
     ctx.drawImage(mask, 0, 0);
   }
 
-  var LINE_CAP_STYLES = ['butt', 'round', 'square'];
-  var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];
+  var LINE_CAP_STYLES = ["butt", "round", "square"];
+  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
   var NORMAL_CLIP = {};
   var EO_CLIP = {};
   CanvasGraphics.prototype = {
-    beginDrawing: function beginDrawing(_ref) {
-      var transform = _ref.transform,
-          viewport = _ref.viewport,
-          _ref$transparency = _ref.transparency,
-          transparency = _ref$transparency === void 0 ? false : _ref$transparency,
-          _ref$background = _ref.background,
-          background = _ref$background === void 0 ? null : _ref$background;
+    beginDrawing({
+      transform,
+      viewport,
+      transparency = false,
+      background = null
+    }) {
       var width = this.ctx.canvas.width;
       var height = this.ctx.canvas.height;
       this.ctx.save();
-      this.ctx.fillStyle = background || 'rgb(255, 255, 255)';
+      this.ctx.fillStyle = background || "rgb(255, 255, 255)";
       this.ctx.fillRect(0, 0, width, height);
       this.ctx.restore();
 
       if (transparency) {
-        var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);
+        var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
         this.compositeCtx = this.ctx;
         this.transparentCanvas = transparentCanvas.canvas;
         this.ctx = transparentCanvas.context;
@@ -15015,6 +4887,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         this.imageLayer.beginLayout();
       }
     },
+
     executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, 
continueCallback, stepper) {
       var argsArray = operatorList.argsArray;
       var fnArray = operatorList.fnArray;
@@ -15025,7 +4898,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         return i;
       }
 
-      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';
+      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
       var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
       var steps = 0;
       var commonObjs = this.commonObjs;
@@ -15043,32 +4916,12 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         if (fnId !== _util.OPS.dependency) {
           this[fnId].apply(this, argsArray[i]);
         } else {
-          var _iteratorNormalCompletion = true;
-          var _didIteratorError = false;
-          var _iteratorError = undefined;
-
-          try {
-            for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = 
(_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-              var depObjId = _step.value;
-              var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;
+          for (const depObjId of argsArray[i]) {
+            const objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
 
-              if (!objsPool.has(depObjId)) {
-                objsPool.get(depObjId, continueCallback);
-                return i;
-              }
-            }
-          } catch (err) {
-            _didIteratorError = true;
-            _iteratorError = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-                _iterator["return"]();
-              }
-            } finally {
-              if (_didIteratorError) {
-                throw _iteratorError;
-              }
+            if (!objsPool.has(depObjId)) {
+              objsPool.get(depObjId, continueCallback);
+              return i;
             }
           }
         }
@@ -15133,8 +4986,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         ctx.lineDashOffset = dashPhase;
       }
     },
-    setRenderingIntent: function setRenderingIntent(intent) {},
-    setFlatness: function setFlatness(flatness) {},
+
+    setRenderingIntent(intent) {},
+
+    setFlatness(flatness) {},
+
     setGState: function CanvasGraphics_setGState(states) {
       for (var i = 0, ii = states.length; i < ii; i++) {
         var state = states[i];
@@ -15142,52 +4998,52 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         var value = state[1];
 
         switch (key) {
-          case 'LW':
+          case "LW":
             this.setLineWidth(value);
             break;
 
-          case 'LC':
+          case "LC":
             this.setLineCap(value);
             break;
 
-          case 'LJ':
+          case "LJ":
             this.setLineJoin(value);
             break;
 
-          case 'ML':
+          case "ML":
             this.setMiterLimit(value);
             break;
 
-          case 'D':
+          case "D":
             this.setDash(value[0], value[1]);
             break;
 
-          case 'RI':
+          case "RI":
             this.setRenderingIntent(value);
             break;
 
-          case 'FL':
+          case "FL":
             this.setFlatness(value);
             break;
 
-          case 'Font':
+          case "Font":
             this.setFont(value[0], value[1]);
             break;
 
-          case 'CA':
+          case "CA":
             this.current.strokeAlpha = state[1];
             break;
 
-          case 'ca':
+          case "ca":
             this.current.fillAlpha = state[1];
             this.ctx.globalAlpha = state[1];
             break;
 
-          case 'BM':
+          case "BM":
             this.ctx.globalCompositeOperation = value;
             break;
 
-          case 'SMask':
+          case "SMask":
             if (this.current.activeSMask) {
               if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === 
this.current.activeSMask) {
                 this.suspendSMaskGroup();
@@ -15211,7 +5067,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var activeSMask = this.current.activeSMask;
       var drawnWidth = activeSMask.canvas.width;
       var drawnHeight = activeSMask.canvas.height;
-      var cacheId = 'smaskGroupAt' + this.groupLevel;
+      var cacheId = "smaskGroupAt" + this.groupLevel;
       var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
       var currentCtx = this.ctx;
       var currentTransform = currentCtx.mozCurrentTransform;
@@ -15223,7 +5079,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
       copyCtxState(currentCtx, groupCtx);
       this.ctx = groupCtx;
-      this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);
+      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
       this.groupStack.push(currentCtx);
       this.groupLevel++;
     },
@@ -15368,16 +5224,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.ctx.closePath();
     },
     stroke: function CanvasGraphics_stroke(consumePath) {
-      consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
+      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
       var ctx = this.ctx;
       var strokeColor = this.current.strokeColor;
       ctx.globalAlpha = this.current.strokeAlpha;
 
-      if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {
+      if (strokeColor && strokeColor.hasOwnProperty("type") && strokeColor.type === "Pattern") {
         ctx.save();
-        var transform = ctx.mozCurrentTransform;
+        const transform = ctx.mozCurrentTransform;
 
-        var scale = _util.Util.singularValueDecompose2dScale(transform)[0];
+        const scale = _util.Util.singularValueDecompose2dScale(transform)[0];
 
         ctx.strokeStyle = strokeColor.getPattern(ctx, this);
         ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * 
scale);
@@ -15399,7 +5255,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.stroke();
     },
     fill: function CanvasGraphics_fill(consumePath) {
-      consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
+      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
       var ctx = this.ctx;
       var fillColor = this.current.fillColor;
       var isPatternFill = this.current.patternFill;
@@ -15417,7 +5273,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       }
 
       if (this.pendingEOFill) {
-        ctx.fill('evenodd');
+        ctx.fill("evenodd");
         this.pendingEOFill = false;
       } else {
         ctx.fill();
@@ -15509,13 +5365,13 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var current = this.current;
 
       if (!fontObj) {
-        throw new Error("Can't find font for ".concat(fontRefName));
+        throw new Error(`Can't find font for ${fontRefName}`);
       }
 
       current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
 
       if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
-        (0, _util.warn)('Invalid font matrix for font ' + fontRefName);
+        (0, _util.warn)("Invalid font matrix for font " + fontRefName);
       }
 
       if (size < 0) {
@@ -15532,13 +5388,27 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         return;
       }
 
-      var name = fontObj.loadedName || 'sans-serif';
-      var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';
-      var italic = fontObj.italic ? 'italic' : 'normal';
-      var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
-      var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : 
size;
+      var name = fontObj.loadedName || "sans-serif";
+      let bold = "normal";
+
+      if (fontObj.black) {
+        bold = "900";
+      } else if (fontObj.bold) {
+        bold = "bold";
+      }
+
+      var italic = fontObj.italic ? "italic" : "normal";
+      var typeface = `"${name}", ${fontObj.fallbackName}`;
+      let browserFontSize = size;
+
+      if (size < MIN_FONT_SIZE) {
+        browserFontSize = MIN_FONT_SIZE;
+      } else if (size > MAX_FONT_SIZE) {
+        browserFontSize = MAX_FONT_SIZE;
+      }
+
       this.current.fontSizeScale = size / browserFontSize;
-      this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px 
").concat(typeface);
+      this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;
     },
     setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
       this.current.textRenderingMode = mode;
@@ -15563,7 +5433,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
     nextLine: function CanvasGraphics_nextLine() {
       this.moveText(0, this.current.leading);
     },
-    paintChar: function paintChar(character, x, y, patternTransform) {
+
+    paintChar(character, x, y, patternTransform) {
       var ctx = this.ctx;
       var current = this.current;
       var font = current.font;
@@ -15571,7 +5442,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var fontSize = current.fontSize / current.fontSizeScale;
       var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
       var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
-      var patternFill = current.patternFill && font.data;
+      const patternFill = current.patternFill && font.data;
       var addToPath;
 
       if (font.disableFontFace || isAddToPathSet || patternFill) {
@@ -15611,20 +5482,20 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
         paths.push({
           transform: ctx.mozCurrentTransform,
-          x: x,
-          y: y,
-          fontSize: fontSize,
-          addToPath: addToPath
+          x,
+          y,
+          fontSize,
+          addToPath
         });
       }
     },
 
     get isFontSubpixelAAEnabled() {
-      var _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),
-          ctx = _this$cachedCanvases$.context;
-
+      const {
+        context: ctx
+      } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10);
       ctx.scale(1.5, 1);
-      ctx.fillText('I', 0, 10);
+      ctx.fillText("I", 0, 10);
       var data = ctx.getImageData(0, 0, 10, 10).data;
       var enabled = false;
 
@@ -15635,7 +5506,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         }
       }
 
-      return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);
+      return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
     },
 
     showText: function CanvasGraphics_showText(glyphs) {
@@ -15665,11 +5536,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var widthAdvanceScale = fontSize * current.fontMatrix[0];
       var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && 
!font.disableFontFace && !current.patternFill;
       ctx.save();
-      var patternTransform;
+      let patternTransform;
 
       if (current.patternFill) {
         ctx.save();
-        var pattern = current.fillColor.getPattern(ctx, this);
+        const pattern = current.fillColor.getPattern(ctx, this);
         patternTransform = ctx.mozCurrentTransform;
         ctx.restore();
         ctx.fillStyle = pattern;
@@ -15764,7 +5635,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
           }
         }
 
-        var charWidth = width * widthAdvanceScale + spacing * fontDirection;
+        var charWidth;
+
+        if (vertical) {
+          charWidth = width * widthAdvanceScale - spacing * fontDirection;
+        } else {
+          charWidth = width * widthAdvanceScale + spacing * fontDirection;
+        }
+
         x += charWidth;
 
         if (restoreNeeded) {
@@ -15773,7 +5651,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       }
 
       if (vertical) {
-        current.y -= x * textHScale;
+        current.y -= x;
       } else {
         current.x += x * textHScale;
       }
@@ -15819,7 +5697,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         var operatorList = font.charProcOperatorList[glyph.operatorListId];
 
         if (!operatorList) {
-          (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
+          (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`);
           continue;
         }
 
@@ -15847,16 +5725,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.endPath();
     },
     getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
-      var _this = this;
-
       var pattern;
 
-      if (IR[0] === 'TilingPattern') {
+      if (IR[0] === "TilingPattern") {
         var color = IR[1];
         var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
         var canvasGraphicsFactory = {
-          createCanvasGraphics: function createCanvasGraphics(ctx) {
-            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, 
_this.webGLContext);
+          createCanvasGraphics: ctx => {
+            return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, 
this.webGLContext);
           }
         };
         pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, 
baseTransform);
@@ -15918,10 +5794,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.restore();
     },
     beginInlineImage: function CanvasGraphics_beginInlineImage() {
-      (0, _util.unreachable)('Should not call beginInlineImage');
+      (0, _util.unreachable)("Should not call beginInlineImage");
     },
     beginImageData: function CanvasGraphics_beginImageData() {
-      (0, _util.unreachable)('Should not call beginImageData');
+      (0, _util.unreachable)("Should not call beginImageData");
     },
     paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
       this.save();
@@ -15950,11 +5826,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var currentCtx = this.ctx;
 
       if (!group.isolated) {
-        (0, _util.info)('TODO: Support non-isolated groups.');
+        (0, _util.info)("TODO: Support non-isolated groups.");
       }
 
       if (group.knockout) {
-        (0, _util.warn)('Knockout groups not supported.');
+        (0, _util.warn)("Knockout groups not supported.");
       }
 
       var currentTransform = currentCtx.mozCurrentTransform;
@@ -15964,7 +5840,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       }
 
       if (!group.bbox) {
-        throw new Error('Bounding box is required.');
+        throw new Error("Bounding box is required.");
       }
 
       var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
@@ -15988,10 +5864,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         drawnHeight = MAX_GROUP_SIZE;
       }
 
-      var cacheId = 'groupAt' + this.groupLevel;
+      var cacheId = "groupAt" + this.groupLevel;
 
       if (group.smask) {
-        cacheId += '_smask_' + this.smaskCounter++ % 2;
+        cacheId += "_smask_" + this.smaskCounter++ % 2;
       }
 
       var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
@@ -16004,10 +5880,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         this.smaskStack.push({
           canvas: scratchCanvas.canvas,
           context: groupCtx,
-          offsetX: offsetX,
-          offsetY: offsetY,
-          scaleX: scaleX,
-          scaleY: scaleY,
+          offsetX,
+          offsetY,
+          scaleX,
+          scaleY,
           subtype: group.smask.subtype,
           backdrop: group.smask.backdrop,
           transferMap: group.smask.transferMap || null,
@@ -16021,7 +5897,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
 
       copyCtxState(currentCtx, groupCtx);
       this.ctx = groupCtx;
-      this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);
+      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
       this.groupStack.push(currentCtx);
       this.groupLevel++;
       this.current.activeSMask = null;
@@ -16075,10 +5951,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.restore();
     },
     paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {
-      var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
+      const domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
 
       if (!domImage) {
-        (0, _util.warn)('Dependent image isn\'t ready yet');
+        (0, _util.warn)("Dependent image isn't ready yet");
         return;
       }
 
@@ -16091,7 +5967,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         var currentTransform = ctx.mozCurrentTransformInverse;
         var position = this.getCanvasPosition(0, 0);
         this.imageLayer.appendImage({
-          objId: objId,
+          objId,
           left: position[0],
           top: position[1],
           width: w / currentTransform[0],
@@ -16113,8 +5989,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
           glyph.compiled = compileType3Glyph({
             data: img.data,
-            width: width,
-            height: height
+            width,
+            height
           });
         } else {
           glyph.compiled = null;
@@ -16126,11 +6002,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         return;
       }
 
-      var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
+      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
       var maskCtx = maskCanvas.context;
       maskCtx.save();
       putBinaryImageMask(maskCtx, img);
-      maskCtx.globalCompositeOperation = 'source-in';
+      maskCtx.globalCompositeOperation = "source-in";
       maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
       maskCtx.fillRect(0, 0, width, height);
       maskCtx.restore();
@@ -16141,11 +6017,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var height = imgData.height;
       var fillColor = this.current.fillColor;
       var isPatternFill = this.current.patternFill;
-      var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
+      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
       var maskCtx = maskCanvas.context;
       maskCtx.save();
       putBinaryImageMask(maskCtx, imgData);
-      maskCtx.globalCompositeOperation = 'source-in';
+      maskCtx.globalCompositeOperation = "source-in";
       maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
       maskCtx.fillRect(0, 0, width, height);
       maskCtx.restore();
@@ -16168,11 +6044,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         var image = images[i];
         var width = image.width,
             height = image.height;
-        var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
+        var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
         var maskCtx = maskCanvas.context;
         maskCtx.save();
         putBinaryImageMask(maskCtx, image);
-        maskCtx.globalCompositeOperation = 'source-in';
+        maskCtx.globalCompositeOperation = "source-in";
         maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
         maskCtx.fillRect(0, 0, width, height);
         maskCtx.restore();
@@ -16184,20 +6060,20 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       }
     },
     paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
-      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
+      const imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
 
       if (!imgData) {
-        (0, _util.warn)('Dependent image isn\'t ready yet');
+        (0, _util.warn)("Dependent image isn't ready yet");
         return;
       }
 
       this.paintInlineImageXObject(imgData);
     },
     paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, 
positions) {
-      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
+      const imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
 
       if (!imgData) {
-        (0, _util.warn)('Dependent image isn\'t ready yet');
+        (0, _util.warn)("Dependent image isn't ready yet");
         return;
       }
 
@@ -16232,10 +6108,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
       var imgToPaint, tmpCanvas;
 
-      if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {
+      if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
         imgToPaint = imgData;
       } else {
-        tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);
+        tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
         var tmpCtx = tmpCanvas.context;
         putBinaryImageData(tmpCtx, imgData);
         imgToPaint = tmpCanvas.canvas;
@@ -16243,7 +6119,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
 
       var paintWidth = width,
           paintHeight = height;
-      var tmpCanvasId = 'prescale1';
+      var tmpCanvasId = "prescale1";
 
       while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
         var newWidth = paintWidth,
@@ -16266,7 +6142,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         imgToPaint = tmpCanvas.canvas;
         paintWidth = newWidth;
         paintHeight = newHeight;
-        tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';
+        tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
       }
 
       ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);
@@ -16274,7 +6150,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       if (this.imageLayer) {
         var position = this.getCanvasPosition(0, -height);
         this.imageLayer.appendImage({
-          imgData: imgData,
+          imgData,
           left: position[0],
           top: position[1],
           width: width / currentTransform[0],
@@ -16288,7 +6164,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       var ctx = this.ctx;
       var w = imgData.width;
       var h = imgData.height;
-      var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);
+      var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
       var tmpCtx = tmpCanvas.context;
       putBinaryImageData(tmpCtx, imgData);
 
@@ -16302,7 +6178,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
         if (this.imageLayer) {
           var position = this.getCanvasPosition(entry.x, entry.y);
           this.imageLayer.appendImage({
-            imgData: imgData,
+            imgData,
             left: position[0],
             top: position[1],
             width: w,
@@ -16317,7 +6193,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
       this.ctx.fillRect(0, 0, 1, 1);
     },
     paintXObject: function CanvasGraphics_paintXObject() {
-      (0, _util.warn)('Unsupported \'paintXObject\' command.');
+      (0, _util.warn)("Unsupported 'paintXObject' command.");
     },
     markPoint: function CanvasGraphics_markPoint(tag) {},
     markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
@@ -16331,7 +6207,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
 
       if (this.pendingClip) {
         if (this.pendingClip === EO_CLIP) {
-          ctx.clip('evenodd');
+          ctx.clip("evenodd");
         } else {
           ctx.clip();
         }
@@ -16341,14 +6217,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
 
       ctx.beginPath();
     },
-    getSinglePixelWidth: function getSinglePixelWidth(scale) {
+
+    getSinglePixelWidth(scale) {
       if (this._cachedGetSinglePixelWidth === null) {
-        var inverse = this.ctx.mozCurrentTransformInverse;
+        const inverse = this.ctx.mozCurrentTransformInverse;
         this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * 
inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));
       }
 
       return this._cachedGetSinglePixelWidth;
     },
+
     getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
       var transform = this.ctx.mozCurrentTransform;
       return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + 
transform[5]];
@@ -16365,7 +6243,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
 exports.CanvasGraphics = CanvasGraphics;
 
 /***/ }),
-/* 187 */
+/* 9 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -16382,13 +6260,13 @@ var _util = __w_pdfjs_require__(1);
 var ShadingIRs = {};
 
 function applyBoundingBox(ctx, bbox) {
-  if (!bbox || typeof Path2D === 'undefined') {
+  if (!bbox || typeof Path2D === "undefined") {
     return;
   }
 
-  var width = bbox[2] - bbox[0];
-  var height = bbox[3] - bbox[1];
-  var region = new Path2D();
+  const width = bbox[2] - bbox[0];
+  const height = bbox[3] - bbox[1];
+  const region = new Path2D();
   region.rect(bbox[0], bbox[1], width, height);
   ctx.clip(region);
 }
@@ -16403,14 +6281,14 @@ ShadingIRs.RadialAxial = {
     var r0 = raw[6];
     var r1 = raw[7];
     return {
-      type: 'Pattern',
+      type: "Pattern",
       getPattern: function RadialAxial_getPattern(ctx) {
         applyBoundingBox(ctx, bbox);
         var grad;
 
-        if (type === 'axial') {
+        if (type === "axial") {
           grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
-        } else if (type === 'radial') {
+        } else if (type === "radial") {
           grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
         }
 
@@ -16484,24 +6362,50 @@ var createMeshCanvas = function createMeshCanvasClosure() {
         maxY = Math.round(y3);
     var xa, car, cag, cab;
     var xb, cbr, cbg, cbb;
-    var k;
 
     for (var y = minY; y <= maxY; y++) {
       if (y < y2) {
-        k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);
+        let k;
+
+        if (y < y1) {
+          k = 0;
+        } else if (y1 === y2) {
+          k = 1;
+        } else {
+          k = (y1 - y) / (y1 - y2);
+        }
+
         xa = x1 - (x1 - x2) * k;
         car = c1r - (c1r - c2r) * k;
         cag = c1g - (c1g - c2g) * k;
         cab = c1b - (c1b - c2b) * k;
       } else {
-        k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);
+        let k;
+
+        if (y > y3) {
+          k = 1;
+        } else if (y2 === y3) {
+          k = 0;
+        } else {
+          k = (y2 - y) / (y2 - y3);
+        }
+
         xa = x2 - (x2 - x3) * k;
         car = c2r - (c2r - c3r) * k;
         cag = c2g - (c2g - c3g) * k;
         cab = c2b - (c2b - c3b) * k;
       }
 
-      k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);
+      let k;
+
+      if (y < y1) {
+        k = 0;
+      } else if (y > y3) {
+        k = 1;
+      } else {
+        k = (y1 - y) / (y1 - y3);
+      }
+
       xb = x1 - (x1 - x3) * k;
       cbr = c1r - (c1r - c3r) * k;
       cbg = c1g - (c1g - c3g) * k;
@@ -16511,8 +6415,14 @@ var createMeshCanvas = function createMeshCanvasClosure() {
       var j = rowSize * y + x1_ * 4;
 
       for (var x = x1_; x <= x2_; x++) {
-        k = (xa - x) / (xa - xb);
-        k = k < 0 ? 0 : k > 1 ? 1 : k;
+        let k = (xa - x) / (xa - xb);
+
+        if (k < 0) {
+          k = 0;
+        } else if (k > 1) {
+          k = 1;
+        }
+
         bytes[j++] = car - (car - cbr) * k | 0;
         bytes[j++] = cag - (cag - cbg) * k | 0;
         bytes[j++] = cab - (cab - cbb) * k | 0;
@@ -16527,7 +6437,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
     var i, ii;
 
     switch (figure.type) {
-      case 'lattice':
+      case "lattice":
         var verticesPerRow = figure.verticesPerRow;
         var rows = Math.floor(ps.length / verticesPerRow) - 1;
         var cols = verticesPerRow - 1;
@@ -16543,7 +6453,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
 
         break;
 
-      case 'triangles':
+      case "triangles":
         for (i = 0, ii = ps.length; i < ii; i += 3) {
           drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
         }
@@ -16551,7 +6461,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
         break;
 
       default:
-        throw new Error('illegal figure');
+        throw new Error("illegal figure");
     }
   }
 
@@ -16568,8 +6478,8 @@ var createMeshCanvas = function createMeshCanvasClosure() {
     var scaleX = boundsWidth / width;
     var scaleY = boundsHeight / height;
     var context = {
-      coords: coords,
-      colors: colors,
+      coords,
+      colors,
       offsetX: -offsetX,
       offsetY: -offsetY,
       scaleX: 1 / scaleX,
@@ -16581,17 +6491,17 @@ var createMeshCanvas = function createMeshCanvasClosure() {
 
     if (webGLContext.isEnabled) {
       canvas = webGLContext.drawFigures({
-        width: width,
-        height: height,
-        backgroundColor: backgroundColor,
-        figures: figures,
-        context: context
+        width,
+        height,
+        backgroundColor,
+        figures,
+        context
       });
-      tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
+      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
       tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
       canvas = tmpCanvas.canvas;
     } else {
-      tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
+      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
       var tmpCtx = tmpCanvas.context;
       var data = tmpCtx.createImageData(width, height);
 
@@ -16615,11 +6525,11 @@ var createMeshCanvas = function createMeshCanvasClosure() {
     }
 
     return {
-      canvas: canvas,
+      canvas,
       offsetX: offsetX - BORDER_SIZE * scaleX,
       offsetY: offsetY - BORDER_SIZE * scaleY,
-      scaleX: scaleX,
-      scaleY: scaleY
+      scaleX,
+      scaleY
     };
   }
 
@@ -16636,7 +6546,7 @@ ShadingIRs.Mesh = {
     var bbox = raw[7];
     var background = raw[8];
     return {
-      type: 'Pattern',
+      type: "Pattern",
       getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
         applyBoundingBox(ctx, bbox);
         var scale;
@@ -16665,7 +6575,7 @@ ShadingIRs.Mesh = {
 
         ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
         ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
-        return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');
+        return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
       }
     };
   }
@@ -16673,9 +6583,9 @@ ShadingIRs.Mesh = {
 ShadingIRs.Dummy = {
   fromIR: function Dummy_fromIR() {
     return {
-      type: 'Pattern',
+      type: "Pattern",
       getPattern: function Dummy_fromIR_getPattern() {
-        return 'hotpink';
+        return "hotpink";
       }
     };
   }
@@ -16685,7 +6595,7 @@ function getShadingPatternFromIR(raw) {
   var shadingIR = ShadingIRs[raw[0]];
 
   if (!shadingIR) {
-    throw new Error("Unknown IR type: ".concat(raw[0]));
+    throw new Error(`Unknown IR type: ${raw[0]}`);
   }
 
   return shadingIR.fromIR(raw);
@@ -16709,7 +6619,7 @@ var TilingPattern = function TilingPatternClosure() {
     this.color = color;
     this.canvasGraphicsFactory = canvasGraphicsFactory;
     this.baseTransform = baseTransform;
-    this.type = 'Pattern';
+    this.type = "Pattern";
     this.ctx = ctx;
   }
 
@@ -16723,7 +6633,7 @@ var TilingPattern = function TilingPatternClosure() {
       var tilingType = this.tilingType;
       var color = this.color;
       var canvasGraphicsFactory = this.canvasGraphicsFactory;
-      (0, _util.info)('TilingType: ' + tilingType);
+      (0, _util.info)("TilingType: " + tilingType);
       var x0 = bbox[0],
           y0 = bbox[1],
           x1 = bbox[2],
@@ -16736,7 +6646,7 @@ var TilingPattern = function TilingPatternClosure() {
       var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
       var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
       var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
-      var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);
+      var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
       var tmpCtx = tmpCanvas.context;
       var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
       graphics.groupLevel = owner.groupLevel;
@@ -16761,8 +6671,8 @@ var TilingPattern = function TilingPatternClosure() {
       }
 
       return {
-        scale: scale,
-        size: size
+        scale,
+        size
       };
     },
     clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
@@ -16775,8 +6685,8 @@ var TilingPattern = function TilingPatternClosure() {
       }
     },
     setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
-      var context = graphics.ctx,
-          current = graphics.current;
+      const context = graphics.ctx,
+            current = graphics.current;
 
       switch (paintType) {
         case PaintType.COLORED:
@@ -16797,7 +6707,7 @@ var TilingPattern = function TilingPatternClosure() {
           break;
 
         default:
-          throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
+          throw new _util.FormatError(`Unsupported paint type: ${paintType}`);
       }
     },
     getPattern: function TilingPattern_getPattern(ctx, owner) {
@@ -16805,7 +6715,7 @@ var TilingPattern = function TilingPatternClosure() {
       ctx.setTransform.apply(ctx, this.baseTransform);
       ctx.transform.apply(ctx, this.matrix);
       var temporaryPatternCanvas = this.createPatternCanvas(owner);
-      return ctx.createPattern(temporaryPatternCanvas, 'repeat');
+      return ctx.createPattern(temporaryPatternCanvas, "repeat");
     }
   };
   return TilingPattern;
@@ -16814,7 +6724,7 @@ var TilingPattern = function TilingPatternClosure() {
 exports.TilingPattern = TilingPattern;
 
 /***/ }),
-/* 188 */
+/* 10 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -16824,13 +6734,13 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.GlobalWorkerOptions = void 0;
-var GlobalWorkerOptions = Object.create(null);
+const GlobalWorkerOptions = Object.create(null);
 exports.GlobalWorkerOptions = GlobalWorkerOptions;
 GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : 
GlobalWorkerOptions.workerPort;
-GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : 
GlobalWorkerOptions.workerSrc;
+GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : 
GlobalWorkerOptions.workerSrc;
 
 /***/ }),
-/* 189 */
+/* 11 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -16839,13 +6749,16 @@ GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? ''
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.MessageHandler = MessageHandler;
+exports.MessageHandler = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-var StreamKind = {
+const CallbackKind = {
+  UNKNOWN: 0,
+  DATA: 1,
+  ERROR: 2
+};
+const StreamKind = {
   UNKNOWN: 0,
   CANCEL: 1,
   CANCEL_COMPLETE: 2,
@@ -16858,21 +6771,21 @@ var StreamKind = {
 };
 
 function wrapReason(reason) {
-  if (_typeof(reason) !== 'object') {
+  if (typeof reason !== "object" || reason === null) {
     return reason;
   }
 
   switch (reason.name) {
-    case 'AbortException':
+    case "AbortException":
       return new _util.AbortException(reason.message);
 
-    case 'MissingPDFException':
+    case "MissingPDFException":
       return new _util.MissingPDFException(reason.message);
 
-    case 'UnexpectedResponseException':
+    case "UnexpectedResponseException":
       return new _util.UnexpectedResponseException(reason.message, reason.status);
 
-    case 'UnknownErrorException':
+    case "UnknownErrorException":
       return new _util.UnknownErrorException(reason.message, reason.details);
 
     default:
@@ -16880,195 +6793,205 @@ function wrapReason(reason) {
   }
 }
 
-function MessageHandler(sourceName, targetName, comObj) {
-  var _this = this;
+class MessageHandler {
+  constructor(sourceName, targetName, comObj) {
+    this.sourceName = sourceName;
+    this.targetName = targetName;
+    this.comObj = comObj;
+    this.callbackId = 1;
+    this.streamId = 1;
+    this.postMessageTransfers = true;
+    this.streamSinks = Object.create(null);
+    this.streamControllers = Object.create(null);
+    this.callbackCapabilities = Object.create(null);
+    this.actionHandler = Object.create(null);
 
-  this.sourceName = sourceName;
-  this.targetName = targetName;
-  this.comObj = comObj;
-  this.callbackId = 1;
-  this.streamId = 1;
-  this.postMessageTransfers = true;
-  this.streamSinks = Object.create(null);
-  this.streamControllers = Object.create(null);
-  var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
-  var ah = this.actionHandler = Object.create(null);
+    this._onComObjOnMessage = event => {
+      const data = event.data;
 
-  this._onComObjOnMessage = function (event) {
-    var data = event.data;
+      if (data.targetName !== this.sourceName) {
+        return;
+      }
 
-    if (data.targetName !== _this.sourceName) {
-      return;
-    }
+      if (data.stream) {
+        this._processStreamMessage(data);
+
+        return;
+      }
+
+      if (data.callback) {
+        const callbackId = data.callbackId;
+        const capability = this.callbackCapabilities[callbackId];
 
-    if (data.stream) {
-      _this._processStreamMessage(data);
-    } else if (data.isReply) {
-      var callbackId = data.callbackId;
+        if (!capability) {
+          throw new Error(`Cannot resolve callback ${callbackId}`);
+        }
 
-      if (data.callbackId in callbacksCapabilities) {
-        var callback = callbacksCapabilities[callbackId];
-        delete callbacksCapabilities[callbackId];
+        delete this.callbackCapabilities[callbackId];
 
-        if ('reason' in data) {
-          callback.reject(wrapReason(data.reason));
+        if (data.callback === CallbackKind.DATA) {
+          capability.resolve(data.data);
+        } else if (data.callback === CallbackKind.ERROR) {
+          capability.reject(wrapReason(data.reason));
         } else {
-          callback.resolve(data.data);
+          throw new Error("Unexpected callback case");
         }
-      } else {
-        throw new Error("Cannot resolve callback ".concat(callbackId));
+
+        return;
+      }
+
+      const action = this.actionHandler[data.action];
+
+      if (!action) {
+        throw new Error(`Unknown action from worker: ${data.action}`);
       }
-    } else if (data.action in ah) {
-      var action = ah[data.action];
 
       if (data.callbackId) {
-        var _sourceName = _this.sourceName;
-        var _targetName = data.sourceName;
+        const sourceName = this.sourceName;
+        const targetName = data.sourceName;
         new Promise(function (resolve) {
           resolve(action(data.data));
         }).then(function (result) {
           comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            isReply: true,
+            sourceName,
+            targetName,
+            callback: CallbackKind.DATA,
             callbackId: data.callbackId,
             data: result
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            isReply: true,
+            sourceName,
+            targetName,
+            callback: CallbackKind.ERROR,
             callbackId: data.callbackId,
             reason: wrapReason(reason)
           });
         });
-      } else if (data.streamId) {
-        _this._createStreamSink(data);
-      } else {
-        action(data.data);
+        return;
       }
-    } else {
-      throw new Error("Unknown action from worker: ".concat(data.action));
-    }
-  };
 
-  comObj.addEventListener('message', this._onComObjOnMessage);
-}
+      if (data.streamId) {
+        this._createStreamSink(data);
+
+        return;
+      }
 
-MessageHandler.prototype = {
-  on: function on(actionName, handler) {
-    var ah = this.actionHandler;
+      action(data.data);
+    };
+
+    comObj.addEventListener("message", this._onComObjOnMessage);
+  }
+
+  on(actionName, handler) {
+    const ah = this.actionHandler;
 
     if (ah[actionName]) {
-      throw new Error("There is already an actionName called \"".concat(actionName, "\""));
+      throw new Error(`There is already an actionName called "${actionName}"`);
     }
 
     ah[actionName] = handler;
-  },
-  send: function send(actionName, data, transfers) {
-    this.postMessage({
+  }
+
+  send(actionName, data, transfers) {
+    this._postMessage({
       sourceName: this.sourceName,
       targetName: this.targetName,
       action: actionName,
-      data: data
+      data
     }, transfers);
-  },
-  sendWithPromise: function sendWithPromise(actionName, data, transfers) {
-    var callbackId = this.callbackId++;
-    var capability = (0, _util.createPromiseCapability)();
-    this.callbacksCapabilities[callbackId] = capability;
+  }
+
+  sendWithPromise(actionName, data, transfers) {
+    const callbackId = this.callbackId++;
+    const capability = (0, _util.createPromiseCapability)();
+    this.callbackCapabilities[callbackId] = capability;
 
     try {
-      this.postMessage({
+      this._postMessage({
         sourceName: this.sourceName,
         targetName: this.targetName,
         action: actionName,
-        callbackId: callbackId,
-        data: data
+        callbackId,
+        data
       }, transfers);
     } catch (ex) {
       capability.reject(ex);
     }
 
     return capability.promise;
-  },
-  sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {
-    var _this2 = this;
-
-    var streamId = this.streamId++;
-    var sourceName = this.sourceName;
-    var targetName = this.targetName;
-    var comObj = this.comObj;
-    return new _util.ReadableStream({
-      start: function start(controller) {
-        var startCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId] = {
-          controller: controller,
+  }
+
+  sendWithStream(actionName, data, queueingStrategy, transfers) {
+    const streamId = this.streamId++;
+    const sourceName = this.sourceName;
+    const targetName = this.targetName;
+    const comObj = this.comObj;
+    return new ReadableStream({
+      start: controller => {
+        const startCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId] = {
+          controller,
           startCall: startCapability,
           pullCall: null,
           cancelCall: null,
           isClosed: false
         };
 
-        _this2.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+        this._postMessage({
+          sourceName,
+          targetName,
           action: actionName,
-          streamId: streamId,
-          data: data,
+          streamId,
+          data,
           desiredSize: controller.desiredSize
         }, transfers);
 
         return startCapability.promise;
       },
-      pull: function pull(controller) {
-        var pullCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId].pullCall = pullCapability;
+      pull: controller => {
+        const pullCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId].pullCall = pullCapability;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.PULL,
-          streamId: streamId,
+          streamId,
           desiredSize: controller.desiredSize
         });
         return pullCapability.promise;
       },
-      cancel: function cancel(reason) {
-        (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');
-        var cancelCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId].cancelCall = cancelCapability;
-        _this2.streamControllers[streamId].isClosed = true;
+      cancel: reason => {
+        (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
+        const cancelCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId].cancelCall = cancelCapability;
+        this.streamControllers[streamId].isClosed = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.CANCEL,
-          streamId: streamId,
+          streamId,
           reason: wrapReason(reason)
         });
         return cancelCapability.promise;
       }
     }, queueingStrategy);
-  },
-  _createStreamSink: function _createStreamSink(data) {
-    var self = this;
-    var action = this.actionHandler[data.action];
-    var streamId = data.streamId;
-    var desiredSize = data.desiredSize;
-    var sourceName = this.sourceName;
-    var targetName = data.sourceName;
-    var capability = (0, _util.createPromiseCapability)();
-    var comObj = this.comObj;
-    var streamSink = {
-      enqueue: function enqueue(chunk) {
-        var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-        var transfers = arguments.length > 2 ? arguments[2] : undefined;
+  }
 
+  _createStreamSink(data) {
+    const self = this;
+    const action = this.actionHandler[data.action];
+    const streamId = data.streamId;
+    const sourceName = this.sourceName;
+    const targetName = data.sourceName;
+    const comObj = this.comObj;
+    const streamSink = {
+      enqueue(chunk, size = 1, transfers) {
         if (this.isCancelled) {
           return;
         }
 
-        var lastDesiredSize = this.desiredSize;
+        const lastDesiredSize = this.desiredSize;
         this.desiredSize -= size;
 
         if (lastDesiredSize > 0 && this.desiredSize <= 0) {
@@ -17076,30 +6999,32 @@ MessageHandler.prototype = {
           this.ready = this.sinkCapability.promise;
         }
 
-        self.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+        self._postMessage({
+          sourceName,
+          targetName,
           stream: StreamKind.ENQUEUE,
-          streamId: streamId,
-          chunk: chunk
+          streamId,
+          chunk
         }, transfers);
       },
-      close: function close() {
+
+      close() {
         if (this.isCancelled) {
           return;
         }
 
         this.isCancelled = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.CLOSE,
-          streamId: streamId
+          streamId
         });
         delete self.streamSinks[streamId];
       },
-      error: function error(reason) {
-        (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');
+
+      error(reason) {
+        (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
 
         if (this.isCancelled) {
           return;
@@ -17107,18 +7032,19 @@ MessageHandler.prototype = {
 
         this.isCancelled = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.ERROR,
-          streamId: streamId,
+          streamId,
           reason: wrapReason(reason)
         });
       },
-      sinkCapability: capability,
+
+      sinkCapability: (0, _util.createPromiseCapability)(),
       onPull: null,
       onCancel: null,
       isCancelled: false,
-      desiredSize: desiredSize,
+      desiredSize: data.desiredSize,
       ready: null
     };
     streamSink.sinkCapability.resolve();
@@ -17128,37 +7054,28 @@ MessageHandler.prototype = {
       resolve(action(data.data, streamSink));
     }).then(function () {
       comObj.postMessage({
-        sourceName: sourceName,
-        targetName: targetName,
+        sourceName,
+        targetName,
         stream: StreamKind.START_COMPLETE,
-        streamId: streamId,
+        streamId,
         success: true
       });
     }, function (reason) {
       comObj.postMessage({
-        sourceName: sourceName,
-        targetName: targetName,
+        sourceName,
+        targetName,
         stream: StreamKind.START_COMPLETE,
-        streamId: streamId,
+        streamId,
         reason: wrapReason(reason)
       });
     });
-  },
-  _processStreamMessage: function _processStreamMessage(data) {
-    var _this3 = this;
-
-    var sourceName = this.sourceName;
-    var targetName = data.sourceName;
-    var streamId = data.streamId;
-    var comObj = this.comObj;
-
-    var deleteStreamController = function deleteStreamController() {
-      Promise.all([_this3.streamControllers[streamId].startCall, 
_this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function 
(capability) {
-        return capability && capability.promise["catch"](function () {});
-      })).then(function () {
-        delete _this3.streamControllers[streamId];
-      });
-    };
+  }
+
+  _processStreamMessage(data) {
+    const streamId = data.streamId;
+    const sourceName = this.sourceName;
+    const targetName = data.sourceName;
+    const comObj = this.comObj;
 
     switch (data.stream) {
       case StreamKind.START_COMPLETE:
@@ -17182,10 +7099,10 @@ MessageHandler.prototype = {
       case StreamKind.PULL:
         if (!this.streamSinks[streamId]) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
           break;
@@ -17196,30 +7113,32 @@ MessageHandler.prototype = {
         }
 
         this.streamSinks[streamId].desiredSize = data.desiredSize;
-        var onPull = this.streamSinks[data.streamId].onPull;
+        const {
+          onPull
+        } = this.streamSinks[data.streamId];
         new Promise(function (resolve) {
           resolve(onPull && onPull());
         }).then(function () {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             reason: wrapReason(reason)
           });
         });
         break;
 
       case StreamKind.ENQUEUE:
-        (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
 
         if (this.streamControllers[streamId].isClosed) {
           break;
@@ -17229,7 +7148,7 @@ MessageHandler.prototype = {
         break;
 
       case StreamKind.CLOSE:
-        (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
 
         if (this.streamControllers[streamId].isClosed) {
           break;
@@ -17237,13 +7156,17 @@ MessageHandler.prototype = {
 
         this.streamControllers[streamId].isClosed = true;
         this.streamControllers[streamId].controller.close();
-        deleteStreamController();
+
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.ERROR:
-        (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
         this.streamControllers[streamId].controller.error(wrapReason(data.reason));
-        deleteStreamController();
+
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.CANCEL_COMPLETE:
@@ -17253,7 +7176,8 @@ MessageHandler.prototype = {
           this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
         }
 
-        deleteStreamController();
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.CANCEL:
@@ -17261,23 +7185,25 @@ MessageHandler.prototype = {
           break;
         }
 
-        var onCancel = this.streamSinks[data.streamId].onCancel;
+        const {
+          onCancel
+        } = this.streamSinks[data.streamId];
         new Promise(function (resolve) {
           resolve(onCancel && onCancel(wrapReason(data.reason)));
         }).then(function () {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.CANCEL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.CANCEL_COMPLETE,
-            streamId: streamId,
+            streamId,
             reason: wrapReason(reason)
           });
         });
@@ -17287,23 +7213,35 @@ MessageHandler.prototype = {
         break;
 
       default:
-        throw new Error('Unexpected stream case');
+        throw new Error("Unexpected stream case");
     }
-  },
-  postMessage: function postMessage(message, transfers) {
+  }
+
+  async _deleteStreamController(streamId) {
+    await Promise.allSettled([this.streamControllers[streamId].startCall, 
this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function 
(capability) {
+      return capability && capability.promise;
+    }));
+    delete this.streamControllers[streamId];
+  }
+
+  _postMessage(message, transfers) {
     if (transfers && this.postMessageTransfers) {
       this.comObj.postMessage(message, transfers);
     } else {
       this.comObj.postMessage(message);
     }
-  },
-  destroy: function destroy() {
-    this.comObj.removeEventListener('message', this._onComObjOnMessage);
   }
-};
+
+  destroy() {
+    this.comObj.removeEventListener("message", this._onComObjOnMessage);
+  }
+
+}
+
+exports.MessageHandler = MessageHandler;
 
 /***/ }),
-/* 190 */
+/* 12 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -17316,134 +7254,122 @@ exports.Metadata = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-var _xml_parser = __w_pdfjs_require__(191);
-
-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); return Constructor; }
+var _xml_parser = __w_pdfjs_require__(13);
 
-var Metadata =
-/*#__PURE__*/
-function () {
-  function Metadata(data) {
-    _classCallCheck(this, Metadata);
-
-    (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');
+class Metadata {
+  constructor(data) {
+    (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
     data = this._repair(data);
-    var parser = new _xml_parser.SimpleXMLParser();
-    var xmlDocument = parser.parseFromString(data);
-    this._metadata = Object.create(null);
+    const parser = new _xml_parser.SimpleXMLParser();
+    const xmlDocument = parser.parseFromString(data);
+    this._metadataMap = new Map();
 
     if (xmlDocument) {
       this._parse(xmlDocument);
     }
   }
 
-  _createClass(Metadata, [{
-    key: "_repair",
-    value: function _repair(data) {
-      return data.replace(/^([^<]+)/, '').replace(/>\\376\\377([^<]+)/g, function (all, codes) {
-        var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
-          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
-        }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
-          switch (name) {
-            case 'amp':
-              return '&';
-
-            case 'apos':
-              return '\'';
-
-            case 'gt':
-              return '>';
-
-            case 'lt':
-              return '<';
+  _repair(data) {
+    return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
+      const bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
+        return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
+      }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
+        switch (name) {
+          case "amp":
+            return "&";
 
-            case 'quot':
-              return '\"';
-          }
+          case "apos":
+            return "'";
 
-          throw new Error("_repair: ".concat(name, " isn't defined."));
-        });
-        var chars = '';
+          case "gt":
+            return ">";
 
-        for (var i = 0, ii = bytes.length; i < ii; i += 2) {
-          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
+          case "lt":
+            return "<";
 
-          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
-            chars += String.fromCharCode(code);
-          } else {
-            chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';
-          }
+          case "quot":
+            return '"';
         }
 
-        return '>' + chars;
+        throw new Error(`_repair: ${name} isn't defined.`);
       });
-    }
-  }, {
-    key: "_parse",
-    value: function _parse(xmlDocument) {
-      var rdf = xmlDocument.documentElement;
+      let chars = "";
 
-      if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {
-        rdf = rdf.firstChild;
+      for (let i = 0, ii = bytes.length; i < ii; i += 2) {
+        const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
 
-        while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {
-          rdf = rdf.nextSibling;
+        if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
+          chars += String.fromCharCode(code);
+        } else {
+          chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";";
         }
       }
 
-      var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;
+      return ">" + chars;
+    });
+  }
+
+  _parse(xmlDocument) {
+    let rdf = xmlDocument.documentElement;
 
-      if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {
-        return;
+    if (rdf.nodeName.toLowerCase() !== "rdf:rdf") {
+      rdf = rdf.firstChild;
+
+      while (rdf && rdf.nodeName.toLowerCase() !== "rdf:rdf") {
+        rdf = rdf.nextSibling;
       }
+    }
 
-      var children = rdf.childNodes;
+    const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;
 
-      for (var i = 0, ii = children.length; i < ii; i++) {
-        var desc = children[i];
+    if (!rdf || nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
+      return;
+    }
 
-        if (desc.nodeName.toLowerCase() !== 'rdf:description') {
-          continue;
-        }
+    const children = rdf.childNodes;
 
-        for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {
-          if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {
-            var entry = desc.childNodes[j];
-            var name = entry.nodeName.toLowerCase();
-            this._metadata[name] = entry.textContent.trim();
-          }
+    for (let i = 0, ii = children.length; i < ii; i++) {
+      const desc = children[i];
+
+      if (desc.nodeName.toLowerCase() !== "rdf:description") {
+        continue;
+      }
+
+      for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {
+        if (desc.childNodes[j].nodeName.toLowerCase() !== "#text") {
+          const entry = desc.childNodes[j];
+          const name = entry.nodeName.toLowerCase();
+
+          this._metadataMap.set(name, entry.textContent.trim());
         }
       }
     }
-  }, {
-    key: "get",
-    value: function get(name) {
-      var data = this._metadata[name];
-      return typeof data !== 'undefined' ? data : null;
-    }
-  }, {
-    key: "getAll",
-    value: function getAll() {
-      return this._metadata;
-    }
-  }, {
-    key: "has",
-    value: function has(name) {
-      return typeof this._metadata[name] !== 'undefined';
+  }
+
+  get(name) {
+    return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;
+  }
+
+  getAll() {
+    const obj = Object.create(null);
+
+    for (const [key, value] of this._metadataMap) {
+      obj[key] = value;
     }
-  }]);
 
-  return Metadata;
-}();
+    return obj;
+  }
+
+  has(name) {
+    return this._metadataMap.has(name);
+  }
+
+}
 
 exports.Metadata = Metadata;
 
 /***/ }),
-/* 191 */
+/* 13 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -17453,38 +7379,7 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.SimpleXMLParser = void 0;
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) 
{ object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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 _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); return Constructor; }
-
-var XMLParserErrorCode = {
+const XMLParserErrorCode = {
   NoError: 0,
   EndOfDocument: -1,
   UnterminatedCdat: -2,
@@ -17499,12 +7394,12 @@ var XMLParserErrorCode = {
 };
 
 function isWhitespace(s, index) {
-  var ch = s[index];
-  return ch === ' ' || ch === '\n' || ch === '\r' || ch === '\t';
+  const ch = s[index];
+  return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
 }
 
 function isWhitespaceString(s) {
-  for (var i = 0, ii = s.length; i < ii; i++) {
+  for (let i = 0, ii = s.length; i < ii; i++) {
     if (!isWhitespace(s, i)) {
       return false;
     }
@@ -17513,469 +7408,411 @@ function isWhitespaceString(s) {
   return true;
 }
 
-var XMLParserBase =
-/*#__PURE__*/
-function () {
-  function XMLParserBase() {
-    _classCallCheck(this, XMLParserBase);
-  }
+class XMLParserBase {
+  _resolveEntities(s) {
+    return s.replace(/&([^;]+);/g, (all, entity) => {
+      if (entity.substring(0, 2) === "#x") {
+        return String.fromCharCode(parseInt(entity.substring(2), 16));
+      } else if (entity.substring(0, 1) === "#") {
+        return String.fromCharCode(parseInt(entity.substring(1), 10));
+      }
 
-  _createClass(XMLParserBase, [{
-    key: "_resolveEntities",
-    value: function _resolveEntities(s) {
-      var _this = this;
+      switch (entity) {
+        case "lt":
+          return "<";
 
-      return s.replace(/&([^;]+);/g, function (all, entity) {
-        if (entity.substring(0, 2) === '#x') {
-          return String.fromCharCode(parseInt(entity.substring(2), 16));
-        } else if (entity.substring(0, 1) === '#') {
-          return String.fromCharCode(parseInt(entity.substring(1), 10));
-        }
+        case "gt":
+          return ">";
 
-        switch (entity) {
-          case 'lt':
-            return '<';
+        case "amp":
+          return "&";
 
-          case 'gt':
-            return '>';
+        case "quot":
+          return '"';
+      }
 
-          case 'amp':
-            return '&';
+      return this.onResolveEntity(entity);
+    });
+  }
 
-          case 'quot':
-            return '\"';
-        }
+  _parseContent(s, start) {
+    const attributes = [];
+    let pos = start;
 
-        return _this.onResolveEntity(entity);
-      });
+    function skipWs() {
+      while (pos < s.length && isWhitespace(s, pos)) {
+        ++pos;
+      }
     }
-  }, {
-    key: "_parseContent",
-    value: function _parseContent(s, start) {
-      var pos = start,
-          name,
-          attributes = [];
 
-      function skipWs() {
-        while (pos < s.length && isWhitespace(s, pos)) {
-          ++pos;
-        }
-      }
+    while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
+      ++pos;
+    }
+
+    const name = s.substring(start, pos);
+    skipWs();
+
+    while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
+      skipWs();
+      let attrName = "",
+          attrValue = "";
 
-      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {
+      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
+        attrName += s[pos];
         ++pos;
       }
 
-      name = s.substring(start, pos);
       skipWs();
 
-      while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {
-        skipWs();
-        var attrName = '',
-            attrValue = '';
+      if (s[pos] !== "=") {
+        return null;
+      }
 
-        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {
-          attrName += s[pos];
-          ++pos;
-        }
+      ++pos;
+      skipWs();
+      const attrEndChar = s[pos];
 
-        skipWs();
+      if (attrEndChar !== '"' && attrEndChar !== "'") {
+        return null;
+      }
 
-        if (s[pos] !== '=') {
-          return null;
-        }
+      const attrEndIndex = s.indexOf(attrEndChar, ++pos);
 
-        ++pos;
-        skipWs();
-        var attrEndChar = s[pos];
+      if (attrEndIndex < 0) {
+        return null;
+      }
 
-        if (attrEndChar !== '\"' && attrEndChar !== '\'') {
-          return null;
-        }
+      attrValue = s.substring(pos, attrEndIndex);
+      attributes.push({
+        name: attrName,
+        value: this._resolveEntities(attrValue)
+      });
+      pos = attrEndIndex + 1;
+      skipWs();
+    }
 
-        var attrEndIndex = s.indexOf(attrEndChar, ++pos);
+    return {
+      name,
+      attributes,
+      parsed: pos - start
+    };
+  }
 
-        if (attrEndIndex < 0) {
-          return null;
-        }
+  _parseProcessingInstruction(s, start) {
+    let pos = start;
 
-        attrValue = s.substring(pos, attrEndIndex);
-        attributes.push({
-          name: attrName,
-          value: this._resolveEntities(attrValue)
-        });
-        pos = attrEndIndex + 1;
-        skipWs();
+    function skipWs() {
+      while (pos < s.length && isWhitespace(s, pos)) {
+        ++pos;
       }
+    }
 
-      return {
-        name: name,
-        attributes: attributes,
-        parsed: pos - start
-      };
+    while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
+      ++pos;
     }
-  }, {
-    key: "_parseProcessingInstruction",
-    value: function _parseProcessingInstruction(s, start) {
-      var pos = start,
-          name,
-          value;
 
-      function skipWs() {
-        while (pos < s.length && isWhitespace(s, pos)) {
-          ++pos;
-        }
-      }
+    const name = s.substring(start, pos);
+    skipWs();
+    const attrStart = pos;
 
-      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {
-        ++pos;
-      }
+    while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
+      ++pos;
+    }
 
-      name = s.substring(start, pos);
-      skipWs();
-      var attrStart = pos;
+    const value = s.substring(attrStart, pos);
+    return {
+      name,
+      value,
+      parsed: pos - start
+    };
+  }
 
-      while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {
-        ++pos;
-      }
+  parseXml(s) {
+    let i = 0;
 
-      value = s.substring(attrStart, pos);
-      return {
-        name: name,
-        value: value,
-        parsed: pos - start
-      };
-    }
-  }, {
-    key: "parseXml",
-    value: function parseXml(s) {
-      var i = 0;
+    while (i < s.length) {
+      const ch = s[i];
+      let j = i;
+
+      if (ch === "<") {
+        ++j;
+        const ch2 = s[j];
+        let q;
+
+        switch (ch2) {
+          case "/":
+            ++j;
+            q = s.indexOf(">", j);
+
+            if (q < 0) {
+              this.onError(XMLParserErrorCode.UnterminatedElement);
+              return;
+            }
+
+            this.onEndElement(s.substring(j, q));
+            j = q + 1;
+            break;
 
-      while (i < s.length) {
-        var ch = s[i];
-        var j = i;
+          case "?":
+            ++j;
 
-        if (ch === '<') {
-          ++j;
-          var ch2 = s[j];
-          var q = void 0;
+            const pi = this._parseProcessingInstruction(s, j);
 
-          switch (ch2) {
-            case '/':
-              ++j;
-              q = s.indexOf('>', j);
+            if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
+              this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
+              return;
+            }
+
+            this.onPi(pi.name, pi.value);
+            j += pi.parsed + 2;
+            break;
+
+          case "!":
+            if (s.substring(j + 1, j + 3) === "--") {
+              q = s.indexOf("-->", j + 3);
 
               if (q < 0) {
-                this.onError(XMLParserErrorCode.UnterminatedElement);
+                this.onError(XMLParserErrorCode.UnterminatedComment);
                 return;
               }
 
-              this.onEndElement(s.substring(j, q));
-              j = q + 1;
-              break;
+              this.onComment(s.substring(j + 3, q));
+              j = q + 3;
+            } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
+              q = s.indexOf("]]>", j + 8);
 
-            case '?':
-              ++j;
+              if (q < 0) {
+                this.onError(XMLParserErrorCode.UnterminatedCdat);
+                return;
+              }
 
-              var pi = this._parseProcessingInstruction(s, j);
+              this.onCdata(s.substring(j + 8, q));
+              j = q + 3;
+            } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
+              const q2 = s.indexOf("[", j + 8);
+              let complexDoctype = false;
+              q = s.indexOf(">", j + 8);
 
-              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {
-                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
+              if (q < 0) {
+                this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                 return;
               }
 
-              this.onPi(pi.name, pi.value);
-              j += pi.parsed + 2;
-              break;
-
-            case '!':
-              if (s.substring(j + 1, j + 3) === '--') {
-                q = s.indexOf('-->', j + 3);
+              if (q2 > 0 && q > q2) {
+                q = s.indexOf("]>", j + 8);
 
                 if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedComment);
+                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                   return;
                 }
 
-                this.onComment(s.substring(j + 3, q));
-                j = q + 3;
-              } else if (s.substring(j + 1, j + 8) === '[CDATA[') {
-                q = s.indexOf(']]>', j + 8);
+                complexDoctype = true;
+              }
 
-                if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedCdat);
-                  return;
-                }
+              const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
+              this.onDoctype(doctypeContent);
+              j = q + (complexDoctype ? 2 : 1);
+            } else {
+              this.onError(XMLParserErrorCode.MalformedElement);
+              return;
+            }
 
-                this.onCdata(s.substring(j + 8, q));
-                j = q + 3;
-              } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {
-                var q2 = s.indexOf('[', j + 8);
-                var complexDoctype = false;
-                q = s.indexOf('>', j + 8);
+            break;
 
-                if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
-                  return;
-                }
+          default:
+            const content = this._parseContent(s, j);
 
-                if (q2 > 0 && q > q2) {
-                  q = s.indexOf(']>', j + 8);
+            if (content === null) {
+              this.onError(XMLParserErrorCode.MalformedElement);
+              return;
+            }
 
-                  if (q < 0) {
-                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
-                    return;
-                  }
+            let isClosed = false;
 
-                  complexDoctype = true;
-                }
+            if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
+              isClosed = true;
+            } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
+              this.onError(XMLParserErrorCode.UnterminatedElement);
+              return;
+            }
 
-                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
-                this.onDoctype(doctypeContent);
-                j = q + (complexDoctype ? 2 : 1);
-              } else {
-                this.onError(XMLParserErrorCode.MalformedElement);
-                return;
-              }
+            this.onBeginElement(content.name, content.attributes, isClosed);
+            j += content.parsed + (isClosed ? 2 : 1);
+            break;
+        }
+      } else {
+        while (j < s.length && s[j] !== "<") {
+          j++;
+        }
 
-              break;
+        const text = s.substring(i, j);
+        this.onText(this._resolveEntities(text));
+      }
 
-            default:
-              var content = this._parseContent(s, j);
+      i = j;
+    }
+  }
 
-              if (content === null) {
-                this.onError(XMLParserErrorCode.MalformedElement);
-                return;
-              }
+  onResolveEntity(name) {
+    return `&${name};`;
+  }
 
-              var isClosed = false;
+  onPi(name, value) {}
 
-              if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {
-                isClosed = true;
-              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {
-                this.onError(XMLParserErrorCode.UnterminatedElement);
-                return;
-              }
+  onComment(text) {}
 
-              this.onBeginElement(content.name, content.attributes, isClosed);
-              j += content.parsed + (isClosed ? 2 : 1);
-              break;
-          }
-        } else {
-          while (j < s.length && s[j] !== '<') {
-            j++;
-          }
+  onCdata(text) {}
 
-          var text = s.substring(i, j);
-          this.onText(this._resolveEntities(text));
-        }
+  onDoctype(doctypeContent) {}
 
-        i = j;
-      }
-    }
-  }, {
-    key: "onResolveEntity",
-    value: function onResolveEntity(name) {
-      return "&".concat(name, ";");
-    }
-  }, {
-    key: "onPi",
-    value: function onPi(name, value) {}
-  }, {
-    key: "onComment",
-    value: function onComment(text) {}
-  }, {
-    key: "onCdata",
-    value: function onCdata(text) {}
-  }, {
-    key: "onDoctype",
-    value: function onDoctype(doctypeContent) {}
-  }, {
-    key: "onText",
-    value: function onText(text) {}
-  }, {
-    key: "onBeginElement",
-    value: function onBeginElement(name, attributes, isEmpty) {}
-  }, {
-    key: "onEndElement",
-    value: function onEndElement(name) {}
-  }, {
-    key: "onError",
-    value: function onError(code) {}
-  }]);
-
-  return XMLParserBase;
-}();
+  onText(text) {}
+
+  onBeginElement(name, attributes, isEmpty) {}
+
+  onEndElement(name) {}
+
+  onError(code) {}
 
-var SimpleDOMNode =
-/*#__PURE__*/
-function () {
-  function SimpleDOMNode(nodeName, nodeValue) {
-    _classCallCheck(this, SimpleDOMNode);
+}
 
+class SimpleDOMNode {
+  constructor(nodeName, nodeValue) {
     this.nodeName = nodeName;
     this.nodeValue = nodeValue;
-    Object.defineProperty(this, 'parentNode', {
+    Object.defineProperty(this, "parentNode", {
       value: null,
       writable: true
     });
   }
 
-  _createClass(SimpleDOMNode, [{
-    key: "hasChildNodes",
-    value: function hasChildNodes() {
-      return this.childNodes && this.childNodes.length > 0;
-    }
-  }, {
-    key: "firstChild",
-    get: function get() {
-      return this.childNodes && this.childNodes[0];
-    }
-  }, {
-    key: "nextSibling",
-    get: function get() {
-      var childNodes = this.parentNode.childNodes;
+  get firstChild() {
+    return this.childNodes && this.childNodes[0];
+  }
 
-      if (!childNodes) {
-        return undefined;
-      }
+  get nextSibling() {
+    const childNodes = this.parentNode.childNodes;
 
-      var index = childNodes.indexOf(this);
+    if (!childNodes) {
+      return undefined;
+    }
 
-      if (index === -1) {
-        return undefined;
-      }
+    const index = childNodes.indexOf(this);
 
-      return childNodes[index + 1];
+    if (index === -1) {
+      return undefined;
     }
-  }, {
-    key: "textContent",
-    get: function get() {
-      if (!this.childNodes) {
-        return this.nodeValue || '';
-      }
 
-      return this.childNodes.map(function (child) {
-        return child.textContent;
-      }).join('');
-    }
-  }]);
+    return childNodes[index + 1];
+  }
 
-  return SimpleDOMNode;
-}();
+  get textContent() {
+    if (!this.childNodes) {
+      return this.nodeValue || "";
+    }
 
-var SimpleXMLParser =
-/*#__PURE__*/
-function (_XMLParserBase) {
-  _inherits(SimpleXMLParser, _XMLParserBase);
+    return this.childNodes.map(function (child) {
+      return child.textContent;
+    }).join("");
+  }
 
-  function SimpleXMLParser() {
-    var _this2;
+  hasChildNodes() {
+    return this.childNodes && this.childNodes.length > 0;
+  }
 
-    _classCallCheck(this, SimpleXMLParser);
+}
 
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));
-    _this2._currentFragment = null;
-    _this2._stack = null;
-    _this2._errorCode = XMLParserErrorCode.NoError;
-    return _this2;
+class SimpleXMLParser extends XMLParserBase {
+  constructor() {
+    super();
+    this._currentFragment = null;
+    this._stack = null;
+    this._errorCode = XMLParserErrorCode.NoError;
   }
 
-  _createClass(SimpleXMLParser, [{
-    key: "parseFromString",
-    value: function parseFromString(data) {
-      this._currentFragment = [];
-      this._stack = [];
-      this._errorCode = XMLParserErrorCode.NoError;
-      this.parseXml(data);
-
-      if (this._errorCode !== XMLParserErrorCode.NoError) {
-        return undefined;
-      }
+  parseFromString(data) {
+    this._currentFragment = [];
+    this._stack = [];
+    this._errorCode = XMLParserErrorCode.NoError;
+    this.parseXml(data);
 
-      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
-          documentElement = _this$_currentFragmen[0];
+    if (this._errorCode !== XMLParserErrorCode.NoError) {
+      return undefined;
+    }
 
-      if (!documentElement) {
-        return undefined;
-      }
+    const [documentElement] = this._currentFragment;
 
-      return {
-        documentElement: documentElement
-      };
+    if (!documentElement) {
+      return undefined;
     }
-  }, {
-    key: "onResolveEntity",
-    value: function onResolveEntity(name) {
-      switch (name) {
-        case 'apos':
-          return '\'';
-      }
 
-      return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
+    return {
+      documentElement
+    };
+  }
+
+  onResolveEntity(name) {
+    switch (name) {
+      case "apos":
+        return "'";
     }
-  }, {
-    key: "onText",
-    value: function onText(text) {
-      if (isWhitespaceString(text)) {
-        return;
-      }
 
-      var node = new SimpleDOMNode('#text', text);
+    return super.onResolveEntity(name);
+  }
 
-      this._currentFragment.push(node);
+  onText(text) {
+    if (isWhitespaceString(text)) {
+      return;
     }
-  }, {
-    key: "onCdata",
-    value: function onCdata(text) {
-      var node = new SimpleDOMNode('#text', text);
 
-      this._currentFragment.push(node);
-    }
-  }, {
-    key: "onBeginElement",
-    value: function onBeginElement(name, attributes, isEmpty) {
-      var node = new SimpleDOMNode(name);
-      node.childNodes = [];
+    const node = new SimpleDOMNode("#text", text);
+
+    this._currentFragment.push(node);
+  }
 
-      this._currentFragment.push(node);
+  onCdata(text) {
+    const node = new SimpleDOMNode("#text", text);
 
-      if (isEmpty) {
-        return;
-      }
+    this._currentFragment.push(node);
+  }
 
-      this._stack.push(this._currentFragment);
+  onBeginElement(name, attributes, isEmpty) {
+    const node = new SimpleDOMNode(name);
+    node.childNodes = [];
 
-      this._currentFragment = node.childNodes;
+    this._currentFragment.push(node);
+
+    if (isEmpty) {
+      return;
     }
-  }, {
-    key: "onEndElement",
-    value: function onEndElement(name) {
-      this._currentFragment = this._stack.pop() || [];
-      var lastElement = this._currentFragment[this._currentFragment.length - 1];
 
-      if (!lastElement) {
-        return;
-      }
+    this._stack.push(this._currentFragment);
 
-      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
-        lastElement.childNodes[i].parentNode = lastElement;
-      }
+    this._currentFragment = node.childNodes;
+  }
+
+  onEndElement(name) {
+    this._currentFragment = this._stack.pop() || [];
+    const lastElement = this._currentFragment[this._currentFragment.length - 1];
+
+    if (!lastElement) {
+      return;
     }
-  }, {
-    key: "onError",
-    value: function onError(code) {
-      this._errorCode = code;
+
+    for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
+      lastElement.childNodes[i].parentNode = lastElement;
     }
-  }]);
+  }
+
+  onError(code) {
+    this._errorCode = code;
+  }
 
-  return SimpleXMLParser;
-}(XMLParserBase);
+}
 
 exports.SimpleXMLParser = SimpleXMLParser;
 
 /***/ }),
-/* 192 */
+/* 14 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -17986,37 +7823,17 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFDataTransportStream = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
 var _util = __w_pdfjs_require__(1);
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); 
var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { 
Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new 
Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var PDFDataTransportStream =
-/*#__PURE__*/
-function () {
-  function PDFDataTransportStream(params, pdfDataRangeTransport) {
-    var _this = this;
-
-    _classCallCheck(this, PDFDataTransportStream);
-
+class PDFDataTransportStream {
+  constructor(params, pdfDataRangeTransport) {
     (0, _util.assert)(pdfDataRangeTransport);
     this._queuedChunks = [];
     this._progressiveDone = params.progressiveDone || false;
-    var initialData = params.initialData;
+    const initialData = params.initialData;
 
     if (initialData && initialData.length > 0) {
-      var buffer = new Uint8Array(initialData).buffer;
+      const buffer = new Uint8Array(initialData).buffer;
 
       this._queuedChunks.push(buffer);
     }
@@ -18028,183 +7845,147 @@ function () {
     this._fullRequestReader = null;
     this._rangeReaders = [];
 
-    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
-      _this._onReceiveData({
-        begin: begin,
-        chunk: chunk
+    this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {
+      this._onReceiveData({
+        begin,
+        chunk
       });
     });
 
-    this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
-      _this._onProgress({
-        loaded: loaded,
-        total: total
+    this._pdfDataRangeTransport.addProgressListener((loaded, total) => {
+      this._onProgress({
+        loaded,
+        total
       });
     });
 
-    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
-      _this._onReceiveData({
-        chunk: chunk
+    this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {
+      this._onReceiveData({
+        chunk
       });
     });
 
-    this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
-      _this._onProgressiveDone();
+    this._pdfDataRangeTransport.addProgressiveDoneListener(() => {
+      this._onProgressiveDone();
     });
 
     this._pdfDataRangeTransport.transportReady();
   }
 
-  _createClass(PDFDataTransportStream, [{
-    key: "_onReceiveData",
-    value: function _onReceiveData(args) {
-      var buffer = new Uint8Array(args.chunk).buffer;
+  _onReceiveData(args) {
+    const buffer = new Uint8Array(args.chunk).buffer;
 
-      if (args.begin === undefined) {
-        if (this._fullRequestReader) {
-          this._fullRequestReader._enqueue(buffer);
-        } else {
-          this._queuedChunks.push(buffer);
-        }
+    if (args.begin === undefined) {
+      if (this._fullRequestReader) {
+        this._fullRequestReader._enqueue(buffer);
       } else {
-        var found = this._rangeReaders.some(function (rangeReader) {
-          if (rangeReader._begin !== args.begin) {
-            return false;
-          }
+        this._queuedChunks.push(buffer);
+      }
+    } else {
+      const found = this._rangeReaders.some(function (rangeReader) {
+        if (rangeReader._begin !== args.begin) {
+          return false;
+        }
 
-          rangeReader._enqueue(buffer);
+        rangeReader._enqueue(buffer);
 
-          return true;
-        });
+        return true;
+      });
 
-        (0, _util.assert)(found);
-      }
+      (0, _util.assert)(found);
     }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(evt) {
-      if (evt.total === undefined) {
-        var firstReader = this._rangeReaders[0];
+  }
 
-        if (firstReader && firstReader.onProgress) {
-          firstReader.onProgress({
-            loaded: evt.loaded
-          });
-        }
-      } else {
-        var fullReader = this._fullRequestReader;
+  get _progressiveDataLength() {
+    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
+  }
 
-        if (fullReader && fullReader.onProgress) {
-          fullReader.onProgress({
-            loaded: evt.loaded,
-            total: evt.total
-          });
-        }
-      }
-    }
-  }, {
-    key: "_onProgressiveDone",
-    value: function _onProgressiveDone() {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.progressiveDone();
+  _onProgress(evt) {
+    if (evt.total === undefined) {
+      const firstReader = this._rangeReaders[0];
+
+      if (firstReader && firstReader.onProgress) {
+        firstReader.onProgress({
+          loaded: evt.loaded
+        });
       }
+    } else {
+      const fullReader = this._fullRequestReader;
 
-      this._progressiveDone = true;
-    }
-  }, {
-    key: "_removeRangeReader",
-    value: function _removeRangeReader(reader) {
-      var i = this._rangeReaders.indexOf(reader);
-
-      if (i >= 0) {
-        this._rangeReaders.splice(i, 1);
+      if (fullReader && fullReader.onProgress) {
+        fullReader.onProgress({
+          loaded: evt.loaded,
+          total: evt.total
+        });
       }
     }
-  }, {
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      var queuedChunks = this._queuedChunks;
-      this._queuedChunks = null;
-      return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
+  }
+
+  _onProgressiveDone() {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.progressiveDone();
     }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
 
-      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);
+    this._progressiveDone = true;
+  }
+
+  _removeRangeReader(reader) {
+    const i = this._rangeReaders.indexOf(reader);
 
-      this._pdfDataRangeTransport.requestDataRange(begin, end);
+    if (i >= 0) {
+      this._rangeReaders.splice(i, 1);
+    }
+  }
 
-      this._rangeReaders.push(reader);
+  getFullReader() {
+    (0, _util.assert)(!this._fullRequestReader);
+    const queuedChunks = this._queuedChunks;
+    this._queuedChunks = null;
+    return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
+  }
 
-      return reader;
+  getRangeReader(begin, end) {
+    if (end <= this._progressiveDataLength) {
+      return null;
     }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
 
-      var readers = this._rangeReaders.slice(0);
+    const reader = new PDFDataTransportStreamRangeReader(this, begin, end);
 
-      readers.forEach(function (rangeReader) {
-        rangeReader.cancel(reason);
-      });
+    this._pdfDataRangeTransport.requestDataRange(begin, end);
 
-      this._pdfDataRangeTransport.abort();
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
+    this._rangeReaders.push(reader);
+
+    return reader;
+  }
+
+  cancelAllRequests(reason) {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.cancel(reason);
     }
-  }]);
 
-  return PDFDataTransportStream;
-}();
+    const readers = this._rangeReaders.slice(0);
 
-exports.PDFDataTransportStream = PDFDataTransportStream;
+    readers.forEach(function (rangeReader) {
+      rangeReader.cancel(reason);
+    });
+
+    this._pdfDataRangeTransport.abort();
+  }
 
-var PDFDataTransportStreamReader =
-/*#__PURE__*/
-function () {
-  function PDFDataTransportStreamReader(stream, queuedChunks) {
-    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+}
 
-    _classCallCheck(this, PDFDataTransportStreamReader);
+exports.PDFDataTransportStream = PDFDataTransportStream;
 
+class PDFDataTransportStreamReader {
+  constructor(stream, queuedChunks, progressiveDone = false) {
     this._stream = stream;
     this._done = progressiveDone || false;
     this._filename = null;
     this._queuedChunks = queuedChunks || [];
     this._loaded = 0;
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
 
-    try {
-      for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = 
(_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-        var chunk = _step.value;
-        this._loaded += chunk.byteLength;
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
-      }
+    for (const chunk of this._queuedChunks) {
+      this._loaded += chunk.byteLength;
     }
 
     this._requests = [];
@@ -18213,139 +7994,94 @@ function () {
     this.onProgress = null;
   }
 
-  _createClass(PDFDataTransportStreamReader, [{
-    key: "_enqueue",
-    value: function _enqueue(chunk) {
-      if (this._done) {
-        return;
-      }
-
-      if (this._requests.length > 0) {
-        var requestCapability = this._requests.shift();
+  _enqueue(chunk) {
+    if (this._done) {
+      return;
+    }
 
-        requestCapability.resolve({
-          value: chunk,
-          done: false
-        });
-      } else {
-        this._queuedChunks.push(chunk);
-      }
+    if (this._requests.length > 0) {
+      const requestCapability = this._requests.shift();
 
-      this._loaded += chunk.byteLength;
+      requestCapability.resolve({
+        value: chunk,
+        done: false
+      });
+    } else {
+      this._queuedChunks.push(chunk);
     }
-  }, {
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(this._queuedChunks.length > 0)) {
-                  _context.next = 3;
-                  break;
-                }
 
-                chunk = this._queuedChunks.shift();
-                return _context.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
+    this._loaded += chunk.byteLength;
+  }
 
-              case 3:
-                if (!this._done) {
-                  _context.next = 5;
-                  break;
-                }
+  get headersReady() {
+    return this._headersReady;
+  }
 
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get filename() {
+    return this._filename;
+  }
 
-              case 5:
-                requestCapability = (0, _util.createPromiseCapability)();
+  get isRangeSupported() {
+    return this._stream._isRangeSupported;
+  }
 
-                this._requests.push(requestCapability);
+  get isStreamingSupported() {
+    return this._stream._isStreamingSupported;
+  }
 
-                return _context.abrupt("return", requestCapability.promise);
+  get contentLength() {
+    return this._stream._contentLength;
+  }
 
-              case 8:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+  async read() {
+    if (this._queuedChunks.length > 0) {
+      const chunk = this._queuedChunks.shift();
 
-      function read() {
-        return _read.apply(this, arguments);
-      }
+      return {
+        value: chunk,
+        done: false
+      };
+    }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
+    const requestCapability = (0, _util.createPromiseCapability)();
+
+    this._requests.push(requestCapability);
+
+    return requestCapability.promise;
+  }
+
+  cancel(reason) {
+    this._done = true;
+
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
       });
+    });
 
-      this._requests = [];
-    }
-  }, {
-    key: "progressiveDone",
-    value: function progressiveDone() {
-      if (this._done) {
-        return;
-      }
+    this._requests = [];
+  }
 
-      this._done = true;
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReady;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._stream._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._stream._isStreamingSupported;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._stream._contentLength;
+  progressiveDone() {
+    if (this._done) {
+      return;
     }
-  }]);
 
-  return PDFDataTransportStreamReader;
-}();
+    this._done = true;
+  }
 
-var PDFDataTransportStreamRangeReader =
-/*#__PURE__*/
-function () {
-  function PDFDataTransportStreamRangeReader(stream, begin, end) {
-    _classCallCheck(this, PDFDataTransportStreamRangeReader);
+}
 
+class PDFDataTransportStreamRangeReader {
+  constructor(stream, begin, end) {
     this._stream = stream;
     this._begin = begin;
     this._end = end;
@@ -18355,120 +8091,83 @@ function () {
     this.onProgress = null;
   }
 
-  _createClass(PDFDataTransportStreamRangeReader, [{
-    key: "_enqueue",
-    value: function _enqueue(chunk) {
-      if (this._done) {
-        return;
-      }
+  _enqueue(chunk) {
+    if (this._done) {
+      return;
+    }
 
-      if (this._requests.length === 0) {
-        this._queuedChunk = chunk;
-      } else {
-        var requestsCapability = this._requests.shift();
+    if (this._requests.length === 0) {
+      this._queuedChunk = chunk;
+    } else {
+      const requestsCapability = this._requests.shift();
 
-        requestsCapability.resolve({
-          value: chunk,
-          done: false
-        });
+      requestsCapability.resolve({
+        value: chunk,
+        done: false
+      });
 
-        this._requests.forEach(function (requestCapability) {
-          requestCapability.resolve({
-            value: undefined,
-            done: true
-          });
+      this._requests.forEach(function (requestCapability) {
+        requestCapability.resolve({
+          value: undefined,
+          done: true
         });
+      });
 
-        this._requests = [];
-      }
-
-      this._done = true;
+      this._requests = [];
+    }
 
-      this._stream._removeRangeReader(this);
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (!this._queuedChunk) {
-                  _context2.next = 4;
-                  break;
-                }
+    this._done = true;
 
-                chunk = this._queuedChunk;
-                this._queuedChunk = null;
-                return _context2.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 4:
-                if (!this._done) {
-                  _context2.next = 6;
-                  break;
-                }
+    this._stream._removeRangeReader(this);
+  }
 
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get isStreamingSupported() {
+    return false;
+  }
 
-              case 6:
-                requestCapability = (0, _util.createPromiseCapability)();
+  async read() {
+    if (this._queuedChunk) {
+      const chunk = this._queuedChunk;
+      this._queuedChunk = null;
+      return {
+        value: chunk,
+        done: false
+      };
+    }
 
-                this._requests.push(requestCapability);
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-                return _context2.abrupt("return", requestCapability.promise);
+    const requestCapability = (0, _util.createPromiseCapability)();
 
-              case 9:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+    this._requests.push(requestCapability);
 
-      function read() {
-        return _read2.apply(this, arguments);
-      }
+    return requestCapability.promise;
+  }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
+  cancel(reason) {
+    this._done = true;
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
       });
+    });
 
-      this._requests = [];
+    this._requests = [];
 
-      this._stream._removeRangeReader(this);
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
-    }
-  }]);
+    this._stream._removeRangeReader(this);
+  }
 
-  return PDFDataTransportStreamRangeReader;
-}();
+}
 
 /***/ }),
-/* 193 */
+/* 15 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -18481,62 +8180,46 @@ exports.WebGLContext = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+class WebGLContext {
+  constructor({
+    enable = false
+  }) {
+    this._enabled = enable === true;
+  }
 
-var WebGLContext =
-/*#__PURE__*/
-function () {
-  function WebGLContext(_ref) {
-    var _ref$enable = _ref.enable,
-        enable = _ref$enable === void 0 ? false : _ref$enable;
+  get isEnabled() {
+    let enabled = this._enabled;
 
-    _classCallCheck(this, WebGLContext);
+    if (enabled) {
+      enabled = WebGLUtils.tryInitGL();
+    }
 
-    this._enabled = enable === true;
+    return (0, _util.shadow)(this, "isEnabled", enabled);
   }
 
-  _createClass(WebGLContext, [{
-    key: "composeSMask",
-    value: function composeSMask(_ref2) {
-      var layer = _ref2.layer,
-          mask = _ref2.mask,
-          properties = _ref2.properties;
-      return WebGLUtils.composeSMask(layer, mask, properties);
-    }
-  }, {
-    key: "drawFigures",
-    value: function drawFigures(_ref3) {
-      var width = _ref3.width,
-          height = _ref3.height,
-          backgroundColor = _ref3.backgroundColor,
-          figures = _ref3.figures,
-          context = _ref3.context;
-      return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
-    }
-  }, {
-    key: "clear",
-    value: function clear() {
-      WebGLUtils.cleanup();
-    }
-  }, {
-    key: "isEnabled",
-    get: function get() {
-      var enabled = this._enabled;
+  composeSMask({
+    layer,
+    mask,
+    properties
+  }) {
+    return WebGLUtils.composeSMask(layer, mask, properties);
+  }
 
-      if (enabled) {
-        enabled = WebGLUtils.tryInitGL();
-      }
+  drawFigures({
+    width,
+    height,
+    backgroundColor,
+    figures,
+    context
+  }) {
+    return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
+  }
 
-      return (0, _util.shadow)(this, 'isEnabled', enabled);
-    }
-  }]);
+  clear() {
+    WebGLUtils.cleanup();
+  }
 
-  return WebGLContext;
-}();
+}
 
 exports.WebGLContext = WebGLContext;
 
@@ -18549,7 +8232,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
 
     if (!compiled) {
       var errorMsg = gl.getShaderInfoLog(shader);
-      throw new Error('Error during shader compilation: ' + errorMsg);
+      throw new Error("Error during shader compilation: " + errorMsg);
     }
 
     return shader;
@@ -18575,7 +8258,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
 
     if (!linked) {
       var errorMsg = gl.getProgramInfoLog(program);
-      throw new Error('Error during program linking: ' + errorMsg);
+      throw new Error("Error during program linking: " + errorMsg);
     }
 
     return program;
@@ -18600,13 +8283,13 @@ var WebGLUtils = function WebGLUtilsClosure() {
       return;
     }
 
-    currentCanvas = document.createElement('canvas');
-    currentGL = currentCanvas.getContext('webgl', {
+    currentCanvas = document.createElement("canvas");
+    currentGL = currentCanvas.getContext("webgl", {
       premultipliedalpha: false
     });
   }
 
-  var smaskVertexShaderCode = '\
+  var smaskVertexShaderCode = "\
   attribute vec2 a_position;                                    \
   attribute vec2 a_texCoord;                                    \
                                                                 \
@@ -18619,8 +8302,8 @@ var WebGLUtils = function WebGLUtilsClosure() {
     gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                 \
     v_texCoord = a_texCoord;                                    \
-  }                                                             ';
-  var smaskFragmentShaderCode = '\
+  }                                                             ";
+  var smaskFragmentShaderCode = "\
   precision mediump float;                                      \
                                                                 \
   uniform vec4 u_backdrop;                                      \
@@ -18647,7 +8330,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
     imageColor.a *= lum;                                        \
     imageColor.rgb *= imageColor.a;                             \
     gl_FragColor = imageColor;                                  \
-  }                                                             ';
+  }                                                             ";
   var smaskCache = null;
 
   function initSmaskGL() {
@@ -18664,13 +8347,13 @@ var WebGLUtils = function WebGLUtilsClosure() {
     var cache = {};
     cache.gl = gl;
     cache.canvas = canvas;
-    cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');
-    cache.positionLocation = gl.getAttribLocation(program, 'a_position');
-    cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');
-    cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');
-    var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');
-    var texLayerLocation = gl.getUniformLocation(program, 'u_image');
-    var texMaskLocation = gl.getUniformLocation(program, 'u_mask');
+    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
+    cache.positionLocation = gl.getAttribLocation(program, "a_position");
+    cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
+    cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
+    var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
+    var texLayerLocation = gl.getUniformLocation(program, "u_image");
+    var texMaskLocation = gl.getUniformLocation(program, "u_mask");
     var texCoordBuffer = gl.createBuffer();
     gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
     gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 
1.0]), gl.STATIC_DRAW);
@@ -18703,7 +8386,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
       gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
     }
 
-    gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);
+    gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
     var texture = createTexture(gl, layer, gl.TEXTURE0);
     var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
     var buffer = gl.createBuffer();
@@ -18723,7 +8406,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
     return canvas;
   }
 
-  var figuresVertexShaderCode = '\
+  var figuresVertexShaderCode = "\
   attribute vec2 a_position;                                    \
   attribute vec3 a_color;                                       \
                                                                 \
@@ -18739,15 +8422,15 @@ var WebGLUtils = function WebGLUtilsClosure() {
     gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                 \
     v_color = vec4(a_color / 255.0, 1.0);                       \
-  }                                                             ';
-  var figuresFragmentShaderCode = '\
+  }                                                             ";
+  var figuresFragmentShaderCode = "\
   precision mediump float;                                      \
                                                                 \
   varying vec4 v_color;                                         \
                                                                 \
   void main() {                                                 \
     gl_FragColor = v_color;                                     \
-  }                                                             ';
+  }                                                             ";
   var figuresCache = null;
 
   function initFiguresGL() {
@@ -18764,11 +8447,11 @@ var WebGLUtils = function WebGLUtilsClosure() {
     var cache = {};
     cache.gl = gl;
     cache.canvas = canvas;
-    cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');
-    cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');
-    cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');
-    cache.positionLocation = gl.getAttribLocation(program, 'a_position');
-    cache.colorLocation = gl.getAttribLocation(program, 'a_color');
+    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
+    cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
+    cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
+    cache.positionLocation = gl.getAttribLocation(program, "a_position");
+    cache.colorLocation = gl.getAttribLocation(program, "a_color");
     figuresCache = cache;
   }
 
@@ -18789,12 +8472,12 @@ var WebGLUtils = function WebGLUtilsClosure() {
 
     for (i = 0, ii = figures.length; i < ii; i++) {
       switch (figures[i].type) {
-        case 'lattice':
+        case "lattice":
           rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
           count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
           break;
 
-        case 'triangles':
+        case "triangles":
           count += figures[i].coords.length;
           break;
       }
@@ -18813,7 +8496,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
           cs = figure.colors;
 
       switch (figure.type) {
-        case 'lattice':
+        case "lattice":
           var cols = figure.verticesPerRow;
           rows = ps.length / cols | 0;
 
@@ -18858,7 +8541,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
 
           break;
 
-        case 'triangles':
+        case "triangles":
           for (var j = 0, jj = ps.length; j < jj; j++) {
             coords[pIndex] = coordsMap[ps[j]];
             coords[pIndex + 1] = coordsMap[ps[j] + 1];
@@ -18900,7 +8583,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
   }
 
   return {
-    tryInitGL: function tryInitGL() {
+    tryInitGL() {
       try {
         generateGL();
         return !!currentGL;
@@ -18908,9 +8591,11 @@ var WebGLUtils = function WebGLUtilsClosure() {
 
       return false;
     },
-    composeSMask: composeSMask,
-    drawFigures: drawFigures,
-    cleanup: function cleanup() {
+
+    composeSMask,
+    drawFigures,
+
+    cleanup() {
       if (smaskCache && smaskCache.canvas) {
         smaskCache.canvas.width = 0;
         smaskCache.canvas.height = 0;
@@ -18924,11 +8609,12 @@ var WebGLUtils = function WebGLUtilsClosure() {
       smaskCache = null;
       figuresCache = null;
     }
+
   };
 }();
 
 /***/ }),
-/* 194 */
+/* 16 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -18941,10 +8627,6 @@ exports.renderTextLayer = void 0;
 
 var _util = __w_pdfjs_require__(1);
 
-var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
 var renderTextLayer = function renderTextLayerClosure() {
   var MAX_TEXT_DIVS_TO_RENDER = 100000;
   var NonWhitespaceRegexp = /\S/;
@@ -18954,7 +8636,7 @@ var renderTextLayer = function renderTextLayerClosure() {
   }
 
   function appendText(task, geom, styles) {
-    var textDiv = document.createElement('span');
+    var textDiv = document.createElement("span");
     var textDivProperties = {
       angle: 0,
       canvasWidth: 0,
@@ -18995,7 +8677,7 @@ var renderTextLayer = function renderTextLayerClosure() {
       fontAscent = (1 + style.descent) * fontAscent;
     }
 
-    var left, top;
+    let left, top;
 
     if (angle === 0) {
       left = tx[4];
@@ -19005,9 +8687,9 @@ var renderTextLayer = function renderTextLayerClosure() {
       top = tx[5] - fontAscent * Math.cos(angle);
     }
 
-    textDiv.style.left = "".concat(left, "px");
-    textDiv.style.top = "".concat(top, "px");
-    textDiv.style.fontSize = "".concat(fontHeight, "px");
+    textDiv.style.left = `${left}px`;
+    textDiv.style.top = `${top}px`;
+    textDiv.style.fontSize = `${fontHeight}px`;
     textDiv.style.fontFamily = style.fontFamily;
     textDiv.textContent = geom.str;
 
@@ -19060,7 +8742,7 @@ var renderTextLayer = function renderTextLayerClosure() {
         bottom: b[3],
         div: textDiv,
         size: [divWidth, divHeight],
-        m: m
+        m
       });
     }
   }
@@ -19139,7 +8821,7 @@ var renderTextLayer = function renderTextLayerClosure() {
         ts[i + 60] = c && (e.bottom - t[1]) / -c;
       });
 
-      var findPositiveMin = function findPositiveMin(ts, offset, count) {
+      var findPositiveMin = function (ts, offset, count) {
         var result = 0;
 
         for (var i = 0; i < count; i++) {
@@ -19355,16 +9037,15 @@ var renderTextLayer = function renderTextLayerClosure() {
     });
   }
 
-  function TextLayerRenderTask(_ref) {
-    var _this = this;
-
-    var textContent = _ref.textContent,
-        textContentStream = _ref.textContentStream,
-        container = _ref.container,
-        viewport = _ref.viewport,
-        textDivs = _ref.textDivs,
-        textContentItemsStr = _ref.textContentItemsStr,
-        enhanceTextSelection = _ref.enhanceTextSelection;
+  function TextLayerRenderTask({
+    textContent,
+    textContentStream,
+    container,
+    viewport,
+    textDivs,
+    textContentItemsStr,
+    enhanceTextSelection
+  }) {
     this._textContent = textContent;
     this._textContentStream = textContentStream;
     this._container = container;
@@ -19372,7 +9053,7 @@ var renderTextLayer = function renderTextLayerClosure() {
     this._textDivs = textDivs || [];
     this._textContentItemsStr = textContentItemsStr || [];
     this._enhanceTextSelection = !!enhanceTextSelection;
-    this._fontInspectorEnabled = !!(_global_scope["default"].FontInspector && 
_global_scope["default"].FontInspector.enabled);
+    this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);
     this._reader = null;
     this._layoutTextLastFontSize = null;
     this._layoutTextLastFontFamily = null;
@@ -19384,13 +9065,13 @@ var renderTextLayer = function renderTextLayerClosure() {
     this._renderTimer = null;
     this._bounds = [];
 
-    this._capability.promise["finally"](function () {
-      if (_this._layoutTextCtx) {
-        _this._layoutTextCtx.canvas.width = 0;
-        _this._layoutTextCtx.canvas.height = 0;
-        _this._layoutTextCtx = null;
+    this._capability.promise.finally(() => {
+      if (this._layoutTextCtx) {
+        this._layoutTextCtx.canvas.width = 0;
+        this._layoutTextCtx.canvas.height = 0;
+        this._layoutTextCtx = null;
       }
-    })["catch"](function () {});
+    }).catch(() => {});
   }
 
   TextLayerRenderTask.prototype = {
@@ -19402,7 +9083,7 @@ var renderTextLayer = function renderTextLayerClosure() {
       this._canceled = true;
 
       if (this._reader) {
-        this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));
+        this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));
 
         this._reader = null;
       }
@@ -19412,46 +9093,50 @@ var renderTextLayer = function renderTextLayerClosure() {
         this._renderTimer = null;
       }
 
-      this._capability.reject(new Error('TextLayer task cancelled.'));
+      this._capability.reject(new Error("TextLayer task cancelled."));
     },
-    _processItems: function _processItems(items, styleCache) {
-      for (var i = 0, len = items.length; i < len; i++) {
+
+    _processItems(items, styleCache) {
+      for (let i = 0, len = items.length; i < len; i++) {
         this._textContentItemsStr.push(items[i].str);
 
         appendText(this, items[i], styleCache);
       }
     },
-    _layoutText: function _layoutText(textDiv) {
-      var textDivProperties = this._textDivProperties.get(textDiv);
+
+    _layoutText(textDiv) {
+      const textDivProperties = this._textDivProperties.get(textDiv);
 
       if (textDivProperties.isWhitespace) {
         return;
       }
 
-      var transform = '';
+      let transform = "";
 
       if (textDivProperties.canvasWidth !== 0) {
-        var _textDiv$style = textDiv.style,
-            fontSize = _textDiv$style.fontSize,
-            fontFamily = _textDiv$style.fontFamily;
+        const {
+          fontSize,
+          fontFamily
+        } = textDiv.style;
 
         if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
-          this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
+          this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;
           this._layoutTextLastFontSize = fontSize;
           this._layoutTextLastFontFamily = fontFamily;
         }
 
-        var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
-            width = _this$_layoutTextCtx$.width;
+        const {
+          width
+        } = this._layoutTextCtx.measureText(textDiv.textContent);
 
         if (width > 0) {
           textDivProperties.scale = textDivProperties.canvasWidth / width;
-          transform = "scaleX(".concat(textDivProperties.scale, ")");
+          transform = `scaleX(${textDivProperties.scale})`;
         }
       }
 
       if (textDivProperties.angle !== 0) {
-        transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
+        transform = `rotate(${textDivProperties.angle}deg) ${transform}`;
       }
 
       if (transform.length > 0) {
@@ -19466,30 +9151,29 @@ var renderTextLayer = function renderTextLayerClosure() {
 
       this._container.appendChild(textDiv);
     },
-    _render: function TextLayer_render(timeout) {
-      var _this2 = this;
 
-      var capability = (0, _util.createPromiseCapability)();
-      var styleCache = Object.create(null);
-      var canvas = document.createElement('canvas');
+    _render: function TextLayer_render(timeout) {
+      const capability = (0, _util.createPromiseCapability)();
+      let styleCache = Object.create(null);
+      const canvas = document.createElement("canvas");
       canvas.mozOpaque = true;
-      this._layoutTextCtx = canvas.getContext('2d', {
+      this._layoutTextCtx = canvas.getContext("2d", {
         alpha: false
       });
 
       if (this._textContent) {
-        var textItems = this._textContent.items;
-        var textStyles = this._textContent.styles;
+        const textItems = this._textContent.items;
+        const textStyles = this._textContent.styles;
 
         this._processItems(textItems, textStyles);
 
         capability.resolve();
       } else if (this._textContentStream) {
-        var pump = function pump() {
-          _this2._reader.read().then(function (_ref2) {
-            var value = _ref2.value,
-                done = _ref2.done;
-
+        const pump = () => {
+          this._reader.read().then(({
+            value,
+            done
+          }) => {
             if (done) {
               capability.resolve();
               return;
@@ -19497,7 +9181,7 @@ var renderTextLayer = function renderTextLayerClosure() {
 
             Object.assign(styleCache, value.styles);
 
-            _this2._processItems(value.items, styleCache);
+            this._processItems(value.items, styleCache);
 
             pump();
           }, capability.reject);
@@ -19506,18 +9190,18 @@ var renderTextLayer = function renderTextLayerClosure() {
         this._reader = this._textContentStream.getReader();
         pump();
       } else {
-        throw new Error('Neither "textContent" nor "textContentStream"' + ' parameters specified.');
+        throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
       }
 
-      capability.promise.then(function () {
+      capability.promise.then(() => {
         styleCache = null;
 
         if (!timeout) {
-          render(_this2);
+          render(this);
         } else {
-          _this2._renderTimer = setTimeout(function () {
-            render(_this2);
-            _this2._renderTimer = null;
+          this._renderTimer = setTimeout(() => {
+            render(this);
+            this._renderTimer = null;
           }, timeout);
         }
       }, this._capability.reject);
@@ -19532,14 +9216,13 @@ var renderTextLayer = function renderTextLayerClosure() {
         this._bounds = null;
       }
 
-      var NO_PADDING = '0 0 0 0';
-      var transformBuf = [],
-          paddingBuf = [];
+      const transformBuf = [],
+            paddingBuf = [];
 
       for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
-        var div = this._textDivs[i];
+        const div = this._textDivs[i];
 
-        var divProps = this._textDivProperties.get(div);
+        const divProps = this._textDivProperties.get(div);
 
         if (divProps.isWhitespace) {
           continue;
@@ -19554,39 +9237,35 @@ var renderTextLayer = function renderTextLayerClosure() {
           }
 
           if (divProps.paddingTop > 0) {
-            paddingBuf.push("".concat(divProps.paddingTop, "px"));
-            transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
+            paddingBuf.push(`${divProps.paddingTop}px`);
+            transformBuf.push(`translateY(${-divProps.paddingTop}px)`);
           } else {
             paddingBuf.push(0);
           }
 
           if (divProps.paddingRight > 0) {
-            paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
+            paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);
           } else {
             paddingBuf.push(0);
           }
 
           if (divProps.paddingBottom > 0) {
-            paddingBuf.push("".concat(divProps.paddingBottom, "px"));
+            paddingBuf.push(`${divProps.paddingBottom}px`);
           } else {
             paddingBuf.push(0);
           }
 
           if (divProps.paddingLeft > 0) {
-            paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
-            transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
+            paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);
+            transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);
           } else {
             paddingBuf.push(0);
           }
 
-          var padding = paddingBuf.join(' ');
-
-          if (padding !== NO_PADDING) {
-            div.style.padding = padding;
-          }
+          div.style.padding = paddingBuf.join(" ");
 
           if (transformBuf.length) {
-            div.style.transform = transformBuf.join(' ');
+            div.style.transform = transformBuf.join(" ");
           }
         } else {
           div.style.padding = null;
@@ -19618,7 +9297,7 @@ var renderTextLayer = function renderTextLayerClosure() {
 exports.renderTextLayer = renderTextLayer;
 
 /***/ }),
-/* 195 */
+/* 17 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -19629,136 +9308,97 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.AnnotationLayer = void 0;
 
-var _display_utils = __w_pdfjs_require__(183);
+var _display_utils = __w_pdfjs_require__(4);
 
 var _util = __w_pdfjs_require__(1);
 
-function _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) 
{ object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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); }
+class AnnotationElementFactory {
+  static create(parameters) {
+    const subtype = parameters.data.annotationType;
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+    switch (subtype) {
+      case _util.AnnotationType.LINK:
+        return new LinkAnnotationElement(parameters);
 
-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); } }
+      case _util.AnnotationType.TEXT:
+        return new TextAnnotationElement(parameters);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+      case _util.AnnotationType.WIDGET:
+        const fieldType = parameters.data.fieldType;
 
-var AnnotationElementFactory =
-/*#__PURE__*/
-function () {
-  function AnnotationElementFactory() {
-    _classCallCheck(this, AnnotationElementFactory);
-  }
-
-  _createClass(AnnotationElementFactory, null, [{
-    key: "create",
-    value: function create(parameters) {
-      var subtype = parameters.data.annotationType;
-
-      switch (subtype) {
-        case _util.AnnotationType.LINK:
-          return new LinkAnnotationElement(parameters);
-
-        case _util.AnnotationType.TEXT:
-          return new TextAnnotationElement(parameters);
+        switch (fieldType) {
+          case "Tx":
+            return new TextWidgetAnnotationElement(parameters);
 
-        case _util.AnnotationType.WIDGET:
-          var fieldType = parameters.data.fieldType;
-
-          switch (fieldType) {
-            case 'Tx':
-              return new TextWidgetAnnotationElement(parameters);
-
-            case 'Btn':
-              if (parameters.data.radioButton) {
-                return new RadioButtonWidgetAnnotationElement(parameters);
-              } else if (parameters.data.checkBox) {
-                return new CheckboxWidgetAnnotationElement(parameters);
-              }
+          case "Btn":
+            if (parameters.data.radioButton) {
+              return new RadioButtonWidgetAnnotationElement(parameters);
+            } else if (parameters.data.checkBox) {
+              return new CheckboxWidgetAnnotationElement(parameters);
+            }
 
-              return new PushButtonWidgetAnnotationElement(parameters);
+            return new PushButtonWidgetAnnotationElement(parameters);
 
-            case 'Ch':
-              return new ChoiceWidgetAnnotationElement(parameters);
-          }
+          case "Ch":
+            return new ChoiceWidgetAnnotationElement(parameters);
+        }
 
-          return new WidgetAnnotationElement(parameters);
+        return new WidgetAnnotationElement(parameters);
 
-        case _util.AnnotationType.POPUP:
-          return new PopupAnnotationElement(parameters);
+      case _util.AnnotationType.POPUP:
+        return new PopupAnnotationElement(parameters);
 
-        case _util.AnnotationType.FREETEXT:
-          return new FreeTextAnnotationElement(parameters);
+      case _util.AnnotationType.FREETEXT:
+        return new FreeTextAnnotationElement(parameters);
 
-        case _util.AnnotationType.LINE:
-          return new LineAnnotationElement(parameters);
+      case _util.AnnotationType.LINE:
+        return new LineAnnotationElement(parameters);
 
-        case _util.AnnotationType.SQUARE:
-          return new SquareAnnotationElement(parameters);
+      case _util.AnnotationType.SQUARE:
+        return new SquareAnnotationElement(parameters);
 
-        case _util.AnnotationType.CIRCLE:
-          return new CircleAnnotationElement(parameters);
+      case _util.AnnotationType.CIRCLE:
+        return new CircleAnnotationElement(parameters);
 
-        case _util.AnnotationType.POLYLINE:
-          return new PolylineAnnotationElement(parameters);
+      case _util.AnnotationType.POLYLINE:
+        return new PolylineAnnotationElement(parameters);
 
-        case _util.AnnotationType.CARET:
-          return new CaretAnnotationElement(parameters);
+      case _util.AnnotationType.CARET:
+        return new CaretAnnotationElement(parameters);
 
-        case _util.AnnotationType.INK:
-          return new InkAnnotationElement(parameters);
+      case _util.AnnotationType.INK:
+        return new InkAnnotationElement(parameters);
 
-        case _util.AnnotationType.POLYGON:
-          return new PolygonAnnotationElement(parameters);
+      case _util.AnnotationType.POLYGON:
+        return new PolygonAnnotationElement(parameters);
 
-        case _util.AnnotationType.HIGHLIGHT:
-          return new HighlightAnnotationElement(parameters);
+      case _util.AnnotationType.HIGHLIGHT:
+        return new HighlightAnnotationElement(parameters);
 
-        case _util.AnnotationType.UNDERLINE:
-          return new UnderlineAnnotationElement(parameters);
+      case _util.AnnotationType.UNDERLINE:
+        return new UnderlineAnnotationElement(parameters);
 
-        case _util.AnnotationType.SQUIGGLY:
-          return new SquigglyAnnotationElement(parameters);
+      case _util.AnnotationType.SQUIGGLY:
+        return new SquigglyAnnotationElement(parameters);
 
-        case _util.AnnotationType.STRIKEOUT:
-          return new StrikeOutAnnotationElement(parameters);
+      case _util.AnnotationType.STRIKEOUT:
+        return new StrikeOutAnnotationElement(parameters);
 
-        case _util.AnnotationType.STAMP:
-          return new StampAnnotationElement(parameters);
+      case _util.AnnotationType.STAMP:
+        return new StampAnnotationElement(parameters);
 
-        case _util.AnnotationType.FILEATTACHMENT:
-          return new FileAttachmentAnnotationElement(parameters);
+      case _util.AnnotationType.FILEATTACHMENT:
+        return new FileAttachmentAnnotationElement(parameters);
 
-        default:
-          return new AnnotationElement(parameters);
-      }
+      default:
+        return new AnnotationElement(parameters);
     }
-  }]);
-
-  return AnnotationElementFactory;
-}();
-
-var AnnotationElement =
-/*#__PURE__*/
-function () {
-  function AnnotationElement(parameters) {
-    var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-    var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+  }
 
-    _classCallCheck(this, AnnotationElement);
+}
 
+class AnnotationElement {
+  constructor(parameters, isRenderable = false, ignoreBorder = false) {
     this.isRenderable = isRenderable;
     this.data = parameters.data;
     this.layer = parameters.layer;
@@ -19775,536 +9415,408 @@ function () {
     }
   }
 
-  _createClass(AnnotationElement, [{
-    key: "_createContainer",
-    value: function _createContainer() {
-      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var data = this.data,
+  _createContainer(ignoreBorder = false) {
+    const data = this.data,
           page = this.page,
           viewport = this.viewport;
-      var container = document.createElement('section');
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      container.setAttribute('data-annotation-id', data.id);
-
-      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], 
data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
-
-      container.style.transform = "matrix(".concat(viewport.transform.join(','), ")");
-      container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px");
-
-      if (!ignoreBorder && data.borderStyle.width > 0) {
-        container.style.borderWidth = "".concat(data.borderStyle.width, "px");
-
-        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
-          width = width - 2 * data.borderStyle.width;
-          height = height - 2 * data.borderStyle.width;
-        }
-
-        var horizontalRadius = data.borderStyle.horizontalCornerRadius;
-        var verticalRadius = data.borderStyle.verticalCornerRadius;
+    const container = document.createElement("section");
+    let width = data.rect[2] - data.rect[0];
+    let height = data.rect[3] - data.rect[1];
+    container.setAttribute("data-annotation-id", data.id);
 
-        if (horizontalRadius > 0 || verticalRadius > 0) {
-          var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
-          container.style.borderRadius = radius;
-        }
-
-        switch (data.borderStyle.style) {
-          case _util.AnnotationBorderStyleType.SOLID:
-            container.style.borderStyle = 'solid';
-            break;
-
-          case _util.AnnotationBorderStyleType.DASHED:
-            container.style.borderStyle = 'dashed';
-            break;
+    const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], 
data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
 
-          case _util.AnnotationBorderStyleType.BEVELED:
-            (0, _util.warn)('Unimplemented border style: beveled');
-            break;
+    container.style.transform = `matrix(${viewport.transform.join(",")})`;
+    container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;
 
-          case _util.AnnotationBorderStyleType.INSET:
-            (0, _util.warn)('Unimplemented border style: inset');
-            break;
+    if (!ignoreBorder && data.borderStyle.width > 0) {
+      container.style.borderWidth = `${data.borderStyle.width}px`;
 
-          case _util.AnnotationBorderStyleType.UNDERLINE:
-            container.style.borderBottomStyle = 'solid';
-            break;
+      if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
+        width = width - 2 * data.borderStyle.width;
+        height = height - 2 * data.borderStyle.width;
+      }
 
-          default:
-            break;
-        }
+      const horizontalRadius = data.borderStyle.horizontalCornerRadius;
+      const verticalRadius = data.borderStyle.verticalCornerRadius;
 
-        if (data.color) {
-          container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, 
data.color[2] | 0);
-        } else {
-          container.style.borderWidth = 0;
-        }
+      if (horizontalRadius > 0 || verticalRadius > 0) {
+        const radius = `${horizontalRadius}px / ${verticalRadius}px`;
+        container.style.borderRadius = radius;
       }
 
-      container.style.left = "".concat(rect[0], "px");
-      container.style.top = "".concat(rect[1], "px");
-      container.style.width = "".concat(width, "px");
-      container.style.height = "".concat(height, "px");
-      return container;
-    }
-  }, {
-    key: "_createPopup",
-    value: function _createPopup(container, trigger, data) {
-      if (!trigger) {
-        trigger = document.createElement('div');
-        trigger.style.height = container.style.height;
-        trigger.style.width = container.style.width;
-        container.appendChild(trigger);
-      }
-
-      var popupElement = new PopupElement({
-        container: container,
-        trigger: trigger,
-        color: data.color,
-        title: data.title,
-        modificationDate: data.modificationDate,
-        contents: data.contents,
-        hideWrapper: true
-      });
-      var popup = popupElement.render();
-      popup.style.left = container.style.width;
-      container.appendChild(popup);
-    }
-  }, {
-    key: "render",
-    value: function render() {
-      (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');
-    }
-  }]);
+      switch (data.borderStyle.style) {
+        case _util.AnnotationBorderStyleType.SOLID:
+          container.style.borderStyle = "solid";
+          break;
 
-  return AnnotationElement;
-}();
+        case _util.AnnotationBorderStyleType.DASHED:
+          container.style.borderStyle = "dashed";
+          break;
 
-var LinkAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement) {
-  _inherits(LinkAnnotationElement, _AnnotationElement);
+        case _util.AnnotationBorderStyleType.BEVELED:
+          (0, _util.warn)("Unimplemented border style: beveled");
+          break;
 
-  function LinkAnnotationElement(parameters) {
-    _classCallCheck(this, LinkAnnotationElement);
+        case _util.AnnotationBorderStyleType.INSET:
+          (0, _util.warn)("Unimplemented border style: inset");
+          break;
 
-    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
-    return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, 
isRenderable));
-  }
+        case _util.AnnotationBorderStyleType.UNDERLINE:
+          container.style.borderBottomStyle = "solid";
+          break;
 
-  _createClass(LinkAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'linkAnnotation';
-      var data = this.data,
-          linkService = this.linkService;
-      var link = document.createElement('a');
+        default:
+          break;
+      }
 
-      if (data.url) {
-        (0, _display_utils.addLinkAttributes)(link, {
-          url: data.url,
-          target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
-          rel: linkService.externalLinkRel,
-          enabled: linkService.externalLinkEnabled
-        });
-      } else if (data.action) {
-        this._bindNamedAction(link, data.action);
+      if (data.color) {
+        container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, 
data.color[2] | 0);
       } else {
-        this._bindLink(link, data.dest);
+        container.style.borderWidth = 0;
       }
-
-      this.container.appendChild(link);
-      return this.container;
     }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(link, destination) {
-      var _this = this;
-
-      link.href = this.linkService.getDestinationHash(destination);
-
-      link.onclick = function () {
-        if (destination) {
-          _this.linkService.navigateTo(destination);
-        }
 
-        return false;
-      };
+    container.style.left = `${rect[0]}px`;
+    container.style.top = `${rect[1]}px`;
+    container.style.width = `${width}px`;
+    container.style.height = `${height}px`;
+    return container;
+  }
 
-      if (destination) {
-        link.className = 'internalLink';
-      }
+  _createPopup(container, trigger, data) {
+    if (!trigger) {
+      trigger = document.createElement("div");
+      trigger.style.height = container.style.height;
+      trigger.style.width = container.style.width;
+      container.appendChild(trigger);
     }
-  }, {
-    key: "_bindNamedAction",
-    value: function _bindNamedAction(link, action) {
-      var _this2 = this;
-
-      link.href = this.linkService.getAnchorUrl('');
 
-      link.onclick = function () {
-        _this2.linkService.executeNamedAction(action);
+    const popupElement = new PopupElement({
+      container,
+      trigger,
+      color: data.color,
+      title: data.title,
+      modificationDate: data.modificationDate,
+      contents: data.contents,
+      hideWrapper: true
+    });
+    const popup = popupElement.render();
+    popup.style.left = container.style.width;
+    container.appendChild(popup);
+  }
 
-        return false;
-      };
+  render() {
+    (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
+  }
 
-      link.className = 'internalLink';
-    }
-  }]);
+}
 
-  return LinkAnnotationElement;
-}(AnnotationElement);
+class LinkAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
+    super(parameters, isRenderable);
+  }
 
-var TextAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement2) {
-  _inherits(TextAnnotationElement, _AnnotationElement2);
+  render() {
+    this.container.className = "linkAnnotation";
+    const {
+      data,
+      linkService
+    } = this;
+    const link = document.createElement("a");
 
-  function TextAnnotationElement(parameters) {
-    _classCallCheck(this, TextAnnotationElement);
+    if (data.url) {
+      (0, _display_utils.addLinkAttributes)(link, {
+        url: data.url,
+        target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
+        rel: linkService.externalLinkRel,
+        enabled: linkService.externalLinkEnabled
+      });
+    } else if (data.action) {
+      this._bindNamedAction(link, data.action);
+    } else {
+      this._bindLink(link, data.dest);
+    }
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, 
isRenderable));
+    this.container.appendChild(link);
+    return this.container;
   }
 
-  _createClass(TextAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'textAnnotation';
-      var image = document.createElement('img');
-      image.style.height = this.container.style.height;
-      image.style.width = this.container.style.width;
-      image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';
-      image.alt = '[{{type}} Annotation]';
-      image.dataset.l10nId = 'text_annotation_type';
-      image.dataset.l10nArgs = JSON.stringify({
-        type: this.data.name
-      });
+  _bindLink(link, destination) {
+    link.href = this.linkService.getDestinationHash(destination);
 
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, image, this.data);
+    link.onclick = () => {
+      if (destination) {
+        this.linkService.navigateTo(destination);
       }
 
-      this.container.appendChild(image);
-      return this.container;
-    }
-  }]);
+      return false;
+    };
 
-  return TextAnnotationElement;
-}(AnnotationElement);
+    if (destination) {
+      link.className = "internalLink";
+    }
+  }
 
-var WidgetAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement3) {
-  _inherits(WidgetAnnotationElement, _AnnotationElement3);
+  _bindNamedAction(link, action) {
+    link.href = this.linkService.getAnchorUrl("");
 
-  function WidgetAnnotationElement() {
-    _classCallCheck(this, WidgetAnnotationElement);
+    link.onclick = () => {
+      this.linkService.executeNamedAction(action);
+      return false;
+    };
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));
+    link.className = "internalLink";
   }
 
-  _createClass(WidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      return this.container;
-    }
-  }]);
+}
 
-  return WidgetAnnotationElement;
-}(AnnotationElement);
+class TextAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable);
+  }
 
-var TextWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem) {
-  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);
+  render() {
+    this.container.className = "textAnnotation";
+    const image = document.createElement("img");
+    image.style.height = this.container.style.height;
+    image.style.width = this.container.style.width;
+    image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
+    image.alt = "[{{type}} Annotation]";
+    image.dataset.l10nId = "text_annotation_type";
+    image.dataset.l10nArgs = JSON.stringify({
+      type: this.data.name
+    });
 
-  function TextWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, TextWidgetAnnotationElement);
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, image, this.data);
+    }
 
-    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && 
!!parameters.data.fieldValue;
-    return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, 
parameters, isRenderable));
+    this.container.appendChild(image);
+    return this.container;
   }
 
-  _createClass(TextWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var TEXT_ALIGNMENT = ['left', 'center', 'right'];
-      this.container.className = 'textWidgetAnnotation';
-      var element = null;
+}
 
-      if (this.renderInteractiveForms) {
-        if (this.data.multiLine) {
-          element = document.createElement('textarea');
-          element.textContent = this.data.fieldValue;
-        } else {
-          element = document.createElement('input');
-          element.type = 'text';
-          element.setAttribute('value', this.data.fieldValue);
-        }
+class WidgetAnnotationElement extends AnnotationElement {
+  render() {
+    return this.container;
+  }
 
-        element.disabled = this.data.readOnly;
+}
 
-        if (this.data.maxLen !== null) {
-          element.maxLength = this.data.maxLen;
-        }
+class TextWidgetAnnotationElement extends WidgetAnnotationElement {
+  constructor(parameters) {
+    const isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && 
!!parameters.data.fieldValue;
+    super(parameters, isRenderable);
+  }
 
-        if (this.data.comb) {
-          var fieldWidth = this.data.rect[2] - this.data.rect[0];
-          var combWidth = fieldWidth / this.data.maxLen;
-          element.classList.add('comb');
-          element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
-        }
-      } else {
-        element = document.createElement('div');
+  render() {
+    const TEXT_ALIGNMENT = ["left", "center", "right"];
+    this.container.className = "textWidgetAnnotation";
+    let element = null;
+
+    if (this.renderInteractiveForms) {
+      if (this.data.multiLine) {
+        element = document.createElement("textarea");
         element.textContent = this.data.fieldValue;
-        element.style.verticalAlign = 'middle';
-        element.style.display = 'table-cell';
-        var font = null;
+      } else {
+        element = document.createElement("input");
+        element.type = "text";
+        element.setAttribute("value", this.data.fieldValue);
+      }
 
-        if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
-          font = this.page.commonObjs.get(this.data.fontRefName);
-        }
+      element.disabled = this.data.readOnly;
 
-        this._setTextStyle(element, font);
+      if (this.data.maxLen !== null) {
+        element.maxLength = this.data.maxLen;
       }
 
-      if (this.data.textAlignment !== null) {
-        element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
+      if (this.data.comb) {
+        const fieldWidth = this.data.rect[2] - this.data.rect[0];
+        const combWidth = fieldWidth / this.data.maxLen;
+        element.classList.add("comb");
+        element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;
       }
+    } else {
+      element = document.createElement("div");
+      element.textContent = this.data.fieldValue;
+      element.style.verticalAlign = "middle";
+      element.style.display = "table-cell";
+      let font = null;
 
-      this.container.appendChild(element);
-      return this.container;
-    }
-  }, {
-    key: "_setTextStyle",
-    value: function _setTextStyle(element, font) {
-      var style = element.style;
-      style.fontSize = "".concat(this.data.fontSize, "px");
-      style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';
-
-      if (!font) {
-        return;
+      if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
+        font = this.page.commonObjs.get(this.data.fontRefName);
       }
 
-      style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';
-      style.fontStyle = font.italic ? 'italic' : 'normal';
-      var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : '';
-      var fallbackName = font.fallbackName || 'Helvetica, sans-serif';
-      style.fontFamily = fontFamily + fallbackName;
+      this._setTextStyle(element, font);
     }
-  }]);
-
-  return TextWidgetAnnotationElement;
-}(WidgetAnnotationElement);
 
-var CheckboxWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem2) {
-  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);
-
-  function CheckboxWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, CheckboxWidgetAnnotationElement);
+    if (this.data.textAlignment !== null) {
+      element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
+    }
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, 
parameters, parameters.renderInteractiveForms));
+    this.container.appendChild(element);
+    return this.container;
   }
 
-  _createClass(CheckboxWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'buttonWidgetAnnotation checkBox';
-      var element = document.createElement('input');
-      element.disabled = this.data.readOnly;
-      element.type = 'checkbox';
-
-      if (this.data.fieldValue && this.data.fieldValue !== 'Off') {
-        element.setAttribute('checked', true);
-      }
+  _setTextStyle(element, font) {
+    const style = element.style;
+    style.fontSize = `${this.data.fontSize}px`;
+    style.direction = this.data.fontDirection < 0 ? "rtl" : "ltr";
 
-      this.container.appendChild(element);
-      return this.container;
+    if (!font) {
+      return;
     }
-  }]);
-
-  return CheckboxWidgetAnnotationElement;
-}(WidgetAnnotationElement);
 
-var RadioButtonWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem3) {
-  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);
+    let bold = "normal";
 
-  function RadioButtonWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, RadioButtonWidgetAnnotationElement);
+    if (font.black) {
+      bold = "900";
+    } else if (font.bold) {
+      bold = "bold";
+    }
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, 
parameters, parameters.renderInteractiveForms));
+    style.fontWeight = bold;
+    style.fontStyle = font.italic ? "italic" : "normal";
+    const fontFamily = font.loadedName ? `"${font.loadedName}", ` : "";
+    const fallbackName = font.fallbackName || "Helvetica, sans-serif";
+    style.fontFamily = fontFamily + fallbackName;
   }
 
-  _createClass(RadioButtonWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'buttonWidgetAnnotation radioButton';
-      var element = document.createElement('input');
-      element.disabled = this.data.readOnly;
-      element.type = 'radio';
-      element.name = this.data.fieldName;
+}
 
-      if (this.data.fieldValue === this.data.buttonValue) {
-        element.setAttribute('checked', true);
-      }
+class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {
+  constructor(parameters) {
+    super(parameters, parameters.renderInteractiveForms);
+  }
 
-      this.container.appendChild(element);
-      return this.container;
-    }
-  }]);
+  render() {
+    this.container.className = "buttonWidgetAnnotation checkBox";
+    const element = document.createElement("input");
+    element.disabled = this.data.readOnly;
+    element.type = "checkbox";
 
-  return RadioButtonWidgetAnnotationElement;
-}(WidgetAnnotationElement);
+    if (this.data.fieldValue && this.data.fieldValue !== "Off") {
+      element.setAttribute("checked", true);
+    }
 
-var PushButtonWidgetAnnotationElement =
-/*#__PURE__*/
-function (_LinkAnnotationElemen) {
-  _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);
+    this.container.appendChild(element);
+    return this.container;
+  }
 
-  function PushButtonWidgetAnnotationElement() {
-    _classCallCheck(this, PushButtonWidgetAnnotationElement);
+}
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, 
arguments));
+class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {
+  constructor(parameters) {
+    super(parameters, parameters.renderInteractiveForms);
   }
 
-  _createClass(PushButtonWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", 
this).call(this);
+  render() {
+    this.container.className = "buttonWidgetAnnotation radioButton";
+    const element = document.createElement("input");
+    element.disabled = this.data.readOnly;
+    element.type = "radio";
+    element.name = this.data.fieldName;
 
-      container.className = 'buttonWidgetAnnotation pushButton';
-      return container;
+    if (this.data.fieldValue === this.data.buttonValue) {
+      element.setAttribute("checked", true);
     }
-  }]);
 
-  return PushButtonWidgetAnnotationElement;
-}(LinkAnnotationElement);
+    this.container.appendChild(element);
+    return this.container;
+  }
+
+}
 
-var ChoiceWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem4) {
-  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);
+class PushButtonWidgetAnnotationElement extends LinkAnnotationElement {
+  render() {
+    const container = super.render();
+    container.className = "buttonWidgetAnnotation pushButton";
+    return container;
+  }
 
-  function ChoiceWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, ChoiceWidgetAnnotationElement);
+}
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, 
parameters, parameters.renderInteractiveForms));
+class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {
+  constructor(parameters) {
+    super(parameters, parameters.renderInteractiveForms);
   }
 
-  _createClass(ChoiceWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'choiceWidgetAnnotation';
-      var selectElement = document.createElement('select');
-      selectElement.disabled = this.data.readOnly;
+  render() {
+    this.container.className = "choiceWidgetAnnotation";
+    const selectElement = document.createElement("select");
+    selectElement.disabled = this.data.readOnly;
 
-      if (!this.data.combo) {
-        selectElement.size = this.data.options.length;
+    if (!this.data.combo) {
+      selectElement.size = this.data.options.length;
 
-        if (this.data.multiSelect) {
-          selectElement.multiple = true;
-        }
+      if (this.data.multiSelect) {
+        selectElement.multiple = true;
       }
+    }
 
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = 
(_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var option = _step.value;
-          var optionElement = document.createElement('option');
-          optionElement.textContent = option.displayValue;
-          optionElement.value = option.exportValue;
-
-          if (this.data.fieldValue.includes(option.displayValue)) {
-            optionElement.setAttribute('selected', true);
-          }
+    for (const option of this.data.options) {
+      const optionElement = document.createElement("option");
+      optionElement.textContent = option.displayValue;
+      optionElement.value = option.exportValue;
 
-          selectElement.appendChild(optionElement);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
+      if (this.data.fieldValue.includes(option.displayValue)) {
+        optionElement.setAttribute("selected", true);
       }
 
-      this.container.appendChild(selectElement);
-      return this.container;
+      selectElement.appendChild(optionElement);
     }
-  }]);
 
-  return ChoiceWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var PopupAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement4) {
-  _inherits(PopupAnnotationElement, _AnnotationElement4);
+    this.container.appendChild(selectElement);
+    return this.container;
+  }
 
-  function PopupAnnotationElement(parameters) {
-    _classCallCheck(this, PopupAnnotationElement);
+}
 
-    var isRenderable = !!(parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, 
isRenderable));
+class PopupAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable);
   }
 
-  _createClass(PopupAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];
-      this.container.className = 'popupAnnotation';
-
-      if (IGNORE_TYPES.includes(this.data.parentType)) {
-        return this.container;
-      }
+  render() {
+    const IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
+    this.container.className = "popupAnnotation";
 
-      var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
-      var parentElement = this.layer.querySelector(selector);
+    if (IGNORE_TYPES.includes(this.data.parentType)) {
+      return this.container;
+    }
 
-      if (!parentElement) {
-        return this.container;
-      }
+    const selector = `[data-annotation-id="${this.data.parentId}"]`;
+    const parentElement = this.layer.querySelector(selector);
 
-      var popup = new PopupElement({
-        container: this.container,
-        trigger: parentElement,
-        color: this.data.color,
-        title: this.data.title,
-        modificationDate: this.data.modificationDate,
-        contents: this.data.contents
-      });
-      var parentLeft = parseFloat(parentElement.style.left);
-      var parentWidth = parseFloat(parentElement.style.width);
-      this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px 
-").concat(parentElement.style.top);
-      this.container.style.left = "".concat(parentLeft + parentWidth, "px");
-      this.container.appendChild(popup.render());
+    if (!parentElement) {
       return this.container;
     }
-  }]);
 
-  return PopupAnnotationElement;
-}(AnnotationElement);
+    const popup = new PopupElement({
+      container: this.container,
+      trigger: parentElement,
+      color: this.data.color,
+      title: this.data.title,
+      modificationDate: this.data.modificationDate,
+      contents: this.data.contents
+    });
+    const parentLeft = parseFloat(parentElement.style.left);
+    const parentWidth = parseFloat(parentElement.style.width);
+    this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${parentElement.style.top}`;
+    this.container.style.left = `${parentLeft + parentWidth}px`;
+    this.container.appendChild(popup.render());
+    return this.container;
+  }
 
-var PopupElement =
-/*#__PURE__*/
-function () {
-  function PopupElement(parameters) {
-    _classCallCheck(this, PopupElement);
+}
 
+class PopupElement {
+  constructor(parameters) {
     this.container = parameters.container;
     this.trigger = parameters.trigger;
     this.color = parameters.color;
@@ -20315,920 +9827,553 @@ function () {
     this.pinned = false;
   }
 
-  _createClass(PopupElement, [{
-    key: "render",
-    value: function render() {
-      var BACKGROUND_ENLIGHT = 0.7;
-      var wrapper = document.createElement('div');
-      wrapper.className = 'popupWrapper';
-      this.hideElement = this.hideWrapper ? wrapper : this.container;
-      this.hideElement.setAttribute('hidden', true);
-      var popup = document.createElement('div');
-      popup.className = 'popup';
-      var color = this.color;
-
-      if (color) {
-        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
-        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
-        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
-        popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
-      }
-
-      var title = document.createElement('h1');
-      title.textContent = this.title;
-      popup.appendChild(title);
-
-      var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
-
-      if (dateObject) {
-        var modificationDate = document.createElement('span');
-        modificationDate.textContent = '{{date}}, {{time}}';
-        modificationDate.dataset.l10nId = 'annotation_date_string';
-        modificationDate.dataset.l10nArgs = JSON.stringify({
-          date: dateObject.toLocaleDateString(),
-          time: dateObject.toLocaleTimeString()
-        });
-        popup.appendChild(modificationDate);
-      }
-
-      var contents = this._formatContents(this.contents);
-
-      popup.appendChild(contents);
-      this.trigger.addEventListener('click', this._toggle.bind(this));
-      this.trigger.addEventListener('mouseover', this._show.bind(this, false));
-      this.trigger.addEventListener('mouseout', this._hide.bind(this, false));
-      popup.addEventListener('click', this._hide.bind(this, true));
-      wrapper.appendChild(popup);
-      return wrapper;
+  render() {
+    const BACKGROUND_ENLIGHT = 0.7;
+    const wrapper = document.createElement("div");
+    wrapper.className = "popupWrapper";
+    this.hideElement = this.hideWrapper ? wrapper : this.container;
+    this.hideElement.setAttribute("hidden", true);
+    const popup = document.createElement("div");
+    popup.className = "popup";
+    const color = this.color;
+
+    if (color) {
+      const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
+      const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
+      const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
+      popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
+    }
+
+    const title = document.createElement("h1");
+    title.textContent = this.title;
+    popup.appendChild(title);
+
+    const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
+
+    if (dateObject) {
+      const modificationDate = document.createElement("span");
+      modificationDate.textContent = "{{date}}, {{time}}";
+      modificationDate.dataset.l10nId = "annotation_date_string";
+      modificationDate.dataset.l10nArgs = JSON.stringify({
+        date: dateObject.toLocaleDateString(),
+        time: dateObject.toLocaleTimeString()
+      });
+      popup.appendChild(modificationDate);
     }
-  }, {
-    key: "_formatContents",
-    value: function _formatContents(contents) {
-      var p = document.createElement('p');
-      var lines = contents.split(/(?:\r\n?|\n)/);
-
-      for (var i = 0, ii = lines.length; i < ii; ++i) {
-        var line = lines[i];
-        p.appendChild(document.createTextNode(line));
-
-        if (i < ii - 1) {
-          p.appendChild(document.createElement('br'));
-        }
-      }
 
-      return p;
-    }
-  }, {
-    key: "_toggle",
-    value: function _toggle() {
-      if (this.pinned) {
-        this._hide(true);
-      } else {
-        this._show(true);
-      }
-    }
-  }, {
-    key: "_show",
-    value: function _show() {
-      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+    const contents = this._formatContents(this.contents);
 
-      if (pin) {
-        this.pinned = true;
-      }
+    popup.appendChild(contents);
+    this.trigger.addEventListener("click", this._toggle.bind(this));
+    this.trigger.addEventListener("mouseover", this._show.bind(this, false));
+    this.trigger.addEventListener("mouseout", this._hide.bind(this, false));
+    popup.addEventListener("click", this._hide.bind(this, true));
+    wrapper.appendChild(popup);
+    return wrapper;
+  }
 
-      if (this.hideElement.hasAttribute('hidden')) {
-        this.hideElement.removeAttribute('hidden');
-        this.container.style.zIndex += 1;
-      }
-    }
-  }, {
-    key: "_hide",
-    value: function _hide() {
-      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
+  _formatContents(contents) {
+    const p = document.createElement("p");
+    const lines = contents.split(/(?:\r\n?|\n)/);
 
-      if (unpin) {
-        this.pinned = false;
-      }
+    for (let i = 0, ii = lines.length; i < ii; ++i) {
+      const line = lines[i];
+      p.appendChild(document.createTextNode(line));
 
-      if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {
-        this.hideElement.setAttribute('hidden', true);
-        this.container.style.zIndex -= 1;
+      if (i < ii - 1) {
+        p.appendChild(document.createElement("br"));
       }
     }
-  }]);
-
-  return PopupElement;
-}();
 
-var FreeTextAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement5) {
-  _inherits(FreeTextAnnotationElement, _AnnotationElement5);
-
-  function FreeTextAnnotationElement(parameters) {
-    _classCallCheck(this, FreeTextAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, 
parameters, isRenderable, true));
+    return p;
   }
 
-  _createClass(FreeTextAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'freeTextAnnotation';
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
+  _toggle() {
+    if (this.pinned) {
+      this._hide(true);
+    } else {
+      this._show(true);
     }
-  }]);
-
-  return FreeTextAnnotationElement;
-}(AnnotationElement);
-
-var LineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement6) {
-  _inherits(LineAnnotationElement, _AnnotationElement6);
-
-  function LineAnnotationElement(parameters) {
-    _classCallCheck(this, LineAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, 
isRenderable, true));
   }
 
-  _createClass(LineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'lineAnnotation';
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var line = this.svgFactory.createElement('svg:line');
-      line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);
-      line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);
-      line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);
-      line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);
-      line.setAttribute('stroke-width', data.borderStyle.width);
-      line.setAttribute('stroke', 'transparent');
-      svg.appendChild(line);
-      this.container.append(svg);
-
-      this._createPopup(this.container, line, data);
-
-      return this.container;
+  _show(pin = false) {
+    if (pin) {
+      this.pinned = true;
     }
-  }]);
-
-  return LineAnnotationElement;
-}(AnnotationElement);
-
-var SquareAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement7) {
-  _inherits(SquareAnnotationElement, _AnnotationElement7);
-
-  function SquareAnnotationElement(parameters) {
-    _classCallCheck(this, SquareAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, 
isRenderable, true));
-  }
-
-  _createClass(SquareAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'squareAnnotation';
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var borderWidth = data.borderStyle.width;
-      var square = this.svgFactory.createElement('svg:rect');
-      square.setAttribute('x', borderWidth / 2);
-      square.setAttribute('y', borderWidth / 2);
-      square.setAttribute('width', width - borderWidth);
-      square.setAttribute('height', height - borderWidth);
-      square.setAttribute('stroke-width', borderWidth);
-      square.setAttribute('stroke', 'transparent');
-      square.setAttribute('fill', 'none');
-      svg.appendChild(square);
-      this.container.append(svg);
-
-      this._createPopup(this.container, square, data);
 
-      return this.container;
+    if (this.hideElement.hasAttribute("hidden")) {
+      this.hideElement.removeAttribute("hidden");
+      this.container.style.zIndex += 1;
     }
-  }]);
-
-  return SquareAnnotationElement;
-}(AnnotationElement);
-
-var CircleAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement8) {
-  _inherits(CircleAnnotationElement, _AnnotationElement8);
-
-  function CircleAnnotationElement(parameters) {
-    _classCallCheck(this, CircleAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, 
isRenderable, true));
-  }
-
-  _createClass(CircleAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'circleAnnotation';
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var borderWidth = data.borderStyle.width;
-      var circle = this.svgFactory.createElement('svg:ellipse');
-      circle.setAttribute('cx', width / 2);
-      circle.setAttribute('cy', height / 2);
-      circle.setAttribute('rx', width / 2 - borderWidth / 2);
-      circle.setAttribute('ry', height / 2 - borderWidth / 2);
-      circle.setAttribute('stroke-width', borderWidth);
-      circle.setAttribute('stroke', 'transparent');
-      circle.setAttribute('fill', 'none');
-      svg.appendChild(circle);
-      this.container.append(svg);
-
-      this._createPopup(this.container, circle, data);
+  }
 
-      return this.container;
+  _hide(unpin = true) {
+    if (unpin) {
+      this.pinned = false;
     }
-  }]);
-
-  return CircleAnnotationElement;
-}(AnnotationElement);
-
-var PolylineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement9) {
-  _inherits(PolylineAnnotationElement, _AnnotationElement9);
-
-  function PolylineAnnotationElement(parameters) {
-    var _this3;
 
-    _classCallCheck(this, PolylineAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, 
parameters, isRenderable, true));
-    _this3.containerClassName = 'polylineAnnotation';
-    _this3.svgElementName = 'svg:polyline';
-    return _this3;
+    if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
+      this.hideElement.setAttribute("hidden", true);
+      this.container.style.zIndex -= 1;
+    }
   }
 
-  _createClass(PolylineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = this.containerClassName;
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var points = [];
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = 
(_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var coordinate = _step2.value;
-          var x = coordinate.x - data.rect[0];
-          var y = data.rect[3] - coordinate.y;
-          points.push(x + ',' + y);
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
+}
 
-      points = points.join(' ');
-      var polyline = this.svgFactory.createElement(this.svgElementName);
-      polyline.setAttribute('points', points);
-      polyline.setAttribute('stroke-width', data.borderStyle.width);
-      polyline.setAttribute('stroke', 'transparent');
-      polyline.setAttribute('fill', 'none');
-      svg.appendChild(polyline);
-      this.container.append(svg);
+class FreeTextAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-      this._createPopup(this.container, polyline, data);
+  render() {
+    this.container.className = "freeTextAnnotation";
 
-      return this.container;
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
     }
-  }]);
-
-  return PolylineAnnotationElement;
-}(AnnotationElement);
 
-var PolygonAnnotationElement =
-/*#__PURE__*/
-function (_PolylineAnnotationEl) {
-  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);
-
-  function PolygonAnnotationElement(parameters) {
-    var _this4;
-
-    _classCallCheck(this, PolygonAnnotationElement);
-
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, 
parameters));
-    _this4.containerClassName = 'polygonAnnotation';
-    _this4.svgElementName = 'svg:polygon';
-    return _this4;
+    return this.container;
   }
 
-  return PolygonAnnotationElement;
-}(PolylineAnnotationElement);
-
-var CaretAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement10) {
-  _inherits(CaretAnnotationElement, _AnnotationElement10);
-
-  function CaretAnnotationElement(parameters) {
-    _classCallCheck(this, CaretAnnotationElement);
+}
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, 
isRenderable, true));
+class LineAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
   }
 
-  _createClass(CaretAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'caretAnnotation';
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return CaretAnnotationElement;
-}(AnnotationElement);
+  render() {
+    this.container.className = "lineAnnotation";
+    const data = this.data;
+    const width = data.rect[2] - data.rect[0];
+    const height = data.rect[3] - data.rect[1];
+    const svg = this.svgFactory.create(width, height);
+    const line = this.svgFactory.createElement("svg:line");
+    line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
+    line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
+    line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
+    line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
+    line.setAttribute("stroke-width", data.borderStyle.width || 1);
+    line.setAttribute("stroke", "transparent");
+    svg.appendChild(line);
+    this.container.append(svg);
 
-var InkAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement11) {
-  _inherits(InkAnnotationElement, _AnnotationElement11);
+    this._createPopup(this.container, line, data);
 
-  function InkAnnotationElement(parameters) {
-    var _this5;
+    return this.container;
+  }
 
-    _classCallCheck(this, InkAnnotationElement);
+}
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, 
isRenderable, true));
-    _this5.containerClassName = 'inkAnnotation';
-    _this5.svgElementName = 'svg:polyline';
-    return _this5;
+class SquareAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
   }
 
-  _createClass(InkAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = this.containerClassName;
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var _iteratorNormalCompletion3 = true;
-      var _didIteratorError3 = false;
-      var _iteratorError3 = undefined;
-
-      try {
-        for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = 
(_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-          var inkList = _step3.value;
-          var points = [];
-          var _iteratorNormalCompletion4 = true;
-          var _didIteratorError4 = false;
-          var _iteratorError4 = undefined;
+  render() {
+    this.container.className = "squareAnnotation";
+    const data = this.data;
+    const width = data.rect[2] - data.rect[0];
+    const height = data.rect[3] - data.rect[1];
+    const svg = this.svgFactory.create(width, height);
+    const borderWidth = data.borderStyle.width;
+    const square = this.svgFactory.createElement("svg:rect");
+    square.setAttribute("x", borderWidth / 2);
+    square.setAttribute("y", borderWidth / 2);
+    square.setAttribute("width", width - borderWidth);
+    square.setAttribute("height", height - borderWidth);
+    square.setAttribute("stroke-width", borderWidth || 1);
+    square.setAttribute("stroke", "transparent");
+    square.setAttribute("fill", "none");
+    svg.appendChild(square);
+    this.container.append(svg);
 
-          try {
-            for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 
= _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-              var coordinate = _step4.value;
-              var x = coordinate.x - data.rect[0];
-              var y = data.rect[3] - coordinate.y;
-              points.push("".concat(x, ",").concat(y));
-            }
-          } catch (err) {
-            _didIteratorError4 = true;
-            _iteratorError4 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-                _iterator4["return"]();
-              }
-            } finally {
-              if (_didIteratorError4) {
-                throw _iteratorError4;
-              }
-            }
-          }
+    this._createPopup(this.container, square, data);
 
-          points = points.join(' ');
-          var polyline = this.svgFactory.createElement(this.svgElementName);
-          polyline.setAttribute('points', points);
-          polyline.setAttribute('stroke-width', data.borderStyle.width);
-          polyline.setAttribute('stroke', 'transparent');
-          polyline.setAttribute('fill', 'none');
+    return this.container;
+  }
 
-          this._createPopup(this.container, polyline, data);
+}
 
-          svg.appendChild(polyline);
-        }
-      } catch (err) {
-        _didIteratorError3 = true;
-        _iteratorError3 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-            _iterator3["return"]();
-          }
-        } finally {
-          if (_didIteratorError3) {
-            throw _iteratorError3;
-          }
-        }
-      }
+class CircleAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-      this.container.append(svg);
-      return this.container;
-    }
-  }]);
+  render() {
+    this.container.className = "circleAnnotation";
+    const data = this.data;
+    const width = data.rect[2] - data.rect[0];
+    const height = data.rect[3] - data.rect[1];
+    const svg = this.svgFactory.create(width, height);
+    const borderWidth = data.borderStyle.width;
+    const circle = this.svgFactory.createElement("svg:ellipse");
+    circle.setAttribute("cx", width / 2);
+    circle.setAttribute("cy", height / 2);
+    circle.setAttribute("rx", width / 2 - borderWidth / 2);
+    circle.setAttribute("ry", height / 2 - borderWidth / 2);
+    circle.setAttribute("stroke-width", borderWidth || 1);
+    circle.setAttribute("stroke", "transparent");
+    circle.setAttribute("fill", "none");
+    svg.appendChild(circle);
+    this.container.append(svg);
 
-  return InkAnnotationElement;
-}(AnnotationElement);
+    this._createPopup(this.container, circle, data);
 
-var HighlightAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement12) {
-  _inherits(HighlightAnnotationElement, _AnnotationElement12);
+    return this.container;
+  }
 
-  function HighlightAnnotationElement(parameters) {
-    _classCallCheck(this, HighlightAnnotationElement);
+}
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, 
parameters, isRenderable, true));
+class PolylineAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+    this.containerClassName = "polylineAnnotation";
+    this.svgElementName = "svg:polyline";
   }
 
-  _createClass(HighlightAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'highlightAnnotation';
+  render() {
+    this.container.className = this.containerClassName;
+    const data = this.data;
+    const width = data.rect[2] - data.rect[0];
+    const height = data.rect[3] - data.rect[1];
+    const svg = this.svgFactory.create(width, height);
+    let points = [];
 
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
+    for (const coordinate of data.vertices) {
+      const x = coordinate.x - data.rect[0];
+      const y = data.rect[3] - coordinate.y;
+      points.push(x + "," + y);
     }
-  }]);
-
-  return HighlightAnnotationElement;
-}(AnnotationElement);
 
-var UnderlineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement13) {
-  _inherits(UnderlineAnnotationElement, _AnnotationElement13);
+    points = points.join(" ");
+    const polyline = this.svgFactory.createElement(this.svgElementName);
+    polyline.setAttribute("points", points);
+    polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
+    polyline.setAttribute("stroke", "transparent");
+    polyline.setAttribute("fill", "none");
+    svg.appendChild(polyline);
+    this.container.append(svg);
 
-  function UnderlineAnnotationElement(parameters) {
-    _classCallCheck(this, UnderlineAnnotationElement);
+    this._createPopup(this.container, polyline, data);
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, 
parameters, isRenderable, true));
+    return this.container;
   }
 
-  _createClass(UnderlineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'underlineAnnotation';
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return UnderlineAnnotationElement;
-}(AnnotationElement);
+}
 
-var SquigglyAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement14) {
-  _inherits(SquigglyAnnotationElement, _AnnotationElement14);
+class PolygonAnnotationElement extends PolylineAnnotationElement {
+  constructor(parameters) {
+    super(parameters);
+    this.containerClassName = "polygonAnnotation";
+    this.svgElementName = "svg:polygon";
+  }
 
-  function SquigglyAnnotationElement(parameters) {
-    _classCallCheck(this, SquigglyAnnotationElement);
+}
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, 
parameters, isRenderable, true));
+class CaretAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
   }
 
-  _createClass(SquigglyAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'squigglyAnnotation';
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
+  render() {
+    this.container.className = "caretAnnotation";
 
-      return this.container;
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
     }
-  }]);
 
-  return SquigglyAnnotationElement;
-}(AnnotationElement);
-
-var StrikeOutAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement15) {
-  _inherits(StrikeOutAnnotationElement, _AnnotationElement15);
-
-  function StrikeOutAnnotationElement(parameters) {
-    _classCallCheck(this, StrikeOutAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, 
parameters, isRenderable, true));
+    return this.container;
   }
 
-  _createClass(StrikeOutAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'strikeoutAnnotation';
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
+}
 
-  return StrikeOutAnnotationElement;
-}(AnnotationElement);
+class InkAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+    this.containerClassName = "inkAnnotation";
+    this.svgElementName = "svg:polyline";
+  }
 
-var StampAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement16) {
-  _inherits(StampAnnotationElement, _AnnotationElement16);
+  render() {
+    this.container.className = this.containerClassName;
+    const data = this.data;
+    const width = data.rect[2] - data.rect[0];
+    const height = data.rect[3] - data.rect[1];
+    const svg = this.svgFactory.create(width, height);
 
-  function StampAnnotationElement(parameters) {
-    _classCallCheck(this, StampAnnotationElement);
+    for (const inkList of data.inkLists) {
+      let points = [];
 
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, 
isRenderable, true));
-  }
+      for (const coordinate of inkList) {
+        const x = coordinate.x - data.rect[0];
+        const y = data.rect[3] - coordinate.y;
+        points.push(`${x},${y}`);
+      }
 
-  _createClass(StampAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'stampAnnotation';
+      points = points.join(" ");
+      const polyline = this.svgFactory.createElement(this.svgElementName);
+      polyline.setAttribute("points", points);
+      polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
+      polyline.setAttribute("stroke", "transparent");
+      polyline.setAttribute("fill", "none");
 
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
+      this._createPopup(this.container, polyline, data);
 
-      return this.container;
+      svg.appendChild(polyline);
     }
-  }]);
 
-  return StampAnnotationElement;
-}(AnnotationElement);
-
-var FileAttachmentAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement17) {
-  _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);
+    this.container.append(svg);
+    return this.container;
+  }
 
-  function FileAttachmentAnnotationElement(parameters) {
-    var _this6;
+}
 
-    _classCallCheck(this, FileAttachmentAnnotationElement);
+class HighlightAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, 
parameters, true));
-    var _this6$data$file = _this6.data.file,
-        filename = _this6$data$file.filename,
-        content = _this6$data$file.content;
-    _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);
-    _this6.content = content;
+  render() {
+    this.container.className = "highlightAnnotation";
 
-    if (_this6.linkService.eventBus) {
-      _this6.linkService.eventBus.dispatch('fileattachmentannotation', {
-        source: _assertThisInitialized(_this6),
-        id: (0, _util.stringToPDFString)(filename),
-        filename: filename,
-        content: content
-      });
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
     }
 
-    return _this6;
+    return this.container;
   }
 
-  _createClass(FileAttachmentAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = 'fileAttachmentAnnotation';
-      var trigger = document.createElement('div');
-      trigger.style.height = this.container.style.height;
-      trigger.style.width = this.container.style.width;
-      trigger.addEventListener('dblclick', this._download.bind(this));
+}
 
-      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
-        this._createPopup(this.container, trigger, this.data);
-      }
+class UnderlineAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-      this.container.appendChild(trigger);
-      return this.container;
-    }
-  }, {
-    key: "_download",
-    value: function _download() {
-      if (!this.downloadManager) {
-        (0, _util.warn)('Download cannot be started due to unavailable download manager');
-        return;
-      }
+  render() {
+    this.container.className = "underlineAnnotation";
 
-      this.downloadManager.downloadData(this.content, this.filename, '');
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
     }
-  }]);
-
-  return FileAttachmentAnnotationElement;
-}(AnnotationElement);
 
-var AnnotationLayer =
-/*#__PURE__*/
-function () {
-  function AnnotationLayer() {
-    _classCallCheck(this, AnnotationLayer);
+    return this.container;
   }
 
-  _createClass(AnnotationLayer, null, [{
-    key: "render",
-    value: function render(parameters) {
-      var _iteratorNormalCompletion5 = true;
-      var _didIteratorError5 = false;
-      var _iteratorError5 = undefined;
-
-      try {
-        for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; 
!(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-          var data = _step5.value;
+}
 
-          if (!data) {
-            continue;
-          }
+class SquigglyAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-          var element = AnnotationElementFactory.create({
-            data: data,
-            layer: parameters.div,
-            page: parameters.page,
-            viewport: parameters.viewport,
-            linkService: parameters.linkService,
-            downloadManager: parameters.downloadManager,
-            imageResourcesPath: parameters.imageResourcesPath || '',
-            renderInteractiveForms: parameters.renderInteractiveForms || false,
-            svgFactory: new _display_utils.DOMSVGFactory()
-          });
+  render() {
+    this.container.className = "squigglyAnnotation";
 
-          if (element.isRenderable) {
-            parameters.div.appendChild(element.render());
-          }
-        }
-      } catch (err) {
-        _didIteratorError5 = true;
-        _iteratorError5 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
-            _iterator5["return"]();
-          }
-        } finally {
-          if (_didIteratorError5) {
-            throw _iteratorError5;
-          }
-        }
-      }
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
     }
-  }, {
-    key: "update",
-    value: function update(parameters) {
-      var _iteratorNormalCompletion6 = true;
-      var _didIteratorError6 = false;
-      var _iteratorError6 = undefined;
-
-      try {
-        for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; 
!(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-          var data = _step6.value;
-          var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]"));
 
-          if (element) {
-            element.style.transform = "matrix(".concat(parameters.viewport.transform.join(','), ")");
-          }
-        }
-      } catch (err) {
-        _didIteratorError6 = true;
-        _iteratorError6 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
-            _iterator6["return"]();
-          }
-        } finally {
-          if (_didIteratorError6) {
-            throw _iteratorError6;
-          }
-        }
-      }
+    return this.container;
+  }
 
-      parameters.div.removeAttribute('hidden');
-    }
-  }]);
+}
 
-  return AnnotationLayer;
-}();
+class StrikeOutAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-exports.AnnotationLayer = AnnotationLayer;
+  render() {
+    this.container.className = "strikeoutAnnotation";
 
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
+    }
 
-"use strict";
+    return this.container;
+  }
 
+}
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.SVGGraphics = void 0;
+class StampAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+    super(parameters, isRenderable, true);
+  }
 
-var _util = __w_pdfjs_require__(1);
+  render() {
+    this.container.className = "stampAnnotation";
 
-var _display_utils = __w_pdfjs_require__(183);
+    if (!this.data.hasPopup) {
+      this._createPopup(this.container, null, this.data);
+    }
 
-var _is_node = _interopRequireDefault(__w_pdfjs_require__(4));
+    return this.container;
+  }
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+}
 
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || 
_nonIterableSpread(); }
+class FileAttachmentAnnotationElement extends AnnotationElement {
+  constructor(parameters) {
+    super(parameters, true);
+    const {
+      filename,
+      content
+    } = this.data.file;
+    this.filename = (0, _display_utils.getFilenameFromUrl)(filename);
+    this.content = content;
 
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
+    if (this.linkService.eventBus) {
+      this.linkService.eventBus.dispatch("fileattachmentannotation", {
+        source: this,
+        id: (0, _util.stringToPDFString)(filename),
+        filename,
+        content
+      });
+    }
+  }
 
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || 
Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
+  render() {
+    this.container.className = "fileAttachmentAnnotation";
+    const trigger = document.createElement("div");
+    trigger.style.height = this.container.style.height;
+    trigger.style.width = this.container.style.width;
+    trigger.addEventListener("dblclick", this._download.bind(this));
 
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i 
< arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
+    if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
+      this._createPopup(this.container, trigger, this.data);
+    }
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
+    this.container.appendChild(trigger);
+    return this.container;
+  }
 
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
+  _download() {
+    if (!this.downloadManager) {
+      (0, _util.warn)("Download cannot be started due to unavailable download manager");
+      return;
+    }
 
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
+    this.downloadManager.downloadData(this.content, this.filename, "");
+  }
 
-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"); } }
+class AnnotationLayer {
+  static render(parameters) {
+    const sortedAnnotations = [],
+          popupAnnotations = [];
 
-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); } }
+    for (const data of parameters.annotations) {
+      if (!data) {
+        continue;
+      }
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+      if (data.annotationType === _util.AnnotationType.POPUP) {
+        popupAnnotations.push(data);
+        continue;
+      }
 
-var SVGGraphics = function SVGGraphics() {
-  throw new Error('Not implemented: SVGGraphics');
-};
+      sortedAnnotations.push(data);
+    }
 
-exports.SVGGraphics = SVGGraphics;
-{
-  var opListToTree = function opListToTree(opList) {
-    var opTree = [];
-    var tmp = [];
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
+    if (popupAnnotations.length) {
+      sortedAnnotations.push(...popupAnnotations);
+    }
 
-    try {
-      for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-        var opListElement = _step.value;
-
-        if (opListElement.fn === 'save') {
-          opTree.push({
-            'fnId': 92,
-            'fn': 'group',
-            'items': []
-          });
-          tmp.push(opTree);
-          opTree = opTree[opTree.length - 1].items;
-          continue;
-        }
+    for (const data of sortedAnnotations) {
+      const element = AnnotationElementFactory.create({
+        data,
+        layer: parameters.div,
+        page: parameters.page,
+        viewport: parameters.viewport,
+        linkService: parameters.linkService,
+        downloadManager: parameters.downloadManager,
+        imageResourcesPath: parameters.imageResourcesPath || "",
+        renderInteractiveForms: parameters.renderInteractiveForms || false,
+        svgFactory: new _display_utils.DOMSVGFactory()
+      });
 
-        if (opListElement.fn === 'restore') {
-          opTree = tmp.pop();
-        } else {
-          opTree.push(opListElement);
-        }
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
+      if (element.isRenderable) {
+        parameters.div.appendChild(element.render());
       }
     }
+  }
 
-    return opTree;
-  };
+  static update(parameters) {
+    for (const data of parameters.annotations) {
+      const element = parameters.div.querySelector(`[data-annotation-id="${data.id}"]`);
 
-  var pf = function pf(value) {
-    if (Number.isInteger(value)) {
-      return value.toString();
+      if (element) {
+        element.style.transform = `matrix(${parameters.viewport.transform.join(",")})`;
+      }
     }
 
-    var s = value.toFixed(10);
-    var i = s.length - 1;
+    parameters.div.removeAttribute("hidden");
+  }
 
-    if (s[i] !== '0') {
-      return s;
-    }
+}
 
-    do {
-      i--;
-    } while (s[i] === '0');
+exports.AnnotationLayer = AnnotationLayer;
 
-    return s.substring(0, s[i] === '.' ? i : i + 1);
-  };
+/***/ }),
+/* 18 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
 
-  var pm = function pm(m) {
-    if (m[4] === 0 && m[5] === 0) {
-      if (m[1] === 0 && m[2] === 0) {
-        if (m[0] === 1 && m[3] === 1) {
-          return '';
-        }
+"use strict";
 
-        return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
-      }
 
-      if (m[0] === m[3] && m[1] === -m[2]) {
-        var a = Math.acos(m[0]) * 180 / Math.PI;
-        return "rotate(".concat(pf(a), ")");
-      }
-    } else {
-      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
-        return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
-      }
-    }
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.SVGGraphics = void 0;
 
-    return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " 
").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
-  };
+var _util = __w_pdfjs_require__(1);
+
+var _display_utils = __w_pdfjs_require__(4);
+
+var _is_node = __w_pdfjs_require__(7);
 
-  var SVG_DEFAULTS = {
-    fontStyle: 'normal',
-    fontWeight: 'normal',
-    fillColor: '#000000'
+let SVGGraphics = function () {
+  throw new Error("Not implemented: SVGGraphics");
+};
+
+exports.SVGGraphics = SVGGraphics;
+{
+  const SVG_DEFAULTS = {
+    fontStyle: "normal",
+    fontWeight: "normal",
+    fillColor: "#000000"
   };
-  var XML_NS = 'http://www.w3.org/XML/1998/namespace';
-  var XLINK_NS = 'http://www.w3.org/1999/xlink';
-  var LINE_CAP_STYLES = ['butt', 'round', 'square'];
-  var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];
+  const XML_NS = "http://www.w3.org/XML/1998/namespace";;
+  const XLINK_NS = "http://www.w3.org/1999/xlink";;
+  const LINE_CAP_STYLES = ["butt", "round", "square"];
+  const LINE_JOIN_STYLES = ["miter", "round", "bevel"];
 
-  var convertImgDataToPng = function () {
-    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
-    var CHUNK_WRAPPER_SIZE = 12;
-    var crcTable = new Int32Array(256);
+  const convertImgDataToPng = function () {
+    const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
+    const CHUNK_WRAPPER_SIZE = 12;
+    const crcTable = new Int32Array(256);
 
-    for (var i = 0; i < 256; i++) {
-      var c = i;
+    for (let i = 0; i < 256; i++) {
+      let c = i;
 
-      for (var h = 0; h < 8; h++) {
+      for (let h = 0; h < 8; h++) {
         if (c & 1) {
-          c = 0xedB88320 ^ c >> 1 & 0x7fffffff;
+          c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
         } else {
           c = c >> 1 & 0x7fffffff;
         }
@@ -21238,11 +10383,11 @@ exports.SVGGraphics = SVGGraphics;
     }
 
     function crc32(data, start, end) {
-      var crc = -1;
+      let crc = -1;
 
-      for (var _i = start; _i < end; _i++) {
-        var a = (crc ^ data[_i]) & 0xff;
-        var b = crcTable[a];
+      for (let i = start; i < end; i++) {
+        const a = (crc ^ data[i]) & 0xff;
+        const b = crcTable[a];
         crc = crc >>> 8 ^ b;
       }
 
@@ -21250,8 +10395,8 @@ exports.SVGGraphics = SVGGraphics;
     }
 
     function writePngChunk(type, body, data, offset) {
-      var p = offset;
-      var len = body.length;
+      let p = offset;
+      const len = body.length;
       data[p] = len >> 24 & 0xff;
       data[p + 1] = len >> 16 & 0xff;
       data[p + 2] = len >> 8 & 0xff;
@@ -21264,7 +10409,7 @@ exports.SVGGraphics = SVGGraphics;
       p += 4;
       data.set(body, p);
       p += body.length;
-      var crc = crc32(data, offset + 4, p);
+      const crc = crc32(data, offset + 4, p);
       data[p] = crc >> 24 & 0xff;
       data[p + 1] = crc >> 16 & 0xff;
       data[p + 2] = crc >> 8 & 0xff;
@@ -21272,11 +10417,11 @@ exports.SVGGraphics = SVGGraphics;
     }
 
     function adler32(data, start, end) {
-      var a = 1;
-      var b = 0;
+      let a = 1;
+      let b = 0;
 
-      for (var _i2 = start; _i2 < end; ++_i2) {
-        a = (a + (data[_i2] & 0xff)) % 65521;
+      for (let i = start; i < end; ++i) {
+        a = (a + (data[i] & 0xff)) % 65521;
         b = (b + a) % 65521;
       }
 
@@ -21284,40 +10429,40 @@ exports.SVGGraphics = SVGGraphics;
     }
 
     function deflateSync(literals) {
-      if (!(0, _is_node["default"])()) {
+      if (!_is_node.isNodeJS) {
         return deflateSyncUncompressed(literals);
       }
 
       try {
-        var input;
+        let input;
 
         if (parseInt(process.versions.node) >= 8) {
           input = literals;
         } else {
-          input = new Buffer(literals);
+          input = Buffer.from(literals);
         }
 
-        var output = require('zlib').deflateSync(input, {
+        const output = require("zlib").deflateSync(input, {
           level: 9
         });
 
         return output instanceof Uint8Array ? output : new Uint8Array(output);
       } catch (e) {
-        (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);
+        (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
       }
 
       return deflateSyncUncompressed(literals);
     }
 
     function deflateSyncUncompressed(literals) {
-      var len = literals.length;
-      var maxBlockLength = 0xFFFF;
-      var deflateBlocks = Math.ceil(len / maxBlockLength);
-      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
-      var pi = 0;
+      let len = literals.length;
+      const maxBlockLength = 0xffff;
+      const deflateBlocks = Math.ceil(len / maxBlockLength);
+      const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
+      let pi = 0;
       idat[pi++] = 0x78;
       idat[pi++] = 0x9c;
-      var pos = 0;
+      let pos = 0;
 
       while (len > maxBlockLength) {
         idat[pi++] = 0x00;
@@ -21338,7 +10483,7 @@ exports.SVGGraphics = SVGGraphics;
       idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
       idat.set(literals.subarray(pos), pi);
       pi += literals.length - pos;
-      var adler = adler32(literals, 0, literals.length);
+      const adler = adler32(literals, 0, literals.length);
       idat[pi++] = adler >> 24 & 0xff;
       idat[pi++] = adler >> 16 & 0xff;
       idat[pi++] = adler >> 8 & 0xff;
@@ -21347,10 +10492,10 @@ exports.SVGGraphics = SVGGraphics;
     }
 
     function encode(imgData, kind, forceDataSchema, isMask) {
-      var width = imgData.width;
-      var height = imgData.height;
-      var bitDepth, colorType, lineSize;
-      var bytes = imgData.data;
+      const width = imgData.width;
+      const height = imgData.height;
+      let bitDepth, colorType, lineSize;
+      const bytes = imgData.data;
 
       switch (kind) {
         case _util.ImageKind.GRAYSCALE_1BPP:
@@ -21372,14 +10517,14 @@ exports.SVGGraphics = SVGGraphics;
           break;
 
         default:
-          throw new Error('invalid format');
+          throw new Error("invalid format");
       }
 
-      var literals = new Uint8Array((1 + lineSize) * height);
-      var offsetLiterals = 0,
+      const literals = new Uint8Array((1 + lineSize) * height);
+      let offsetLiterals = 0,
           offsetBytes = 0;
 
-      for (var y = 0; y < height; ++y) {
+      for (let y = 0; y < height; ++y) {
         literals[offsetLiterals++] = 0;
         literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
         offsetBytes += lineSize;
@@ -21389,42 +10534,38 @@ exports.SVGGraphics = SVGGraphics;
       if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
         offsetLiterals = 0;
 
-        for (var _y = 0; _y < height; _y++) {
+        for (let y = 0; y < height; y++) {
           offsetLiterals++;
 
-          for (var _i3 = 0; _i3 < lineSize; _i3++) {
-            literals[offsetLiterals++] ^= 0xFF;
+          for (let i = 0; i < lineSize; i++) {
+            literals[offsetLiterals++] ^= 0xff;
           }
         }
       }
 
-      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, 
height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 
0x00]);
-      var idat = deflateSync(literals);
-      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
-      var data = new Uint8Array(pngLength);
-      var offset = 0;
+      const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, 
height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 
0x00]);
+      const idat = deflateSync(literals);
+      const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
+      const data = new Uint8Array(pngLength);
+      let offset = 0;
       data.set(PNG_HEADER, offset);
       offset += PNG_HEADER.length;
-      writePngChunk('IHDR', ihdr, data, offset);
+      writePngChunk("IHDR", ihdr, data, offset);
       offset += CHUNK_WRAPPER_SIZE + ihdr.length;
-      writePngChunk('IDATA', idat, data, offset);
+      writePngChunk("IDATA", idat, data, offset);
       offset += CHUNK_WRAPPER_SIZE + idat.length;
-      writePngChunk('IEND', new Uint8Array(0), data, offset);
-      return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);
+      writePngChunk("IEND", new Uint8Array(0), data, offset);
+      return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
     }
 
     return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
-      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
+      const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
       return encode(imgData, kind, forceDataSchema, isMask);
     };
   }();
 
-  var SVGExtraState =
-  /*#__PURE__*/
-  function () {
-    function SVGExtraState() {
-      _classCallCheck(this, SVGExtraState);
-
+  class SVGExtraState {
+    constructor() {
       this.fontSizeScale = 1;
       this.fontWeight = SVG_DEFAULTS.fontWeight;
       this.fontSize = 0;
@@ -21442,1402 +10583,1250 @@ exports.SVGGraphics = SVGGraphics;
       this.textHScale = 1;
       this.textRise = 0;
       this.fillColor = SVG_DEFAULTS.fillColor;
-      this.strokeColor = '#000000';
+      this.strokeColor = "#000000";
       this.fillAlpha = 1;
       this.strokeAlpha = 1;
       this.lineWidth = 1;
-      this.lineJoin = '';
-      this.lineCap = '';
+      this.lineJoin = "";
+      this.lineCap = "";
       this.miterLimit = 0;
       this.dashArray = [];
       this.dashPhase = 0;
       this.dependencies = [];
       this.activeClipUrl = null;
       this.clipGroup = null;
-      this.maskId = '';
+      this.maskId = "";
+    }
+
+    clone() {
+      return Object.create(this);
+    }
+
+    setCurrentPoint(x, y) {
+      this.x = x;
+      this.y = y;
+    }
+
+  }
+
+  function opListToTree(opList) {
+    let opTree = [];
+    const tmp = [];
+
+    for (const opListElement of opList) {
+      if (opListElement.fn === "save") {
+        opTree.push({
+          fnId: 92,
+          fn: "group",
+          items: []
+        });
+        tmp.push(opTree);
+        opTree = opTree[opTree.length - 1].items;
+        continue;
+      }
+
+      if (opListElement.fn === "restore") {
+        opTree = tmp.pop();
+      } else {
+        opTree.push(opListElement);
+      }
+    }
+
+    return opTree;
+  }
+
+  function pf(value) {
+    if (Number.isInteger(value)) {
+      return value.toString();
+    }
+
+    const s = value.toFixed(10);
+    let i = s.length - 1;
+
+    if (s[i] !== "0") {
+      return s;
+    }
+
+    do {
+      i--;
+    } while (s[i] === "0");
+
+    return s.substring(0, s[i] === "." ? i : i + 1);
+  }
+
+  function pm(m) {
+    if (m[4] === 0 && m[5] === 0) {
+      if (m[1] === 0 && m[2] === 0) {
+        if (m[0] === 1 && m[3] === 1) {
+          return "";
+        }
+
+        return `scale(${pf(m[0])} ${pf(m[3])})`;
+      }
+
+      if (m[0] === m[3] && m[1] === -m[2]) {
+        const a = Math.acos(m[0]) * 180 / Math.PI;
+        return `rotate(${pf(a)})`;
+      }
+    } else {
+      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
+        return `translate(${pf(m[4])} ${pf(m[5])})`;
+      }
+    }
+
+    return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;
+  }
+
+  let clipCount = 0;
+  let maskCount = 0;
+  let shadingCount = 0;
+  exports.SVGGraphics = SVGGraphics = class SVGGraphics {
+    constructor(commonObjs, objs, forceDataSchema) {
+      this.svgFactory = new _display_utils.DOMSVGFactory();
+      this.current = new SVGExtraState();
+      this.transformMatrix = _util.IDENTITY_MATRIX;
+      this.transformStack = [];
+      this.extraStack = [];
+      this.commonObjs = commonObjs;
+      this.objs = objs;
+      this.pendingClip = null;
+      this.pendingEOFill = false;
+      this.embedFonts = false;
+      this.embeddedFonts = Object.create(null);
+      this.cssStyle = null;
+      this.forceDataSchema = !!forceDataSchema;
+      this._operatorIdMapping = [];
+
+      for (const op in _util.OPS) {
+        this._operatorIdMapping[_util.OPS[op]] = op;
+      }
+    }
+
+    save() {
+      this.transformStack.push(this.transformMatrix);
+      const old = this.current;
+      this.extraStack.push(old);
+      this.current = old.clone();
+    }
+
+    restore() {
+      this.transformMatrix = this.transformStack.pop();
+      this.current = this.extraStack.pop();
+      this.pendingClip = null;
+      this.tgrp = null;
+    }
+
+    group(items) {
+      this.save();
+      this.executeOpTree(items);
+      this.restore();
+    }
+
+    loadDependencies(operatorList) {
+      const fnArray = operatorList.fnArray;
+      const argsArray = operatorList.argsArray;
+
+      for (let i = 0, ii = fnArray.length; i < ii; i++) {
+        if (fnArray[i] !== _util.OPS.dependency) {
+          continue;
+        }
+
+        for (const obj of argsArray[i]) {
+          const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs;
+          const promise = new Promise(resolve => {
+            objsPool.get(obj, resolve);
+          });
+          this.current.dependencies.push(promise);
+        }
+      }
+
+      return Promise.all(this.current.dependencies);
     }
 
-    _createClass(SVGExtraState, [{
-      key: "clone",
-      value: function clone() {
-        return Object.create(this);
-      }
-    }, {
-      key: "setCurrentPoint",
-      value: function setCurrentPoint(x, y) {
-        this.x = x;
-        this.y = y;
-      }
-    }]);
+    transform(a, b, c, d, e, f) {
+      const transformMatrix = [a, b, c, d, e, f];
+      this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
+      this.tgrp = null;
+    }
+
+    getSVG(operatorList, viewport) {
+      this.viewport = viewport;
+
+      const svgElement = this._initialize(viewport);
+
+      return this.loadDependencies(operatorList).then(() => {
+        this.transformMatrix = _util.IDENTITY_MATRIX;
+        this.executeOpTree(this.convertOpList(operatorList));
+        return svgElement;
+      });
+    }
+
+    convertOpList(operatorList) {
+      const operatorIdMapping = this._operatorIdMapping;
+      const argsArray = operatorList.argsArray;
+      const fnArray = operatorList.fnArray;
+      const opList = [];
+
+      for (let i = 0, ii = fnArray.length; i < ii; i++) {
+        const fnId = fnArray[i];
+        opList.push({
+          fnId,
+          fn: operatorIdMapping[fnId],
+          args: argsArray[i]
+        });
+      }
+
+      return opListToTree(opList);
+    }
+
+    executeOpTree(opTree) {
+      for (const opTreeElement of opTree) {
+        const fn = opTreeElement.fn;
+        const fnId = opTreeElement.fnId;
+        const args = opTreeElement.args;
+
+        switch (fnId | 0) {
+          case _util.OPS.beginText:
+            this.beginText();
+            break;
+
+          case _util.OPS.dependency:
+            break;
+
+          case _util.OPS.setLeading:
+            this.setLeading(args);
+            break;
+
+          case _util.OPS.setLeadingMoveText:
+            this.setLeadingMoveText(args[0], args[1]);
+            break;
+
+          case _util.OPS.setFont:
+            this.setFont(args);
+            break;
+
+          case _util.OPS.showText:
+            this.showText(args[0]);
+            break;
+
+          case _util.OPS.showSpacedText:
+            this.showText(args[0]);
+            break;
+
+          case _util.OPS.endText:
+            this.endText();
+            break;
+
+          case _util.OPS.moveText:
+            this.moveText(args[0], args[1]);
+            break;
+
+          case _util.OPS.setCharSpacing:
+            this.setCharSpacing(args[0]);
+            break;
+
+          case _util.OPS.setWordSpacing:
+            this.setWordSpacing(args[0]);
+            break;
+
+          case _util.OPS.setHScale:
+            this.setHScale(args[0]);
+            break;
+
+          case _util.OPS.setTextMatrix:
+            this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
+            break;
+
+          case _util.OPS.setTextRise:
+            this.setTextRise(args[0]);
+            break;
+
+          case _util.OPS.setTextRenderingMode:
+            this.setTextRenderingMode(args[0]);
+            break;
+
+          case _util.OPS.setLineWidth:
+            this.setLineWidth(args[0]);
+            break;
+
+          case _util.OPS.setLineJoin:
+            this.setLineJoin(args[0]);
+            break;
+
+          case _util.OPS.setLineCap:
+            this.setLineCap(args[0]);
+            break;
+
+          case _util.OPS.setMiterLimit:
+            this.setMiterLimit(args[0]);
+            break;
+
+          case _util.OPS.setFillRGBColor:
+            this.setFillRGBColor(args[0], args[1], args[2]);
+            break;
+
+          case _util.OPS.setStrokeRGBColor:
+            this.setStrokeRGBColor(args[0], args[1], args[2]);
+            break;
+
+          case _util.OPS.setStrokeColorN:
+            this.setStrokeColorN(args);
+            break;
+
+          case _util.OPS.setFillColorN:
+            this.setFillColorN(args);
+            break;
+
+          case _util.OPS.shadingFill:
+            this.shadingFill(args[0]);
+            break;
+
+          case _util.OPS.setDash:
+            this.setDash(args[0], args[1]);
+            break;
+
+          case _util.OPS.setRenderingIntent:
+            this.setRenderingIntent(args[0]);
+            break;
+
+          case _util.OPS.setFlatness:
+            this.setFlatness(args[0]);
+            break;
+
+          case _util.OPS.setGState:
+            this.setGState(args[0]);
+            break;
+
+          case _util.OPS.fill:
+            this.fill();
+            break;
+
+          case _util.OPS.eoFill:
+            this.eoFill();
+            break;
+
+          case _util.OPS.stroke:
+            this.stroke();
+            break;
+
+          case _util.OPS.fillStroke:
+            this.fillStroke();
+            break;
+
+          case _util.OPS.eoFillStroke:
+            this.eoFillStroke();
+            break;
+
+          case _util.OPS.clip:
+            this.clip("nonzero");
+            break;
 
-    return SVGExtraState;
-  }();
+          case _util.OPS.eoClip:
+            this.clip("evenodd");
+            break;
 
-  var clipCount = 0;
-  var maskCount = 0;
-  var shadingCount = 0;
+          case _util.OPS.paintSolidColorImageMask:
+            this.paintSolidColorImageMask();
+            break;
 
-  exports.SVGGraphics = SVGGraphics =
-  /*#__PURE__*/
-  function () {
-    function SVGGraphics(commonObjs, objs, forceDataSchema) {
-      _classCallCheck(this, SVGGraphics);
+          case _util.OPS.paintJpegXObject:
+            this.paintJpegXObject(args[0], args[1], args[2]);
+            break;
 
-      this.svgFactory = new _display_utils.DOMSVGFactory();
-      this.current = new SVGExtraState();
-      this.transformMatrix = _util.IDENTITY_MATRIX;
-      this.transformStack = [];
-      this.extraStack = [];
-      this.commonObjs = commonObjs;
-      this.objs = objs;
-      this.pendingClip = null;
-      this.pendingEOFill = false;
-      this.embedFonts = false;
-      this.embeddedFonts = Object.create(null);
-      this.cssStyle = null;
-      this.forceDataSchema = !!forceDataSchema;
-      this._operatorIdMapping = [];
+          case _util.OPS.paintImageXObject:
+            this.paintImageXObject(args[0]);
+            break;
 
-      for (var op in _util.OPS) {
-        this._operatorIdMapping[_util.OPS[op]] = op;
-      }
-    }
+          case _util.OPS.paintInlineImageXObject:
+            this.paintInlineImageXObject(args[0]);
+            break;
 
-    _createClass(SVGGraphics, [{
-      key: "save",
-      value: function save() {
-        this.transformStack.push(this.transformMatrix);
-        var old = this.current;
-        this.extraStack.push(old);
-        this.current = old.clone();
-      }
-    }, {
-      key: "restore",
-      value: function restore() {
-        this.transformMatrix = this.transformStack.pop();
-        this.current = this.extraStack.pop();
-        this.pendingClip = null;
-        this.tgrp = null;
-      }
-    }, {
-      key: "group",
-      value: function group(items) {
-        this.save();
-        this.executeOpTree(items);
-        this.restore();
-      }
-    }, {
-      key: "loadDependencies",
-      value: function loadDependencies(operatorList) {
-        var _this = this;
+          case _util.OPS.paintImageMaskXObject:
+            this.paintImageMaskXObject(args[0]);
+            break;
 
-        var fnArray = operatorList.fnArray;
-        var argsArray = operatorList.argsArray;
+          case _util.OPS.paintFormXObjectBegin:
+            this.paintFormXObjectBegin(args[0], args[1]);
+            break;
 
-        for (var i = 0, ii = fnArray.length; i < ii; i++) {
-          if (fnArray[i] !== _util.OPS.dependency) {
-            continue;
-          }
+          case _util.OPS.paintFormXObjectEnd:
+            this.paintFormXObjectEnd();
+            break;
 
-          var _iteratorNormalCompletion2 = true;
-          var _didIteratorError2 = false;
-          var _iteratorError2 = undefined;
+          case _util.OPS.closePath:
+            this.closePath();
+            break;
 
-          try {
-            var _loop = function _loop() {
-              var obj = _step2.value;
-              var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;
-              var promise = new Promise(function (resolve) {
-                objsPool.get(obj, resolve);
-              });
+          case _util.OPS.closeStroke:
+            this.closeStroke();
+            break;
 
-              _this.current.dependencies.push(promise);
-            };
+          case _util.OPS.closeFillStroke:
+            this.closeFillStroke();
+            break;
 
-            for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = 
(_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-              _loop();
-            }
-          } catch (err) {
-            _didIteratorError2 = true;
-            _iteratorError2 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-                _iterator2["return"]();
-              }
-            } finally {
-              if (_didIteratorError2) {
-                throw _iteratorError2;
-              }
-            }
-          }
-        }
+          case _util.OPS.closeEOFillStroke:
+            this.closeEOFillStroke();
+            break;
 
-        return Promise.all(this.current.dependencies);
-      }
-    }, {
-      key: "transform",
-      value: function transform(a, b, c, d, e, f) {
-        var transformMatrix = [a, b, c, d, e, f];
-        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
-        this.tgrp = null;
-      }
-    }, {
-      key: "getSVG",
-      value: function getSVG(operatorList, viewport) {
-        var _this2 = this;
+          case _util.OPS.nextLine:
+            this.nextLine();
+            break;
 
-        this.viewport = viewport;
+          case _util.OPS.transform:
+            this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
+            break;
 
-        var svgElement = this._initialize(viewport);
+          case _util.OPS.constructPath:
+            this.constructPath(args[0], args[1]);
+            break;
 
-        return this.loadDependencies(operatorList).then(function () {
-          _this2.transformMatrix = _util.IDENTITY_MATRIX;
+          case _util.OPS.endPath:
+            this.endPath();
+            break;
 
-          _this2.executeOpTree(_this2.convertOpList(operatorList));
+          case 92:
+            this.group(opTreeElement.items);
+            break;
 
-          return svgElement;
-        });
-      }
-    }, {
-      key: "convertOpList",
-      value: function convertOpList(operatorList) {
-        var operatorIdMapping = this._operatorIdMapping;
-        var argsArray = operatorList.argsArray;
-        var fnArray = operatorList.fnArray;
-        var opList = [];
-
-        for (var i = 0, ii = fnArray.length; i < ii; i++) {
-          var fnId = fnArray[i];
-          opList.push({
-            'fnId': fnId,
-            'fn': operatorIdMapping[fnId],
-            'args': argsArray[i]
-          });
+          default:
+            (0, _util.warn)(`Unimplemented operator ${fn}`);
+            break;
         }
-
-        return opListToTree(opList);
       }
-    }, {
-      key: "executeOpTree",
-      value: function executeOpTree(opTree) {
-        var _iteratorNormalCompletion3 = true;
-        var _didIteratorError3 = false;
-        var _iteratorError3 = undefined;
+    }
 
-        try {
-          for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = 
_iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-            var opTreeElement = _step3.value;
-            var fn = opTreeElement.fn;
-            var fnId = opTreeElement.fnId;
-            var args = opTreeElement.args;
+    setWordSpacing(wordSpacing) {
+      this.current.wordSpacing = wordSpacing;
+    }
 
-            switch (fnId | 0) {
-              case _util.OPS.beginText:
-                this.beginText();
-                break;
+    setCharSpacing(charSpacing) {
+      this.current.charSpacing = charSpacing;
+    }
+
+    nextLine() {
+      this.moveText(0, this.current.leading);
+    }
 
-              case _util.OPS.dependency:
-                break;
+    setTextMatrix(a, b, c, d, e, f) {
+      const current = this.current;
+      current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
+      current.textMatrixScale = Math.sqrt(a * a + b * b);
+      current.x = current.lineX = 0;
+      current.y = current.lineY = 0;
+      current.xcoords = [];
+      current.tspan = this.svgFactory.createElement("svg:tspan");
+      current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+      current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
+      current.tspan.setAttributeNS(null, "y", pf(-current.y));
+      current.txtElement = this.svgFactory.createElement("svg:text");
+      current.txtElement.appendChild(current.tspan);
+    }
+
+    beginText() {
+      const current = this.current;
+      current.x = current.lineX = 0;
+      current.y = current.lineY = 0;
+      current.textMatrix = _util.IDENTITY_MATRIX;
+      current.lineMatrix = _util.IDENTITY_MATRIX;
+      current.textMatrixScale = 1;
+      current.tspan = this.svgFactory.createElement("svg:tspan");
+      current.txtElement = this.svgFactory.createElement("svg:text");
+      current.txtgrp = this.svgFactory.createElement("svg:g");
+      current.xcoords = [];
+    }
+
+    moveText(x, y) {
+      const current = this.current;
+      current.x = current.lineX += x;
+      current.y = current.lineY += y;
+      current.xcoords = [];
+      current.tspan = this.svgFactory.createElement("svg:tspan");
+      current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+      current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
+      current.tspan.setAttributeNS(null, "y", pf(-current.y));
+    }
+
+    showText(glyphs) {
+      const current = this.current;
+      const font = current.font;
+      const fontSize = current.fontSize;
 
-              case _util.OPS.setLeading:
-                this.setLeading(args);
-                break;
+      if (fontSize === 0) {
+        return;
+      }
 
-              case _util.OPS.setLeadingMoveText:
-                this.setLeadingMoveText(args[0], args[1]);
-                break;
+      const charSpacing = current.charSpacing;
+      const wordSpacing = current.wordSpacing;
+      const fontDirection = current.fontDirection;
+      const textHScale = current.textHScale * fontDirection;
+      const vertical = font.vertical;
+      const widthAdvanceScale = fontSize * current.fontMatrix[0];
+      let x = 0;
 
-              case _util.OPS.setFont:
-                this.setFont(args);
-                break;
+      for (const glyph of glyphs) {
+        if (glyph === null) {
+          x += fontDirection * wordSpacing;
+          continue;
+        } else if ((0, _util.isNum)(glyph)) {
+          x += -glyph * fontSize * 0.001;
+          continue;
+        }
 
-              case _util.OPS.showText:
-                this.showText(args[0]);
-                break;
+        const width = glyph.width;
+        const character = glyph.fontChar;
+        const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
+        const charWidth = width * widthAdvanceScale + spacing * fontDirection;
 
-              case _util.OPS.showSpacedText:
-                this.showText(args[0]);
-                break;
+        if (!glyph.isInFont && !font.missingFile) {
+          x += charWidth;
+          continue;
+        }
 
-              case _util.OPS.endText:
-                this.endText();
-                break;
+        current.xcoords.push(current.x + x);
+        current.tspan.textContent += character;
+        x += charWidth;
+      }
 
-              case _util.OPS.moveText:
-                this.moveText(args[0], args[1]);
-                break;
+      if (vertical) {
+        current.y -= x * textHScale;
+      } else {
+        current.x += x * textHScale;
+      }
 
-              case _util.OPS.setCharSpacing:
-                this.setCharSpacing(args[0]);
-                break;
+      current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
+      current.tspan.setAttributeNS(null, "y", pf(-current.y));
+      current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+      current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
 
-              case _util.OPS.setWordSpacing:
-                this.setWordSpacing(args[0]);
-                break;
+      if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
+        current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
+      }
 
-              case _util.OPS.setHScale:
-                this.setHScale(args[0]);
-                break;
+      if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
+        current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
+      }
 
-              case _util.OPS.setTextMatrix:
-                this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
-                break;
+      const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
 
-              case _util.OPS.setTextRise:
-                this.setTextRise(args[0]);
-                break;
+      if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === 
_util.TextRenderingMode.FILL_STROKE) {
+        if (current.fillColor !== SVG_DEFAULTS.fillColor) {
+          current.tspan.setAttributeNS(null, "fill", current.fillColor);
+        }
 
-              case _util.OPS.setTextRenderingMode:
-                this.setTextRenderingMode(args[0]);
-                break;
+        if (current.fillAlpha < 1) {
+          current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
+        }
+      } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
+        current.tspan.setAttributeNS(null, "fill", "transparent");
+      } else {
+        current.tspan.setAttributeNS(null, "fill", "none");
+      }
 
-              case _util.OPS.setLineWidth:
-                this.setLineWidth(args[0]);
-                break;
+      if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === 
_util.TextRenderingMode.FILL_STROKE) {
+        const lineWidthScale = 1 / (current.textMatrixScale || 1);
 
-              case _util.OPS.setLineJoin:
-                this.setLineJoin(args[0]);
-                break;
+        this._setStrokeAttributes(current.tspan, lineWidthScale);
+      }
 
-              case _util.OPS.setLineCap:
-                this.setLineCap(args[0]);
-                break;
+      let textMatrix = current.textMatrix;
 
-              case _util.OPS.setMiterLimit:
-                this.setMiterLimit(args[0]);
-                break;
+      if (current.textRise !== 0) {
+        textMatrix = textMatrix.slice();
+        textMatrix[5] += current.textRise;
+      }
 
-              case _util.OPS.setFillRGBColor:
-                this.setFillRGBColor(args[0], args[1], args[2]);
-                break;
+      current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);
+      current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
+      current.txtElement.appendChild(current.tspan);
+      current.txtgrp.appendChild(current.txtElement);
 
-              case _util.OPS.setStrokeRGBColor:
-                this.setStrokeRGBColor(args[0], args[1], args[2]);
-                break;
+      this._ensureTransformGroup().appendChild(current.txtElement);
+    }
 
-              case _util.OPS.setStrokeColorN:
-                this.setStrokeColorN(args);
-                break;
+    setLeadingMoveText(x, y) {
+      this.setLeading(-y);
+      this.moveText(x, y);
+    }
 
-              case _util.OPS.setFillColorN:
-                this.setFillColorN(args);
-                break;
+    addFontStyle(fontObj) {
+      if (!this.cssStyle) {
+        this.cssStyle = this.svgFactory.createElement("svg:style");
+        this.cssStyle.setAttributeNS(null, "type", "text/css");
+        this.defs.appendChild(this.cssStyle);
+      }
 
-              case _util.OPS.shadingFill:
-                this.shadingFill(args[0]);
-                break;
+      const url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
+      this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: 
url(${url}); }\n`;
+    }
 
-              case _util.OPS.setDash:
-                this.setDash(args[0], args[1]);
-                break;
+    setFont(details) {
+      const current = this.current;
+      const fontObj = this.commonObjs.get(details[0]);
+      let size = details[1];
+      current.font = fontObj;
 
-              case _util.OPS.setRenderingIntent:
-                this.setRenderingIntent(args[0]);
-                break;
+      if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {
+        this.addFontStyle(fontObj);
+        this.embeddedFonts[fontObj.loadedName] = fontObj;
+      }
 
-              case _util.OPS.setFlatness:
-                this.setFlatness(args[0]);
-                break;
+      current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
+      let bold = "normal";
 
-              case _util.OPS.setGState:
-                this.setGState(args[0]);
-                break;
+      if (fontObj.black) {
+        bold = "900";
+      } else if (fontObj.bold) {
+        bold = "bold";
+      }
 
-              case _util.OPS.fill:
-                this.fill();
-                break;
+      const italic = fontObj.italic ? "italic" : "normal";
 
-              case _util.OPS.eoFill:
-                this.eoFill();
-                break;
+      if (size < 0) {
+        size = -size;
+        current.fontDirection = -1;
+      } else {
+        current.fontDirection = 1;
+      }
 
-              case _util.OPS.stroke:
-                this.stroke();
-                break;
+      current.fontSize = size;
+      current.fontFamily = fontObj.loadedName;
+      current.fontWeight = bold;
+      current.fontStyle = italic;
+      current.tspan = this.svgFactory.createElement("svg:tspan");
+      current.tspan.setAttributeNS(null, "y", pf(-current.y));
+      current.xcoords = [];
+    }
 
-              case _util.OPS.fillStroke:
-                this.fillStroke();
-                break;
+    endText() {
+      const current = this.current;
 
-              case _util.OPS.eoFillStroke:
-                this.eoFillStroke();
-                break;
+      if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && 
current.txtElement.hasChildNodes()) {
+        current.element = current.txtElement;
+        this.clip("nonzero");
+        this.endPath();
+      }
+    }
 
-              case _util.OPS.clip:
-                this.clip('nonzero');
-                break;
+    setLineWidth(width) {
+      if (width > 0) {
+        this.current.lineWidth = width;
+      }
+    }
 
-              case _util.OPS.eoClip:
-                this.clip('evenodd');
-                break;
+    setLineCap(style) {
+      this.current.lineCap = LINE_CAP_STYLES[style];
+    }
 
-              case _util.OPS.paintSolidColorImageMask:
-                this.paintSolidColorImageMask();
-                break;
+    setLineJoin(style) {
+      this.current.lineJoin = LINE_JOIN_STYLES[style];
+    }
 
-              case _util.OPS.paintJpegXObject:
-                this.paintJpegXObject(args[0], args[1], args[2]);
-                break;
+    setMiterLimit(limit) {
+      this.current.miterLimit = limit;
+    }
 
-              case _util.OPS.paintImageXObject:
-                this.paintImageXObject(args[0]);
-                break;
+    setStrokeAlpha(strokeAlpha) {
+      this.current.strokeAlpha = strokeAlpha;
+    }
 
-              case _util.OPS.paintInlineImageXObject:
-                this.paintInlineImageXObject(args[0]);
-                break;
+    setStrokeRGBColor(r, g, b) {
+      this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
+    }
 
-              case _util.OPS.paintImageMaskXObject:
-                this.paintImageMaskXObject(args[0]);
-                break;
+    setFillAlpha(fillAlpha) {
+      this.current.fillAlpha = fillAlpha;
+    }
 
-              case _util.OPS.paintFormXObjectBegin:
-                this.paintFormXObjectBegin(args[0], args[1]);
-                break;
+    setFillRGBColor(r, g, b) {
+      this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
+      this.current.tspan = this.svgFactory.createElement("svg:tspan");
+      this.current.xcoords = [];
+    }
 
-              case _util.OPS.paintFormXObjectEnd:
-                this.paintFormXObjectEnd();
-                break;
+    setStrokeColorN(args) {
+      this.current.strokeColor = this._makeColorN_Pattern(args);
+    }
 
-              case _util.OPS.closePath:
-                this.closePath();
-                break;
+    setFillColorN(args) {
+      this.current.fillColor = this._makeColorN_Pattern(args);
+    }
 
-              case _util.OPS.closeStroke:
-                this.closeStroke();
-                break;
+    shadingFill(args) {
+      const width = this.viewport.width;
+      const height = this.viewport.height;
 
-              case _util.OPS.closeFillStroke:
-                this.closeFillStroke();
-                break;
+      const inv = _util.Util.inverseTransform(this.transformMatrix);
 
-              case _util.OPS.closeEOFillStroke:
-                this.closeEOFillStroke();
-                break;
+      const bl = _util.Util.applyTransform([0, 0], inv);
 
-              case _util.OPS.nextLine:
-                this.nextLine();
-                break;
+      const br = _util.Util.applyTransform([0, height], inv);
 
-              case _util.OPS.transform:
-                this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
-                break;
+      const ul = _util.Util.applyTransform([width, 0], inv);
 
-              case _util.OPS.constructPath:
-                this.constructPath(args[0], args[1]);
-                break;
+      const ur = _util.Util.applyTransform([width, height], inv);
 
-              case _util.OPS.endPath:
-                this.endPath();
-                break;
+      const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
+      const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
+      const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
+      const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
+      const rect = this.svgFactory.createElement("svg:rect");
+      rect.setAttributeNS(null, "x", x0);
+      rect.setAttributeNS(null, "y", y0);
+      rect.setAttributeNS(null, "width", x1 - x0);
+      rect.setAttributeNS(null, "height", y1 - y0);
+      rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
 
-              case 92:
-                this.group(opTreeElement.items);
-                break;
+      this._ensureTransformGroup().appendChild(rect);
+    }
 
-              default:
-                (0, _util.warn)("Unimplemented operator ".concat(fn));
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError3 = true;
-          _iteratorError3 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-              _iterator3["return"]();
-            }
-          } finally {
-            if (_didIteratorError3) {
-              throw _iteratorError3;
-            }
-          }
-        }
-      }
-    }, {
-      key: "setWordSpacing",
-      value: function setWordSpacing(wordSpacing) {
-        this.current.wordSpacing = wordSpacing;
-      }
-    }, {
-      key: "setCharSpacing",
-      value: function setCharSpacing(charSpacing) {
-        this.current.charSpacing = charSpacing;
-      }
-    }, {
-      key: "nextLine",
-      value: function nextLine() {
-        this.moveText(0, this.current.leading);
-      }
-    }, {
-      key: "setTextMatrix",
-      value: function setTextMatrix(a, b, c, d, e, f) {
-        var current = this.current;
-        current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
-        current.textMatrixScale = Math.sqrt(a * a + b * b);
-        current.x = current.lineX = 0;
-        current.y = current.lineY = 0;
-        current.xcoords = [];
-        current.tspan = this.svgFactory.createElement('svg:tspan');
-        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
-        current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
-        current.tspan.setAttributeNS(null, 'y', pf(-current.y));
-        current.txtElement = this.svgFactory.createElement('svg:text');
-        current.txtElement.appendChild(current.tspan);
-      }
-    }, {
-      key: "beginText",
-      value: function beginText() {
-        var current = this.current;
-        current.x = current.lineX = 0;
-        current.y = current.lineY = 0;
-        current.textMatrix = _util.IDENTITY_MATRIX;
-        current.lineMatrix = _util.IDENTITY_MATRIX;
-        current.textMatrixScale = 1;
-        current.tspan = this.svgFactory.createElement('svg:tspan');
-        current.txtElement = this.svgFactory.createElement('svg:text');
-        current.txtgrp = this.svgFactory.createElement('svg:g');
-        current.xcoords = [];
-      }
-    }, {
-      key: "moveText",
-      value: function moveText(x, y) {
-        var current = this.current;
-        current.x = current.lineX += x;
-        current.y = current.lineY += y;
-        current.xcoords = [];
-        current.tspan = this.svgFactory.createElement('svg:tspan');
-        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
-        current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
-        current.tspan.setAttributeNS(null, 'y', pf(-current.y));
+    _makeColorN_Pattern(args) {
+      if (args[0] === "TilingPattern") {
+        return this._makeTilingPattern(args);
       }
-    }, {
-      key: "showText",
-      value: function showText(glyphs) {
-        var current = this.current;
-        var font = current.font;
-        var fontSize = current.fontSize;
 
-        if (fontSize === 0) {
-          return;
-        }
+      return this._makeShadingPattern(args);
+    }
 
-        var charSpacing = current.charSpacing;
-        var wordSpacing = current.wordSpacing;
-        var fontDirection = current.fontDirection;
-        var textHScale = current.textHScale * fontDirection;
-        var vertical = font.vertical;
-        var widthAdvanceScale = fontSize * current.fontMatrix[0];
-        var x = 0;
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
+    _makeTilingPattern(args) {
+      const color = args[1];
+      const operatorList = args[2];
+      const matrix = args[3] || _util.IDENTITY_MATRIX;
+      const [x0, y0, x1, y1] = args[4];
+      const xstep = args[5];
+      const ystep = args[6];
+      const paintType = args[7];
+      const tilingId = `shading${shadingCount++}`;
 
-        try {
-          for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = 
_iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var glyph = _step4.value;
-
-            if (glyph === null) {
-              x += fontDirection * wordSpacing;
-              continue;
-            } else if ((0, _util.isNum)(glyph)) {
-              x += -glyph * fontSize * 0.001;
-              continue;
-            }
+      const [tx0, ty0] = _util.Util.applyTransform([x0, y0], matrix);
 
-            var width = glyph.width;
-            var character = glyph.fontChar;
-            var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
-            var charWidth = width * widthAdvanceScale + spacing * fontDirection;
+      const [tx1, ty1] = _util.Util.applyTransform([x1, y1], matrix);
 
-            if (!glyph.isInFont && !font.missingFile) {
-              x += charWidth;
-              continue;
-            }
+      const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);
 
-            current.xcoords.push(current.x + x * textHScale);
-            current.tspan.textContent += character;
-            x += charWidth;
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
+      const txstep = xstep * xscale;
+      const tystep = ystep * yscale;
+      const tiling = this.svgFactory.createElement("svg:pattern");
+      tiling.setAttributeNS(null, "id", tilingId);
+      tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
+      tiling.setAttributeNS(null, "width", txstep);
+      tiling.setAttributeNS(null, "height", tystep);
+      tiling.setAttributeNS(null, "x", `${tx0}`);
+      tiling.setAttributeNS(null, "y", `${ty0}`);
+      const svg = this.svg;
+      const transformMatrix = this.transformMatrix;
+      const fillColor = this.current.fillColor;
+      const strokeColor = this.current.strokeColor;
+      const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
+      this.svg = bbox;
+      this.transformMatrix = matrix;
 
-        if (vertical) {
-          current.y -= x * textHScale;
-        } else {
-          current.x += x * textHScale;
-        }
+      if (paintType === 2) {
+        const cssColor = _util.Util.makeCssRgb(...color);
 
-        current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));
-        current.tspan.setAttributeNS(null, 'y', pf(-current.y));
-        current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
-        current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
+        this.current.fillColor = cssColor;
+        this.current.strokeColor = cssColor;
+      }
 
-        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
-          current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);
-        }
+      this.executeOpTree(this.convertOpList(operatorList));
+      this.svg = svg;
+      this.transformMatrix = transformMatrix;
+      this.current.fillColor = fillColor;
+      this.current.strokeColor = strokeColor;
+      tiling.appendChild(bbox.childNodes[0]);
+      this.defs.appendChild(tiling);
+      return `url(#${tilingId})`;
+    }
 
-        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
-          current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);
-        }
+    _makeShadingPattern(args) {
+      switch (args[0]) {
+        case "RadialAxial":
+          const shadingId = `shading${shadingCount++}`;
+          const colorStops = args[3];
+          let gradient;
 
-        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
+          switch (args[1]) {
+            case "axial":
+              const point0 = args[4];
+              const point1 = args[5];
+              gradient = this.svgFactory.createElement("svg:linearGradient");
+              gradient.setAttributeNS(null, "id", shadingId);
+              gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
+              gradient.setAttributeNS(null, "x1", point0[0]);
+              gradient.setAttributeNS(null, "y1", point0[1]);
+              gradient.setAttributeNS(null, "x2", point1[0]);
+              gradient.setAttributeNS(null, "y2", point1[1]);
+              break;
 
-        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === 
_util.TextRenderingMode.FILL_STROKE) {
-          if (current.fillColor !== SVG_DEFAULTS.fillColor) {
-            current.tspan.setAttributeNS(null, 'fill', current.fillColor);
+            case "radial":
+              const focalPoint = args[4];
+              const circlePoint = args[5];
+              const focalRadius = args[6];
+              const circleRadius = args[7];
+              gradient = this.svgFactory.createElement("svg:radialGradient");
+              gradient.setAttributeNS(null, "id", shadingId);
+              gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
+              gradient.setAttributeNS(null, "cx", circlePoint[0]);
+              gradient.setAttributeNS(null, "cy", circlePoint[1]);
+              gradient.setAttributeNS(null, "r", circleRadius);
+              gradient.setAttributeNS(null, "fx", focalPoint[0]);
+              gradient.setAttributeNS(null, "fy", focalPoint[1]);
+              gradient.setAttributeNS(null, "fr", focalRadius);
+              break;
+
+            default:
+              throw new Error(`Unknown RadialAxial type: ${args[1]}`);
           }
 
-          if (current.fillAlpha < 1) {
-            current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);
+          for (const colorStop of colorStops) {
+            const stop = this.svgFactory.createElement("svg:stop");
+            stop.setAttributeNS(null, "offset", colorStop[0]);
+            stop.setAttributeNS(null, "stop-color", colorStop[1]);
+            gradient.appendChild(stop);
           }
-        } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
-          current.tspan.setAttributeNS(null, 'fill', 'transparent');
-        } else {
-          current.tspan.setAttributeNS(null, 'fill', 'none');
-        }
 
-        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === 
_util.TextRenderingMode.FILL_STROKE) {
-          var lineWidthScale = 1 / (current.textMatrixScale || 1);
+          this.defs.appendChild(gradient);
+          return `url(#${shadingId})`;
 
-          this._setStrokeAttributes(current.tspan, lineWidthScale);
-        }
+        case "Mesh":
+          (0, _util.warn)("Unimplemented pattern Mesh");
+          return null;
 
-        var textMatrix = current.textMatrix;
+        case "Dummy":
+          return "hotpink";
 
-        if (current.textRise !== 0) {
-          textMatrix = textMatrix.slice();
-          textMatrix[5] += current.textRise;
-        }
+        default:
+          throw new Error(`Unknown IR type: ${args[0]}`);
+      }
+    }
 
-        current.txtElement.setAttributeNS(null, 'transform', "".concat(pm(textMatrix), " scale(1, -1)"));
-        current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');
-        current.txtElement.appendChild(current.tspan);
-        current.txtgrp.appendChild(current.txtElement);
+    setDash(dashArray, dashPhase) {
+      this.current.dashArray = dashArray;
+      this.current.dashPhase = dashPhase;
+    }
 
-        this._ensureTransformGroup().appendChild(current.txtElement);
-      }
-    }, {
-      key: "setLeadingMoveText",
-      value: function setLeadingMoveText(x, y) {
-        this.setLeading(-y);
-        this.moveText(x, y);
-      }
-    }, {
-      key: "addFontStyle",
-      value: function addFontStyle(fontObj) {
-        if (!this.cssStyle) {
-          this.cssStyle = this.svgFactory.createElement('svg:style');
-          this.cssStyle.setAttributeNS(null, 'type', 'text/css');
-          this.defs.appendChild(this.cssStyle);
-        }
+    constructPath(ops, args) {
+      const current = this.current;
+      let x = current.x,
+          y = current.y;
+      let d = [];
+      let j = 0;
 
-        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
-        this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " 
src: url(".concat(url, "); }\n");
-      }
-    }, {
-      key: "setFont",
-      value: function setFont(details) {
-        var current = this.current;
-        var fontObj = this.commonObjs.get(details[0]);
-        var size = details[1];
-        current.font = fontObj;
-
-        if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {
-          this.addFontStyle(fontObj);
-          this.embeddedFonts[fontObj.loadedName] = fontObj;
-        }
+      for (const op of ops) {
+        switch (op | 0) {
+          case _util.OPS.rectangle:
+            x = args[j++];
+            y = args[j++];
+            const width = args[j++];
+            const height = args[j++];
+            const xw = x + width;
+            const yh = y + height;
+            d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
+            break;
 
-        current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
-        var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';
-        var italic = fontObj.italic ? 'italic' : 'normal';
+          case _util.OPS.moveTo:
+            x = args[j++];
+            y = args[j++];
+            d.push("M", pf(x), pf(y));
+            break;
 
-        if (size < 0) {
-          size = -size;
-          current.fontDirection = -1;
-        } else {
-          current.fontDirection = 1;
-        }
+          case _util.OPS.lineTo:
+            x = args[j++];
+            y = args[j++];
+            d.push("L", pf(x), pf(y));
+            break;
 
-        current.fontSize = size;
-        current.fontFamily = fontObj.loadedName;
-        current.fontWeight = bold;
-        current.fontStyle = italic;
-        current.tspan = this.svgFactory.createElement('svg:tspan');
-        current.tspan.setAttributeNS(null, 'y', pf(-current.y));
-        current.xcoords = [];
-      }
-    }, {
-      key: "endText",
-      value: function endText() {
-        var current = this.current;
-
-        if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && 
current.txtElement.hasChildNodes()) {
-          current.element = current.txtElement;
-          this.clip('nonzero');
-          this.endPath();
-        }
-      }
-    }, {
-      key: "setLineWidth",
-      value: function setLineWidth(width) {
-        if (width > 0) {
-          this.current.lineWidth = width;
+          case _util.OPS.curveTo:
+            x = args[j + 4];
+            y = args[j + 5];
+            d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
+            j += 6;
+            break;
+
+          case _util.OPS.curveTo2:
+            d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
+            x = args[j + 2];
+            y = args[j + 3];
+            j += 4;
+            break;
+
+          case _util.OPS.curveTo3:
+            x = args[j + 2];
+            y = args[j + 3];
+            d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
+            j += 4;
+            break;
+
+          case _util.OPS.closePath:
+            d.push("Z");
+            break;
         }
       }
-    }, {
-      key: "setLineCap",
-      value: function setLineCap(style) {
-        this.current.lineCap = LINE_CAP_STYLES[style];
-      }
-    }, {
-      key: "setLineJoin",
-      value: function setLineJoin(style) {
-        this.current.lineJoin = LINE_JOIN_STYLES[style];
-      }
-    }, {
-      key: "setMiterLimit",
-      value: function setMiterLimit(limit) {
-        this.current.miterLimit = limit;
-      }
-    }, {
-      key: "setStrokeAlpha",
-      value: function setStrokeAlpha(strokeAlpha) {
-        this.current.strokeAlpha = strokeAlpha;
-      }
-    }, {
-      key: "setStrokeRGBColor",
-      value: function setStrokeRGBColor(r, g, b) {
-        this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
-      }
-    }, {
-      key: "setFillAlpha",
-      value: function setFillAlpha(fillAlpha) {
-        this.current.fillAlpha = fillAlpha;
-      }
-    }, {
-      key: "setFillRGBColor",
-      value: function setFillRGBColor(r, g, b) {
-        this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
-        this.current.tspan = this.svgFactory.createElement('svg:tspan');
-        this.current.xcoords = [];
-      }
-    }, {
-      key: "setStrokeColorN",
-      value: function setStrokeColorN(args) {
-        this.current.strokeColor = this._makeColorN_Pattern(args);
-      }
-    }, {
-      key: "setFillColorN",
-      value: function setFillColorN(args) {
-        this.current.fillColor = this._makeColorN_Pattern(args);
-      }
-    }, {
-      key: "shadingFill",
-      value: function shadingFill(args) {
-        var width = this.viewport.width;
-        var height = this.viewport.height;
-
-        var inv = _util.Util.inverseTransform(this.transformMatrix);
 
-        var bl = _util.Util.applyTransform([0, 0], inv);
+      d = d.join(" ");
 
-        var br = _util.Util.applyTransform([0, height], inv);
+      if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
+        d = current.path.getAttributeNS(null, "d") + d;
+      } else {
+        current.path = this.svgFactory.createElement("svg:path");
 
-        var ul = _util.Util.applyTransform([width, 0], inv);
+        this._ensureTransformGroup().appendChild(current.path);
+      }
 
-        var ur = _util.Util.applyTransform([width, height], inv);
+      current.path.setAttributeNS(null, "d", d);
+      current.path.setAttributeNS(null, "fill", "none");
+      current.element = current.path;
+      current.setCurrentPoint(x, y);
+    }
 
-        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
-        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
-        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
-        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
-        var rect = this.svgFactory.createElement('svg:rect');
-        rect.setAttributeNS(null, 'x', x0);
-        rect.setAttributeNS(null, 'y', y0);
-        rect.setAttributeNS(null, 'width', x1 - x0);
-        rect.setAttributeNS(null, 'height', y1 - y0);
-        rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));
+    endPath() {
+      const current = this.current;
+      current.path = null;
 
-        this._ensureTransformGroup().appendChild(rect);
+      if (!this.pendingClip) {
+        return;
       }
-    }, {
-      key: "_makeColorN_Pattern",
-      value: function _makeColorN_Pattern(args) {
-        if (args[0] === 'TilingPattern') {
-          return this._makeTilingPattern(args);
-        }
 
-        return this._makeShadingPattern(args);
+      if (!current.element) {
+        this.pendingClip = null;
+        return;
       }
-    }, {
-      key: "_makeTilingPattern",
-      value: function _makeTilingPattern(args) {
-        var color = args[1];
-        var operatorList = args[2];
-        var matrix = args[3] || _util.IDENTITY_MATRIX;
-
-        var _args$ = _slicedToArray(args[4], 4),
-            x0 = _args$[0],
-            y0 = _args$[1],
-            x1 = _args$[2],
-            y1 = _args$[3];
-
-        var xstep = args[5];
-        var ystep = args[6];
-        var paintType = args[7];
-        var tilingId = "shading".concat(shadingCount++);
-
-        var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
-            _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
-            tx0 = _Util$applyTransform2[0],
-            ty0 = _Util$applyTransform2[1];
-
-        var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
-            _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
-            tx1 = _Util$applyTransform4[0],
-            ty1 = _Util$applyTransform4[1];
-
-        var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
-            _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
-            xscale = _Util$singularValueDe2[0],
-            yscale = _Util$singularValueDe2[1];
-
-        var txstep = xstep * xscale;
-        var tystep = ystep * yscale;
-        var tiling = this.svgFactory.createElement('svg:pattern');
-        tiling.setAttributeNS(null, 'id', tilingId);
-        tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');
-        tiling.setAttributeNS(null, 'width', txstep);
-        tiling.setAttributeNS(null, 'height', tystep);
-        tiling.setAttributeNS(null, 'x', "".concat(tx0));
-        tiling.setAttributeNS(null, 'y', "".concat(ty0));
-        var svg = this.svg;
-        var transformMatrix = this.transformMatrix;
-        var fillColor = this.current.fillColor;
-        var strokeColor = this.current.strokeColor;
-        var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
-        this.svg = bbox;
-        this.transformMatrix = matrix;
-
-        if (paintType === 2) {
-          var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));
-
-          this.current.fillColor = cssColor;
-          this.current.strokeColor = cssColor;
-        }
 
-        this.executeOpTree(this.convertOpList(operatorList));
-        this.svg = svg;
-        this.transformMatrix = transformMatrix;
-        this.current.fillColor = fillColor;
-        this.current.strokeColor = strokeColor;
-        tiling.appendChild(bbox.childNodes[0]);
-        this.defs.appendChild(tiling);
-        return "url(#".concat(tilingId, ")");
+      const clipId = `clippath${clipCount++}`;
+      const clipPath = this.svgFactory.createElement("svg:clipPath");
+      clipPath.setAttributeNS(null, "id", clipId);
+      clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
+      const clipElement = current.element.cloneNode(true);
+
+      if (this.pendingClip === "evenodd") {
+        clipElement.setAttributeNS(null, "clip-rule", "evenodd");
+      } else {
+        clipElement.setAttributeNS(null, "clip-rule", "nonzero");
       }
-    }, {
-      key: "_makeShadingPattern",
-      value: function _makeShadingPattern(args) {
-        switch (args[0]) {
-          case 'RadialAxial':
-            var shadingId = "shading".concat(shadingCount++);
-            var colorStops = args[2];
-            var gradient;
-
-            switch (args[1]) {
-              case 'axial':
-                var point0 = args[3];
-                var point1 = args[4];
-                gradient = this.svgFactory.createElement('svg:linearGradient');
-                gradient.setAttributeNS(null, 'id', shadingId);
-                gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');
-                gradient.setAttributeNS(null, 'x1', point0[0]);
-                gradient.setAttributeNS(null, 'y1', point0[1]);
-                gradient.setAttributeNS(null, 'x2', point1[0]);
-                gradient.setAttributeNS(null, 'y2', point1[1]);
-                break;
-
-              case 'radial':
-                var focalPoint = args[3];
-                var circlePoint = args[4];
-                var focalRadius = args[5];
-                var circleRadius = args[6];
-                gradient = this.svgFactory.createElement('svg:radialGradient');
-                gradient.setAttributeNS(null, 'id', shadingId);
-                gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');
-                gradient.setAttributeNS(null, 'cx', circlePoint[0]);
-                gradient.setAttributeNS(null, 'cy', circlePoint[1]);
-                gradient.setAttributeNS(null, 'r', circleRadius);
-                gradient.setAttributeNS(null, 'fx', focalPoint[0]);
-                gradient.setAttributeNS(null, 'fy', focalPoint[1]);
-                gradient.setAttributeNS(null, 'fr', focalRadius);
-                break;
-
-              default:
-                throw new Error("Unknown RadialAxial type: ".concat(args[1]));
-            }
 
-            var _iteratorNormalCompletion5 = true;
-            var _didIteratorError5 = false;
-            var _iteratorError5 = undefined;
+      this.pendingClip = null;
+      clipPath.appendChild(clipElement);
+      this.defs.appendChild(clipPath);
 
-            try {
-              for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = 
(_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-                var colorStop = _step5.value;
-                var stop = this.svgFactory.createElement('svg:stop');
-                stop.setAttributeNS(null, 'offset', colorStop[0]);
-                stop.setAttributeNS(null, 'stop-color', colorStop[1]);
-                gradient.appendChild(stop);
-              }
-            } catch (err) {
-              _didIteratorError5 = true;
-              _iteratorError5 = err;
-            } finally {
-              try {
-                if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
-                  _iterator5["return"]();
-                }
-              } finally {
-                if (_didIteratorError5) {
-                  throw _iteratorError5;
-                }
-              }
-            }
+      if (current.activeClipUrl) {
+        current.clipGroup = null;
+        this.extraStack.forEach(function (prev) {
+          prev.clipGroup = null;
+        });
+        clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
+      }
 
-            this.defs.appendChild(gradient);
-            return "url(#".concat(shadingId, ")");
+      current.activeClipUrl = `url(#${clipId})`;
+      this.tgrp = null;
+    }
 
-          case 'Mesh':
-            (0, _util.warn)('Unimplemented pattern Mesh');
-            return null;
+    clip(type) {
+      this.pendingClip = type;
+    }
 
-          case 'Dummy':
-            return 'hotpink';
+    closePath() {
+      const current = this.current;
 
-          default:
-            throw new Error("Unknown IR type: ".concat(args[0]));
-        }
-      }
-    }, {
-      key: "setDash",
-      value: function setDash(dashArray, dashPhase) {
-        this.current.dashArray = dashArray;
-        this.current.dashPhase = dashPhase;
+      if (current.path) {
+        const d = `${current.path.getAttributeNS(null, "d")}Z`;
+        current.path.setAttributeNS(null, "d", d);
       }
-    }, {
-      key: "constructPath",
-      value: function constructPath(ops, args) {
-        var current = this.current;
-        var x = current.x,
-            y = current.y;
-        var d = [];
-        var j = 0;
-        var _iteratorNormalCompletion6 = true;
-        var _didIteratorError6 = false;
-        var _iteratorError6 = undefined;
+    }
 
-        try {
-          for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = 
_iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-            var op = _step6.value;
-
-            switch (op | 0) {
-              case _util.OPS.rectangle:
-                x = args[j++];
-                y = args[j++];
-                var width = args[j++];
-                var height = args[j++];
-                var xw = x + width;
-                var yh = y + height;
-                d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');
-                break;
-
-              case _util.OPS.moveTo:
-                x = args[j++];
-                y = args[j++];
-                d.push('M', pf(x), pf(y));
-                break;
-
-              case _util.OPS.lineTo:
-                x = args[j++];
-                y = args[j++];
-                d.push('L', pf(x), pf(y));
-                break;
-
-              case _util.OPS.curveTo:
-                x = args[j + 4];
-                y = args[j + 5];
-                d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
-                j += 6;
-                break;
-
-              case _util.OPS.curveTo2:
-                x = args[j + 2];
-                y = args[j + 3];
-                d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
-                j += 4;
-                break;
-
-              case _util.OPS.curveTo3:
-                x = args[j + 2];
-                y = args[j + 3];
-                d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
-                j += 4;
-                break;
-
-              case _util.OPS.closePath:
-                d.push('Z');
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError6 = true;
-          _iteratorError6 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
-              _iterator6["return"]();
-            }
-          } finally {
-            if (_didIteratorError6) {
-              throw _iteratorError6;
-            }
-          }
-        }
+    setLeading(leading) {
+      this.current.leading = -leading;
+    }
 
-        d = d.join(' ');
+    setTextRise(textRise) {
+      this.current.textRise = textRise;
+    }
 
-        if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) 
{
-          d = current.path.getAttributeNS(null, 'd') + d;
-        } else {
-          current.path = this.svgFactory.createElement('svg:path');
+    setTextRenderingMode(textRenderingMode) {
+      this.current.textRenderingMode = textRenderingMode;
+    }
 
-          this._ensureTransformGroup().appendChild(current.path);
-        }
+    setHScale(scale) {
+      this.current.textHScale = scale / 100;
+    }
 
-        current.path.setAttributeNS(null, 'd', d);
-        current.path.setAttributeNS(null, 'fill', 'none');
-        current.element = current.path;
-        current.setCurrentPoint(x, y);
-      }
-    }, {
-      key: "endPath",
-      value: function endPath() {
-        var current = this.current;
-        current.path = null;
+    setRenderingIntent(intent) {}
 
-        if (!this.pendingClip) {
-          return;
-        }
+    setFlatness(flatness) {}
 
-        if (!current.element) {
-          this.pendingClip = null;
-          return;
-        }
+    setGState(states) {
+      for (const [key, value] of states) {
+        switch (key) {
+          case "LW":
+            this.setLineWidth(value);
+            break;
 
-        var clipId = "clippath".concat(clipCount++);
-        var clipPath = this.svgFactory.createElement('svg:clipPath');
-        clipPath.setAttributeNS(null, 'id', clipId);
-        clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));
-        var clipElement = current.element.cloneNode(true);
+          case "LC":
+            this.setLineCap(value);
+            break;
 
-        if (this.pendingClip === 'evenodd') {
-          clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');
-        } else {
-          clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');
-        }
+          case "LJ":
+            this.setLineJoin(value);
+            break;
 
-        this.pendingClip = null;
-        clipPath.appendChild(clipElement);
-        this.defs.appendChild(clipPath);
+          case "ML":
+            this.setMiterLimit(value);
+            break;
 
-        if (current.activeClipUrl) {
-          current.clipGroup = null;
-          this.extraStack.forEach(function (prev) {
-            prev.clipGroup = null;
-          });
-          clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);
-        }
+          case "D":
+            this.setDash(value[0], value[1]);
+            break;
 
-        current.activeClipUrl = "url(#".concat(clipId, ")");
-        this.tgrp = null;
-      }
-    }, {
-      key: "clip",
-      value: function clip(type) {
-        this.pendingClip = type;
-      }
-    }, {
-      key: "closePath",
-      value: function closePath() {
-        var current = this.current;
+          case "RI":
+            this.setRenderingIntent(value);
+            break;
 
-        if (current.path) {
-          var d = "".concat(current.path.getAttributeNS(null, 'd'), "Z");
-          current.path.setAttributeNS(null, 'd', d);
-        }
-      }
-    }, {
-      key: "setLeading",
-      value: function setLeading(leading) {
-        this.current.leading = -leading;
-      }
-    }, {
-      key: "setTextRise",
-      value: function setTextRise(textRise) {
-        this.current.textRise = textRise;
-      }
-    }, {
-      key: "setTextRenderingMode",
-      value: function setTextRenderingMode(textRenderingMode) {
-        this.current.textRenderingMode = textRenderingMode;
-      }
-    }, {
-      key: "setHScale",
-      value: function setHScale(scale) {
-        this.current.textHScale = scale / 100;
-      }
-    }, {
-      key: "setRenderingIntent",
-      value: function setRenderingIntent(intent) {}
-    }, {
-      key: "setFlatness",
-      value: function setFlatness(flatness) {}
-    }, {
-      key: "setGState",
-      value: function setGState(states) {
-        var _iteratorNormalCompletion7 = true;
-        var _didIteratorError7 = false;
-        var _iteratorError7 = undefined;
+          case "FL":
+            this.setFlatness(value);
+            break;
 
-        try {
-          for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = 
_iterator7.next()).done); _iteratorNormalCompletion7 = true) {
-            var _step7$value = _slicedToArray(_step7.value, 2),
-                key = _step7$value[0],
-                value = _step7$value[1];
-
-            switch (key) {
-              case 'LW':
-                this.setLineWidth(value);
-                break;
-
-              case 'LC':
-                this.setLineCap(value);
-                break;
-
-              case 'LJ':
-                this.setLineJoin(value);
-                break;
-
-              case 'ML':
-                this.setMiterLimit(value);
-                break;
-
-              case 'D':
-                this.setDash(value[0], value[1]);
-                break;
-
-              case 'RI':
-                this.setRenderingIntent(value);
-                break;
-
-              case 'FL':
-                this.setFlatness(value);
-                break;
-
-              case 'Font':
-                this.setFont(value);
-                break;
-
-              case 'CA':
-                this.setStrokeAlpha(value);
-                break;
-
-              case 'ca':
-                this.setFillAlpha(value);
-                break;
-
-              default:
-                (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError7 = true;
-          _iteratorError7 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion7 && _iterator7["return"] != null) {
-              _iterator7["return"]();
-            }
-          } finally {
-            if (_didIteratorError7) {
-              throw _iteratorError7;
-            }
-          }
-        }
-      }
-    }, {
-      key: "fill",
-      value: function fill() {
-        var current = this.current;
-
-        if (current.element) {
-          current.element.setAttributeNS(null, 'fill', current.fillColor);
-          current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);
-          this.endPath();
-        }
-      }
-    }, {
-      key: "stroke",
-      value: function stroke() {
-        var current = this.current;
+          case "Font":
+            this.setFont(value);
+            break;
 
-        if (current.element) {
-          this._setStrokeAttributes(current.element);
+          case "CA":
+            this.setStrokeAlpha(value);
+            break;
+
+          case "ca":
+            this.setFillAlpha(value);
+            break;
 
-          current.element.setAttributeNS(null, 'fill', 'none');
-          this.endPath();
+          default:
+            (0, _util.warn)(`Unimplemented graphic state operator ${key}`);
+            break;
         }
       }
-    }, {
-      key: "_setStrokeAttributes",
-      value: function _setStrokeAttributes(element) {
-        var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-        var current = this.current;
-        var dashArray = current.dashArray;
-
-        if (lineWidthScale !== 1 && dashArray.length > 0) {
-          dashArray = dashArray.map(function (value) {
-            return lineWidthScale * value;
-          });
-        }
+    }
 
-        element.setAttributeNS(null, 'stroke', current.strokeColor);
-        element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);
-        element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));
-        element.setAttributeNS(null, 'stroke-linecap', current.lineCap);
-        element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);
-        element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');
-        element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));
-        element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');
-      }
-    }, {
-      key: "eoFill",
-      value: function eoFill() {
-        if (this.current.element) {
-          this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');
-        }
+    fill() {
+      const current = this.current;
 
-        this.fill();
-      }
-    }, {
-      key: "fillStroke",
-      value: function fillStroke() {
-        this.stroke();
-        this.fill();
+      if (current.element) {
+        current.element.setAttributeNS(null, "fill", current.fillColor);
+        current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
+        this.endPath();
       }
-    }, {
-      key: "eoFillStroke",
-      value: function eoFillStroke() {
-        if (this.current.element) {
-          this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');
-        }
+    }
+
+    stroke() {
+      const current = this.current;
+
+      if (current.element) {
+        this._setStrokeAttributes(current.element);
 
-        this.fillStroke();
+        current.element.setAttributeNS(null, "fill", "none");
+        this.endPath();
       }
-    }, {
-      key: "closeStroke",
-      value: function closeStroke() {
-        this.closePath();
-        this.stroke();
+    }
+
+    _setStrokeAttributes(element, lineWidthScale = 1) {
+      const current = this.current;
+      let dashArray = current.dashArray;
+
+      if (lineWidthScale !== 1 && dashArray.length > 0) {
+        dashArray = dashArray.map(function (value) {
+          return lineWidthScale * value;
+        });
       }
-    }, {
-      key: "closeFillStroke",
-      value: function closeFillStroke() {
-        this.closePath();
-        this.fillStroke();
+
+      element.setAttributeNS(null, "stroke", current.strokeColor);
+      element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
+      element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
+      element.setAttributeNS(null, "stroke-linecap", current.lineCap);
+      element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
+      element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
+      element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
+      element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
+    }
+
+    eoFill() {
+      if (this.current.element) {
+        this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
       }
-    }, {
-      key: "closeEOFillStroke",
-      value: function closeEOFillStroke() {
-        this.closePath();
-        this.eoFillStroke();
+
+      this.fill();
+    }
+
+    fillStroke() {
+      this.stroke();
+      this.fill();
+    }
+
+    eoFillStroke() {
+      if (this.current.element) {
+        this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
       }
-    }, {
-      key: "paintSolidColorImageMask",
-      value: function paintSolidColorImageMask() {
-        var rect = this.svgFactory.createElement('svg:rect');
-        rect.setAttributeNS(null, 'x', '0');
-        rect.setAttributeNS(null, 'y', '0');
-        rect.setAttributeNS(null, 'width', '1px');
-        rect.setAttributeNS(null, 'height', '1px');
-        rect.setAttributeNS(null, 'fill', this.current.fillColor);
 
-        this._ensureTransformGroup().appendChild(rect);
+      this.fillStroke();
+    }
+
+    closeStroke() {
+      this.closePath();
+      this.stroke();
+    }
+
+    closeFillStroke() {
+      this.closePath();
+      this.fillStroke();
+    }
+
+    closeEOFillStroke() {
+      this.closePath();
+      this.eoFillStroke();
+    }
+
+    paintSolidColorImageMask() {
+      const rect = this.svgFactory.createElement("svg:rect");
+      rect.setAttributeNS(null, "x", "0");
+      rect.setAttributeNS(null, "y", "0");
+      rect.setAttributeNS(null, "width", "1px");
+      rect.setAttributeNS(null, "height", "1px");
+      rect.setAttributeNS(null, "fill", this.current.fillColor);
+
+      this._ensureTransformGroup().appendChild(rect);
+    }
+
+    paintJpegXObject(objId, w, h) {
+      const imgObj = this.objs.get(objId);
+      const imgEl = this.svgFactory.createElement("svg:image");
+      imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgObj.src);
+      imgEl.setAttributeNS(null, "width", pf(w));
+      imgEl.setAttributeNS(null, "height", pf(h));
+      imgEl.setAttributeNS(null, "x", "0");
+      imgEl.setAttributeNS(null, "y", pf(-h));
+      imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / w)} ${pf(-1 / h)})`);
+
+      this._ensureTransformGroup().appendChild(imgEl);
+    }
+
+    paintImageXObject(objId) {
+      const imgData = this.objs.get(objId);
+
+      if (!imgData) {
+        (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);
+        return;
       }
-    }, {
-      key: "paintJpegXObject",
-      value: function paintJpegXObject(objId, w, h) {
-        var imgObj = this.objs.get(objId);
-        var imgEl = this.svgFactory.createElement('svg:image');
-        imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);
-        imgEl.setAttributeNS(null, 'width', pf(w));
-        imgEl.setAttributeNS(null, 'height', pf(h));
-        imgEl.setAttributeNS(null, 'x', '0');
-        imgEl.setAttributeNS(null, 'y', pf(-h));
-        imgEl.setAttributeNS(null, 'transform', "scale(".concat(pf(1 / w), " ").concat(pf(-1 / h), ")"));
 
+      this.paintInlineImageXObject(imgData);
+    }
+
+    paintInlineImageXObject(imgData, mask) {
+      const width = imgData.width;
+      const height = imgData.height;
+      const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
+      const cliprect = this.svgFactory.createElement("svg:rect");
+      cliprect.setAttributeNS(null, "x", "0");
+      cliprect.setAttributeNS(null, "y", "0");
+      cliprect.setAttributeNS(null, "width", pf(width));
+      cliprect.setAttributeNS(null, "height", pf(height));
+      this.current.element = cliprect;
+      this.clip("nonzero");
+      const imgEl = this.svgFactory.createElement("svg:image");
+      imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
+      imgEl.setAttributeNS(null, "x", "0");
+      imgEl.setAttributeNS(null, "y", pf(-height));
+      imgEl.setAttributeNS(null, "width", pf(width) + "px");
+      imgEl.setAttributeNS(null, "height", pf(height) + "px");
+      imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`);
+
+      if (mask) {
+        mask.appendChild(imgEl);
+      } else {
         this._ensureTransformGroup().appendChild(imgEl);
       }
-    }, {
-      key: "paintImageXObject",
-      value: function paintImageXObject(objId) {
-        var imgData = this.objs.get(objId);
+    }
 
-        if (!imgData) {
-          (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
-          return;
-        }
+    paintImageMaskXObject(imgData) {
+      const current = this.current;
+      const width = imgData.width;
+      const height = imgData.height;
+      const fillColor = current.fillColor;
+      current.maskId = `mask${maskCount++}`;
+      const mask = this.svgFactory.createElement("svg:mask");
+      mask.setAttributeNS(null, "id", current.maskId);
+      const rect = this.svgFactory.createElement("svg:rect");
+      rect.setAttributeNS(null, "x", "0");
+      rect.setAttributeNS(null, "y", "0");
+      rect.setAttributeNS(null, "width", pf(width));
+      rect.setAttributeNS(null, "height", pf(height));
+      rect.setAttributeNS(null, "fill", fillColor);
+      rect.setAttributeNS(null, "mask", `url(#${current.maskId})`);
+      this.defs.appendChild(mask);
 
-        this.paintInlineImageXObject(imgData);
+      this._ensureTransformGroup().appendChild(rect);
+
+      this.paintInlineImageXObject(imgData, mask);
+    }
+
+    paintFormXObjectBegin(matrix, bbox) {
+      if (Array.isArray(matrix) && matrix.length === 6) {
+        this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
       }
-    }, {
-      key: "paintInlineImageXObject",
-      value: function paintInlineImageXObject(imgData, mask) {
-        var width = imgData.width;
-        var height = imgData.height;
-        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
-        var cliprect = this.svgFactory.createElement('svg:rect');
-        cliprect.setAttributeNS(null, 'x', '0');
-        cliprect.setAttributeNS(null, 'y', '0');
-        cliprect.setAttributeNS(null, 'width', pf(width));
-        cliprect.setAttributeNS(null, 'height', pf(height));
+
+      if (bbox) {
+        const width = bbox[2] - bbox[0];
+        const height = bbox[3] - bbox[1];
+        const cliprect = this.svgFactory.createElement("svg:rect");
+        cliprect.setAttributeNS(null, "x", bbox[0]);
+        cliprect.setAttributeNS(null, "y", bbox[1]);
+        cliprect.setAttributeNS(null, "width", pf(width));
+        cliprect.setAttributeNS(null, "height", pf(height));
         this.current.element = cliprect;
-        this.clip('nonzero');
-        var imgEl = this.svgFactory.createElement('svg:image');
-        imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);
-        imgEl.setAttributeNS(null, 'x', '0');
-        imgEl.setAttributeNS(null, 'y', pf(-height));
-        imgEl.setAttributeNS(null, 'width', pf(width) + 'px');
-        imgEl.setAttributeNS(null, 'height', pf(height) + 'px');
-        imgEl.setAttributeNS(null, 'transform', "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), 
")"));
-
-        if (mask) {
-          mask.appendChild(imgEl);
-        } else {
-          this._ensureTransformGroup().appendChild(imgEl);
-        }
-      }
-    }, {
-      key: "paintImageMaskXObject",
-      value: function paintImageMaskXObject(imgData) {
-        var current = this.current;
-        var width = imgData.width;
-        var height = imgData.height;
-        var fillColor = current.fillColor;
-        current.maskId = "mask".concat(maskCount++);
-        var mask = this.svgFactory.createElement('svg:mask');
-        mask.setAttributeNS(null, 'id', current.maskId);
-        var rect = this.svgFactory.createElement('svg:rect');
-        rect.setAttributeNS(null, 'x', '0');
-        rect.setAttributeNS(null, 'y', '0');
-        rect.setAttributeNS(null, 'width', pf(width));
-        rect.setAttributeNS(null, 'height', pf(height));
-        rect.setAttributeNS(null, 'fill', fillColor);
-        rect.setAttributeNS(null, 'mask', "url(#".concat(current.maskId, ")"));
-        this.defs.appendChild(mask);
-
-        this._ensureTransformGroup().appendChild(rect);
-
-        this.paintInlineImageXObject(imgData, mask);
+        this.clip("nonzero");
+        this.endPath();
       }
-    }, {
-      key: "paintFormXObjectBegin",
-      value: function paintFormXObjectBegin(matrix, bbox) {
-        if (Array.isArray(matrix) && matrix.length === 6) {
-          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
-        }
+    }
 
-        if (bbox) {
-          var width = bbox[2] - bbox[0];
-          var height = bbox[3] - bbox[1];
-          var cliprect = this.svgFactory.createElement('svg:rect');
-          cliprect.setAttributeNS(null, 'x', bbox[0]);
-          cliprect.setAttributeNS(null, 'y', bbox[1]);
-          cliprect.setAttributeNS(null, 'width', pf(width));
-          cliprect.setAttributeNS(null, 'height', pf(height));
-          this.current.element = cliprect;
-          this.clip('nonzero');
-          this.endPath();
-        }
-      }
-    }, {
-      key: "paintFormXObjectEnd",
-      value: function paintFormXObjectEnd() {}
-    }, {
-      key: "_initialize",
-      value: function _initialize(viewport) {
-        var svg = this.svgFactory.create(viewport.width, viewport.height);
-        var definitions = this.svgFactory.createElement('svg:defs');
-        svg.appendChild(definitions);
-        this.defs = definitions;
-        var rootGroup = this.svgFactory.createElement('svg:g');
-        rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));
-        svg.appendChild(rootGroup);
-        this.svg = rootGroup;
-        return svg;
-      }
-    }, {
-      key: "_ensureClipGroup",
-      value: function _ensureClipGroup() {
-        if (!this.current.clipGroup) {
-          var clipGroup = this.svgFactory.createElement('svg:g');
-          clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);
-          this.svg.appendChild(clipGroup);
-          this.current.clipGroup = clipGroup;
-        }
+    paintFormXObjectEnd() {}
+
+    _initialize(viewport) {
+      const svg = this.svgFactory.create(viewport.width, viewport.height);
+      const definitions = this.svgFactory.createElement("svg:defs");
+      svg.appendChild(definitions);
+      this.defs = definitions;
+      const rootGroup = this.svgFactory.createElement("svg:g");
+      rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
+      svg.appendChild(rootGroup);
+      this.svg = rootGroup;
+      return svg;
+    }
 
-        return this.current.clipGroup;
+    _ensureClipGroup() {
+      if (!this.current.clipGroup) {
+        const clipGroup = this.svgFactory.createElement("svg:g");
+        clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
+        this.svg.appendChild(clipGroup);
+        this.current.clipGroup = clipGroup;
       }
-    }, {
-      key: "_ensureTransformGroup",
-      value: function _ensureTransformGroup() {
-        if (!this.tgrp) {
-          this.tgrp = this.svgFactory.createElement('svg:g');
-          this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));
-
-          if (this.current.activeClipUrl) {
-            this._ensureClipGroup().appendChild(this.tgrp);
-          } else {
-            this.svg.appendChild(this.tgrp);
-          }
-        }
 
-        return this.tgrp;
+      return this.current.clipGroup;
+    }
+
+    _ensureTransformGroup() {
+      if (!this.tgrp) {
+        this.tgrp = this.svgFactory.createElement("svg:g");
+        this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
+
+        if (this.current.activeClipUrl) {
+          this._ensureClipGroup().appendChild(this.tgrp);
+        } else {
+          this.svg.appendChild(this.tgrp);
+        }
       }
-    }]);
 
-    return SVGGraphics;
-  }();
+      return this.tgrp;
+    }
+
+  };
 }
 
 /***/ }),
-/* 197 */
+/* 19 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -22848,135 +11837,94 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFNodeStream = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
 var _util = __w_pdfjs_require__(1);
 
-var _network_utils = __w_pdfjs_require__(198);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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 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); return Constructor; }
+var _network_utils = __w_pdfjs_require__(20);
 
-var fs = require('fs');
+const fs = require("fs");
 
-var http = require('http');
+const http = require("http");
 
-var https = require('https');
+const https = require("https");
 
-var url = require('url');
+const url = require("url");
 
-var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
+const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
 
 function parseUrl(sourceUrl) {
-  var parsedUrl = url.parse(sourceUrl);
+  const parsedUrl = url.parse(sourceUrl);
 
-  if (parsedUrl.protocol === 'file:' || parsedUrl.host) {
+  if (parsedUrl.protocol === "file:" || parsedUrl.host) {
     return parsedUrl;
   }
 
   if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
-    return url.parse("file:///".concat(sourceUrl));
+    return url.parse(`file:///${sourceUrl}`);
   }
 
   if (!parsedUrl.host) {
-    parsedUrl.protocol = 'file:';
+    parsedUrl.protocol = "file:";
   }
 
   return parsedUrl;
 }
 
-var PDFNodeStream =
-/*#__PURE__*/
-function () {
-  function PDFNodeStream(source) {
-    _classCallCheck(this, PDFNodeStream);
-
+class PDFNodeStream {
+  constructor(source) {
     this.source = source;
     this.url = parseUrl(source.url);
-    this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';
-    this.isFsUrl = this.url.protocol === 'file:';
+    this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
+    this.isFsUrl = this.url.protocol === "file:";
     this.httpHeaders = this.isHttp && source.httpHeaders || {};
     this._fullRequestReader = null;
     this._rangeRequestReaders = [];
   }
 
-  _createClass(PDFNodeStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new 
PDFNodeStreamFullReader(this);
-      return this._fullRequestReader;
+  get _progressiveDataLength() {
+    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
+  }
+
+  getFullReader() {
+    (0, _util.assert)(!this._fullRequestReader);
+    this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new 
PDFNodeStreamFullReader(this);
+    return this._fullRequestReader;
+  }
+
+  getRangeReader(start, end) {
+    if (end <= this._progressiveDataLength) {
+      return null;
     }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(start, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
 
-      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new 
PDFNodeStreamRangeReader(this, start, end);
+    const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new 
PDFNodeStreamRangeReader(this, start, end);
 
-      this._rangeRequestReaders.push(rangeReader);
+    this._rangeRequestReaders.push(rangeReader);
 
-      return rangeReader;
+    return rangeReader;
+  }
+
+  cancelAllRequests(reason) {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.cancel(reason);
     }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
 
-      var readers = this._rangeRequestReaders.slice(0);
+    const readers = this._rangeRequestReaders.slice(0);
 
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
-    }
-  }]);
+    readers.forEach(function (reader) {
+      reader.cancel(reason);
+    });
+  }
 
-  return PDFNodeStream;
-}();
+}
 
 exports.PDFNodeStream = PDFNodeStream;
 
-var BaseFullReader =
-/*#__PURE__*/
-function () {
-  function BaseFullReader(stream) {
-    _classCallCheck(this, BaseFullReader);
-
+class BaseFullReader {
+  constructor(stream) {
     this._url = stream.url;
     this._done = false;
     this._storedError = null;
     this.onProgress = null;
-    var source = stream.source;
+    const source = stream.source;
     this._contentLength = source.length;
     this._loaded = 0;
     this._filename = null;
@@ -22994,161 +11942,107 @@ function () {
     this._headersCapability = (0, _util.createPromiseCapability)();
   }
 
-  _createClass(BaseFullReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var chunk, buffer;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                if (!this._done) {
-                  _context.next = 4;
-                  break;
-                }
+  get headersReady() {
+    return this._headersCapability.promise;
+  }
 
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get filename() {
+    return this._filename;
+  }
 
-              case 4:
-                if (!this._storedError) {
-                  _context.next = 6;
-                  break;
-                }
+  get contentLength() {
+    return this._contentLength;
+  }
 
-                throw this._storedError;
+  get isRangeSupported() {
+    return this._isRangeSupported;
+  }
 
-              case 6:
-                chunk = this._readableStream.read();
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-                if (!(chunk === null)) {
-                  _context.next = 10;
-                  break;
-                }
+  async read() {
+    await this._readCapability.promise;
 
-                this._readCapability = (0, _util.createPromiseCapability)();
-                return _context.abrupt("return", this.read());
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-              case 10:
-                this._loaded += chunk.length;
+    if (this._storedError) {
+      throw this._storedError;
+    }
 
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded,
-                    total: this._contentLength
-                  });
-                }
+    const chunk = this._readableStream.read();
 
-                buffer = new Uint8Array(chunk).buffer;
-                return _context.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
+    if (chunk === null) {
+      this._readCapability = (0, _util.createPromiseCapability)();
+      return this.read();
+    }
 
-              case 14:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+    this._loaded += chunk.length;
 
-      function read() {
-        return _read.apply(this, arguments);
-      }
+    if (this.onProgress) {
+      this.onProgress({
+        loaded: this._loaded,
+        total: this._contentLength
+      });
+    }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (!this._readableStream) {
-        this._error(reason);
+    const buffer = new Uint8Array(chunk).buffer;
+    return {
+      value: buffer,
+      done: false
+    };
+  }
 
-        return;
-      }
+  cancel(reason) {
+    if (!this._readableStream) {
+      this._error(reason);
 
-      this._readableStream.destroy(reason);
+      return;
     }
-  }, {
-    key: "_error",
-    value: function _error(reason) {
-      this._storedError = reason;
 
-      this._readCapability.resolve();
-    }
-  }, {
-    key: "_setReadableStream",
-    value: function _setReadableStream(readableStream) {
-      var _this = this;
+    this._readableStream.destroy(reason);
+  }
 
-      this._readableStream = readableStream;
-      readableStream.on('readable', function () {
-        _this._readCapability.resolve();
-      });
-      readableStream.on('end', function () {
-        readableStream.destroy();
-        _this._done = true;
+  _error(reason) {
+    this._storedError = reason;
 
-        _this._readCapability.resolve();
-      });
-      readableStream.on('error', function (reason) {
-        _this._error(reason);
-      });
+    this._readCapability.resolve();
+  }
 
-      if (!this._isStreamingSupported && this._isRangeSupported) {
-        this._error(new _util.AbortException('streaming is disabled'));
-      }
+  _setReadableStream(readableStream) {
+    this._readableStream = readableStream;
+    readableStream.on("readable", () => {
+      this._readCapability.resolve();
+    });
+    readableStream.on("end", () => {
+      readableStream.destroy();
+      this._done = true;
 
-      if (this._storedError) {
-        this._readableStream.destroy(this._storedError);
-      }
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersCapability.promise;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
+      this._readCapability.resolve();
+    });
+    readableStream.on("error", reason => {
+      this._error(reason);
+    });
+
+    if (!this._isStreamingSupported && this._isRangeSupported) {
+      this._error(new _util.AbortException("streaming is disabled"));
     }
-  }]);
 
-  return BaseFullReader;
-}();
+    if (this._storedError) {
+      this._readableStream.destroy(this._storedError);
+    }
+  }
 
-var BaseRangeReader =
-/*#__PURE__*/
-function () {
-  function BaseRangeReader(stream) {
-    _classCallCheck(this, BaseRangeReader);
+}
 
+class BaseRangeReader {
+  constructor(stream) {
     this._url = stream.url;
     this._done = false;
     this._storedError = null;
@@ -23156,133 +12050,87 @@ function () {
     this._loaded = 0;
     this._readableStream = null;
     this._readCapability = (0, _util.createPromiseCapability)();
-    var source = stream.source;
+    const source = stream.source;
     this._isStreamingSupported = !source.disableStream;
   }
 
-  _createClass(BaseRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        var chunk, buffer;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                if (!this._done) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-              case 4:
-                if (!this._storedError) {
-                  _context2.next = 6;
-                  break;
-                }
+  async read() {
+    await this._readCapability.promise;
 
-                throw this._storedError;
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-              case 6:
-                chunk = this._readableStream.read();
+    if (this._storedError) {
+      throw this._storedError;
+    }
 
-                if (!(chunk === null)) {
-                  _context2.next = 10;
-                  break;
-                }
+    const chunk = this._readableStream.read();
 
-                this._readCapability = (0, _util.createPromiseCapability)();
-                return _context2.abrupt("return", this.read());
+    if (chunk === null) {
+      this._readCapability = (0, _util.createPromiseCapability)();
+      return this.read();
+    }
 
-              case 10:
-                this._loaded += chunk.length;
+    this._loaded += chunk.length;
 
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded
-                  });
-                }
+    if (this.onProgress) {
+      this.onProgress({
+        loaded: this._loaded
+      });
+    }
 
-                buffer = new Uint8Array(chunk).buffer;
-                return _context2.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
+    const buffer = new Uint8Array(chunk).buffer;
+    return {
+      value: buffer,
+      done: false
+    };
+  }
 
-              case 14:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+  cancel(reason) {
+    if (!this._readableStream) {
+      this._error(reason);
 
-      function read() {
-        return _read2.apply(this, arguments);
-      }
+      return;
+    }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (!this._readableStream) {
-        this._error(reason);
+    this._readableStream.destroy(reason);
+  }
 
-        return;
-      }
+  _error(reason) {
+    this._storedError = reason;
 
-      this._readableStream.destroy(reason);
-    }
-  }, {
-    key: "_error",
-    value: function _error(reason) {
-      this._storedError = reason;
+    this._readCapability.resolve();
+  }
 
+  _setReadableStream(readableStream) {
+    this._readableStream = readableStream;
+    readableStream.on("readable", () => {
       this._readCapability.resolve();
-    }
-  }, {
-    key: "_setReadableStream",
-    value: function _setReadableStream(readableStream) {
-      var _this2 = this;
-
-      this._readableStream = readableStream;
-      readableStream.on('readable', function () {
-        _this2._readCapability.resolve();
-      });
-      readableStream.on('end', function () {
-        readableStream.destroy();
-        _this2._done = true;
+    });
+    readableStream.on("end", () => {
+      readableStream.destroy();
+      this._done = true;
 
-        _this2._readCapability.resolve();
-      });
-      readableStream.on('error', function (reason) {
-        _this2._error(reason);
-      });
+      this._readCapability.resolve();
+    });
+    readableStream.on("error", reason => {
+      this._error(reason);
+    });
 
-      if (this._storedError) {
-        this._readableStream.destroy(this._storedError);
-      }
+    if (this._storedError) {
+      this._readableStream.destroy(this._storedError);
     }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }]);
+  }
 
-  return BaseRangeReader;
-}();
+}
 
 function createRequestOptions(url, headers) {
   return {
@@ -23291,204 +12139,161 @@ function createRequestOptions(url, headers) {
     host: url.hostname,
     port: url.port,
     path: url.path,
-    method: 'GET',
-    headers: headers
+    method: "GET",
+    headers
   };
 }
 
-var PDFNodeStreamFullReader =
-/*#__PURE__*/
-function (_BaseFullReader) {
-  _inherits(PDFNodeStreamFullReader, _BaseFullReader);
-
-  function PDFNodeStreamFullReader(stream) {
-    var _this3;
-
-    _classCallCheck(this, PDFNodeStreamFullReader);
+class PDFNodeStreamFullReader extends BaseFullReader {
+  constructor(stream) {
+    super(stream);
 
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));
-
-    var handleResponse = function handleResponse(response) {
+    const handleResponse = response => {
       if (response.statusCode === 404) {
-        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
-        _this3._storedError = error;
+        const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
+        this._storedError = error;
 
-        _this3._headersCapability.reject(error);
+        this._headersCapability.reject(error);
 
         return;
       }
 
-      _this3._headersCapability.resolve();
+      this._headersCapability.resolve();
 
-      _this3._setReadableStream(response);
+      this._setReadableStream(response);
 
-      var getResponseHeader = function getResponseHeader(name) {
-        return _this3._readableStream.headers[name.toLowerCase()];
+      const getResponseHeader = name => {
+        return this._readableStream.headers[name.toLowerCase()];
       };
 
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
+      const {
+        allowRangeRequests,
+        suggestedLength
+      } = (0, _network_utils.validateRangeRequestCapabilities)({
+        getResponseHeader,
         isHttp: stream.isHttp,
-        rangeChunkSize: _this3._rangeChunkSize,
-        disableRange: _this3._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
-
-      _this3._isRangeSupported = allowRangeRequests;
-      _this3._contentLength = suggestedLength || _this3._contentLength;
-      _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+        rangeChunkSize: this._rangeChunkSize,
+        disableRange: this._disableRange
+      });
+      this._isRangeSupported = allowRangeRequests;
+      this._contentLength = suggestedLength || this._contentLength;
+      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
     };
 
-    _this3._request = null;
+    this._request = null;
 
-    if (_this3._url.protocol === 'http:') {
-      _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
+    if (this._url.protocol === "http:") {
+      this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
     } else {
-      _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
+      this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
     }
 
-    _this3._request.on('error', function (reason) {
-      _this3._storedError = reason;
+    this._request.on("error", reason => {
+      this._storedError = reason;
 
-      _this3._headersCapability.reject(reason);
+      this._headersCapability.reject(reason);
     });
 
-    _this3._request.end();
-
-    return _this3;
+    this._request.end();
   }
 
-  return PDFNodeStreamFullReader;
-}(BaseFullReader);
-
-var PDFNodeStreamRangeReader =
-/*#__PURE__*/
-function (_BaseRangeReader) {
-  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);
-
-  function PDFNodeStreamRangeReader(stream, start, end) {
-    var _this4;
-
-    _classCallCheck(this, PDFNodeStreamRangeReader);
+}
 
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));
-    _this4._httpHeaders = {};
+class PDFNodeStreamRangeReader extends BaseRangeReader {
+  constructor(stream, start, end) {
+    super(stream);
+    this._httpHeaders = {};
 
-    for (var property in stream.httpHeaders) {
-      var value = stream.httpHeaders[property];
+    for (const property in stream.httpHeaders) {
+      const value = stream.httpHeaders[property];
 
-      if (typeof value === 'undefined') {
+      if (typeof value === "undefined") {
         continue;
       }
 
-      _this4._httpHeaders[property] = value;
+      this._httpHeaders[property] = value;
     }
 
-    _this4._httpHeaders['Range'] = "bytes=".concat(start, "-").concat(end - 1);
+    this._httpHeaders["Range"] = `bytes=${start}-${end - 1}`;
 
-    var handleResponse = function handleResponse(response) {
+    const handleResponse = response => {
       if (response.statusCode === 404) {
-        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
-        _this4._storedError = error;
+        const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
+        this._storedError = error;
         return;
       }
 
-      _this4._setReadableStream(response);
+      this._setReadableStream(response);
     };
 
-    _this4._request = null;
+    this._request = null;
 
-    if (_this4._url.protocol === 'http:') {
-      _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
+    if (this._url.protocol === "http:") {
+      this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
     } else {
-      _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), 
handleResponse);
+      this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
     }
 
-    _this4._request.on('error', function (reason) {
-      _this4._storedError = reason;
+    this._request.on("error", reason => {
+      this._storedError = reason;
     });
 
-    _this4._request.end();
-
-    return _this4;
+    this._request.end();
   }
 
-  return PDFNodeStreamRangeReader;
-}(BaseRangeReader);
-
-var PDFNodeStreamFsFullReader =
-/*#__PURE__*/
-function (_BaseFullReader2) {
-  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);
-
-  function PDFNodeStreamFsFullReader(stream) {
-    var _this5;
-
-    _classCallCheck(this, PDFNodeStreamFsFullReader);
+}
 
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));
-    var path = decodeURIComponent(_this5._url.path);
+class PDFNodeStreamFsFullReader extends BaseFullReader {
+  constructor(stream) {
+    super(stream);
+    let path = decodeURIComponent(this._url.path);
 
-    if (fileUriRegex.test(_this5._url.href)) {
-      path = path.replace(/^\//, '');
+    if (fileUriRegex.test(this._url.href)) {
+      path = path.replace(/^\//, "");
     }
 
-    fs.lstat(path, function (error, stat) {
+    fs.lstat(path, (error, stat) => {
       if (error) {
-        if (error.code === 'ENOENT') {
-          error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
+        if (error.code === "ENOENT") {
+          error = new _util.MissingPDFException(`Missing PDF "${path}".`);
         }
 
-        _this5._storedError = error;
+        this._storedError = error;
 
-        _this5._headersCapability.reject(error);
+        this._headersCapability.reject(error);
 
         return;
       }
 
-      _this5._contentLength = stat.size;
+      this._contentLength = stat.size;
 
-      _this5._setReadableStream(fs.createReadStream(path));
+      this._setReadableStream(fs.createReadStream(path));
 
-      _this5._headersCapability.resolve();
+      this._headersCapability.resolve();
     });
-    return _this5;
   }
 
-  return PDFNodeStreamFsFullReader;
-}(BaseFullReader);
-
-var PDFNodeStreamFsRangeReader =
-/*#__PURE__*/
-function (_BaseRangeReader2) {
-  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);
-
-  function PDFNodeStreamFsRangeReader(stream, start, end) {
-    var _this6;
-
-    _classCallCheck(this, PDFNodeStreamFsRangeReader);
+}
 
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, 
stream));
-    var path = decodeURIComponent(_this6._url.path);
+class PDFNodeStreamFsRangeReader extends BaseRangeReader {
+  constructor(stream, start, end) {
+    super(stream);
+    let path = decodeURIComponent(this._url.path);
 
-    if (fileUriRegex.test(_this6._url.href)) {
-      path = path.replace(/^\//, '');
+    if (fileUriRegex.test(this._url.href)) {
+      path = path.replace(/^\//, "");
     }
 
-    _this6._setReadableStream(fs.createReadStream(path, {
-      start: start,
+    this._setReadableStream(fs.createReadStream(path, {
+      start,
       end: end - 1
     }));
-
-    return _this6;
   }
 
-  return PDFNodeStreamFsRangeReader;
-}(BaseRangeReader);
+}
 
 /***/ }),
-/* 198 */
+/* 20 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -23504,19 +12309,20 @@ exports.validateResponseStatus = validateResponseStatus;
 
 var _util = __w_pdfjs_require__(1);
 
-var _content_disposition = __w_pdfjs_require__(199);
+var _content_disposition = __w_pdfjs_require__(21);
 
-function validateRangeRequestCapabilities(_ref) {
-  var getResponseHeader = _ref.getResponseHeader,
-      isHttp = _ref.isHttp,
-      rangeChunkSize = _ref.rangeChunkSize,
-      disableRange = _ref.disableRange;
-  (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');
-  var returnValues = {
+function validateRangeRequestCapabilities({
+  getResponseHeader,
+  isHttp,
+  rangeChunkSize,
+  disableRange
+}) {
+  (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
+  const returnValues = {
     allowRangeRequests: false,
     suggestedLength: undefined
   };
-  var length = parseInt(getResponseHeader('Content-Length'), 10);
+  const length = parseInt(getResponseHeader("Content-Length"), 10);
 
   if (!Number.isInteger(length)) {
     return returnValues;
@@ -23532,13 +12338,13 @@ function validateRangeRequestCapabilities(_ref) {
     return returnValues;
   }
 
-  if (getResponseHeader('Accept-Ranges') !== 'bytes') {
+  if (getResponseHeader("Accept-Ranges") !== "bytes") {
     return returnValues;
   }
 
-  var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';
+  const contentEncoding = getResponseHeader("Content-Encoding") || "identity";
 
-  if (contentEncoding !== 'identity') {
+  if (contentEncoding !== "identity") {
     return returnValues;
   }
 
@@ -23547,12 +12353,12 @@ function validateRangeRequestCapabilities(_ref) {
 }
 
 function extractFilenameFromHeader(getResponseHeader) {
-  var contentDisposition = getResponseHeader('Content-Disposition');
+  const contentDisposition = getResponseHeader("Content-Disposition");
 
   if (contentDisposition) {
-    var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
+    let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
 
-    if (filename.includes('%')) {
+    if (filename.includes("%")) {
       try {
         filename = decodeURIComponent(filename);
       } catch (ex) {}
@@ -23567,11 +12373,11 @@ function extractFilenameFromHeader(getResponseHeader) {
 }
 
 function createResponseStatusError(status, url) {
-  if (status === 404 || status === 0 && /^file:/.test(url)) {
+  if (status === 404 || status === 0 && url.startsWith("file:")) {
     return new _util.MissingPDFException('Missing PDF "' + url + '".');
   }
 
-  return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving 
PDF "' + url + '".', status);
+  return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving 
PDF "' + url + '".', status);
 }
 
 function validateResponseStatus(status) {
@@ -23579,7 +12385,7 @@ function validateResponseStatus(status) {
 }
 
 /***/ }),
-/* 199 */
+/* 21 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -23590,21 +12396,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = 
_i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = 
true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw 
_e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
 function getFilenameFromContentDispositionHeader(contentDisposition) {
-  var needsEncodingFixup = true;
-  var tmp = toParamRegExp('filename\\*', 'i').exec(contentDisposition);
+  let needsEncodingFixup = true;
+  let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
 
   if (tmp) {
     tmp = tmp[1];
-    var filename = rfc2616unquote(tmp);
+    let filename = rfc2616unquote(tmp);
     filename = unescape(filename);
     filename = rfc5987decode(filename);
     filename = rfc2047decode(filename);
@@ -23614,24 +12412,21 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
   tmp = rfc2231getparam(contentDisposition);
 
   if (tmp) {
-    var _filename = rfc2047decode(tmp);
-
-    return fixupEncoding(_filename);
+    const filename = rfc2047decode(tmp);
+    return fixupEncoding(filename);
   }
 
-  tmp = toParamRegExp('filename', 'i').exec(contentDisposition);
+  tmp = toParamRegExp("filename", "i").exec(contentDisposition);
 
   if (tmp) {
     tmp = tmp[1];
-
-    var _filename2 = rfc2616unquote(tmp);
-
-    _filename2 = rfc2047decode(_filename2);
-    return fixupEncoding(_filename2);
+    let filename = rfc2616unquote(tmp);
+    filename = rfc2047decode(filename);
+    return fixupEncoding(filename);
   }
 
   function toParamRegExp(attributePattern, flags) {
-    return new RegExp('(?:^|;)\\s*' + attributePattern + '\\s*=\\s*' + '(' + '[^";\\s][^;\\s]*' + '|' + 
'"(?:[^"\\\\]|\\\\"?)+"?' + ')', flags);
+    return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + 
'"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
   }
 
   function textdecode(encoding, value) {
@@ -23641,11 +12436,11 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
       }
 
       try {
-        var decoder = new TextDecoder(encoding, {
+        const decoder = new TextDecoder(encoding, {
           fatal: true
         });
-        var bytes = Array.from(value, function (ch) {
-          return ch.charCodeAt(0) & 0xFF;
+        const bytes = Array.from(value, function (ch) {
+          return ch.charCodeAt(0) & 0xff;
         });
         value = decoder.decode(new Uint8Array(bytes));
         needsEncodingFixup = false;
@@ -23664,10 +12459,10 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
 
   function fixupEncoding(value) {
     if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
-      value = textdecode('utf-8', value);
+      value = textdecode("utf-8", value);
 
       if (needsEncodingFixup) {
-        value = textdecode('iso-8859-1', value);
+        value = textdecode("iso-8859-1", value);
       }
     }
 
@@ -23675,17 +12470,12 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
   }
 
   function rfc2231getparam(contentDisposition) {
-    var matches = [],
-        match;
-    var iter = toParamRegExp('filename\\*((?!0\\d)\\d+)(\\*?)', 'ig');
+    const matches = [];
+    let match;
+    const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
 
     while ((match = iter.exec(contentDisposition)) !== null) {
-      var _match = match,
-          _match2 = _slicedToArray(_match, 4),
-          n = _match2[1],
-          quot = _match2[2],
-          part = _match2[3];
-
+      let [, n, quot, part] = match;
       n = parseInt(n, 10);
 
       if (n in matches) {
@@ -23699,17 +12489,14 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
       matches[n] = [quot, part];
     }
 
-    var parts = [];
+    const parts = [];
 
-    for (var n = 0; n < matches.length; ++n) {
+    for (let n = 0; n < matches.length; ++n) {
       if (!(n in matches)) {
         break;
       }
 
-      var _matches$n = _slicedToArray(matches[n], 2),
-          quot = _matches$n[0],
-          part = _matches$n[1];
-
+      let [quot, part] = matches[n];
       part = rfc2616unquote(part);
 
       if (quot) {
@@ -23723,22 +12510,22 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
       parts.push(part);
     }
 
-    return parts.join('');
+    return parts.join("");
   }
 
   function rfc2616unquote(value) {
     if (value.startsWith('"')) {
-      var parts = value.slice(1).split('\\"');
+      const parts = value.slice(1).split('\\"');
 
-      for (var i = 0; i < parts.length; ++i) {
-        var quotindex = parts[i].indexOf('"');
+      for (let i = 0; i < parts.length; ++i) {
+        const quotindex = parts[i].indexOf('"');
 
         if (quotindex !== -1) {
           parts[i] = parts[i].slice(0, quotindex);
           parts.length = i + 1;
         }
 
-        parts[i] = parts[i].replace(/\\(.)/g, '$1');
+        parts[i] = parts[i].replace(/\\(.)/g, "$1");
       }
 
       value = parts.join('"');
@@ -23748,26 +12535,26 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
   }
 
   function rfc5987decode(extvalue) {
-    var encodingend = extvalue.indexOf('\'');
+    const encodingend = extvalue.indexOf("'");
 
     if (encodingend === -1) {
       return extvalue;
     }
 
-    var encoding = extvalue.slice(0, encodingend);
-    var langvalue = extvalue.slice(encodingend + 1);
-    var value = langvalue.replace(/^[^']*'/, '');
+    const encoding = extvalue.slice(0, encodingend);
+    const langvalue = extvalue.slice(encodingend + 1);
+    const value = langvalue.replace(/^[^']*'/, "");
     return textdecode(encoding, value);
   }
 
   function rfc2047decode(value) {
-    if (!value.startsWith('=?') || /[\x00-\x19\x80-\xff]/.test(value)) {
+    if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
       return value;
     }
 
     return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (_, charset, encoding, 
text) {
-      if (encoding === 'q' || encoding === 'Q') {
-        text = text.replace(/_/g, ' ');
+      if (encoding === "q" || encoding === "Q") {
+        text = text.replace(/_/g, " ");
         text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {
           return String.fromCharCode(parseInt(hex, 16));
         });
@@ -23782,11 +12569,11 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
     });
   }
 
-  return '';
+  return "";
 }
 
 /***/ }),
-/* 200 */
+/* 22 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -23797,45 +12584,27 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFNetworkStream = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
 var _util = __w_pdfjs_require__(1);
 
-var _network_utils = __w_pdfjs_require__(198);
-
-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); return Constructor; }
+var _network_utils = __w_pdfjs_require__(20);
 
 ;
-var OK_RESPONSE = 200;
-var PARTIAL_CONTENT_RESPONSE = 206;
+const OK_RESPONSE = 200;
+const PARTIAL_CONTENT_RESPONSE = 206;
 
 function getArrayBuffer(xhr) {
-  var data = xhr.response;
+  const data = xhr.response;
 
-  if (typeof data !== 'string') {
+  if (typeof data !== "string") {
     return data;
   }
 
-  var array = (0, _util.stringToBytes)(data);
+  const array = (0, _util.stringToBytes)(data);
   return array.buffer;
 }
 
-var NetworkManager =
-/*#__PURE__*/
-function () {
-  function NetworkManager(url, args) {
-    _classCallCheck(this, NetworkManager);
-
+class NetworkManager {
+  constructor(url, args) {
     this.url = url;
     args = args || {};
     this.isHttp = /^https?:/i.test(url);
@@ -23850,190 +12619,173 @@ function () {
     this.pendingRequests = Object.create(null);
   }
 
-  _createClass(NetworkManager, [{
-    key: "requestRange",
-    value: function requestRange(begin, end, listeners) {
-      var args = {
-        begin: begin,
-        end: end
-      };
-
-      for (var prop in listeners) {
-        args[prop] = listeners[prop];
-      }
+  requestRange(begin, end, listeners) {
+    const args = {
+      begin,
+      end
+    };
 
-      return this.request(args);
-    }
-  }, {
-    key: "requestFull",
-    value: function requestFull(listeners) {
-      return this.request(listeners);
+    for (const prop in listeners) {
+      args[prop] = listeners[prop];
     }
-  }, {
-    key: "request",
-    value: function request(args) {
-      var xhr = this.getXhr();
-      var xhrId = this.currXhrId++;
-      var pendingRequest = this.pendingRequests[xhrId] = {
-        xhr: xhr
-      };
-      xhr.open('GET', this.url);
-      xhr.withCredentials = this.withCredentials;
-
-      for (var property in this.httpHeaders) {
-        var value = this.httpHeaders[property];
 
-        if (typeof value === 'undefined') {
-          continue;
-        }
+    return this.request(args);
+  }
 
-        xhr.setRequestHeader(property, value);
-      }
+  requestFull(listeners) {
+    return this.request(listeners);
+  }
 
-      if (this.isHttp && 'begin' in args && 'end' in args) {
-        xhr.setRequestHeader('Range', "bytes=".concat(args.begin, "-").concat(args.end - 1));
-        pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
-      } else {
-        pendingRequest.expectedStatus = OK_RESPONSE;
-      }
+  request(args) {
+    const xhr = this.getXhr();
+    const xhrId = this.currXhrId++;
+    const pendingRequest = this.pendingRequests[xhrId] = {
+      xhr
+    };
+    xhr.open("GET", this.url);
+    xhr.withCredentials = this.withCredentials;
 
-      xhr.responseType = 'arraybuffer';
+    for (const property in this.httpHeaders) {
+      const value = this.httpHeaders[property];
 
-      if (args.onError) {
-        xhr.onerror = function (evt) {
-          args.onError(xhr.status);
-        };
+      if (typeof value === "undefined") {
+        continue;
       }
 
-      xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
-      xhr.onprogress = this.onProgress.bind(this, xhrId);
-      pendingRequest.onHeadersReceived = args.onHeadersReceived;
-      pendingRequest.onDone = args.onDone;
-      pendingRequest.onError = args.onError;
-      pendingRequest.onProgress = args.onProgress;
-      xhr.send(null);
-      return xhrId;
+      xhr.setRequestHeader(property, value);
     }
-  }, {
-    key: "onProgress",
-    value: function onProgress(xhrId, evt) {
-      var pendingRequest = this.pendingRequests[xhrId];
 
-      if (!pendingRequest) {
-        return;
-      }
-
-      if (pendingRequest.onProgress) {
-        pendingRequest.onProgress(evt);
-      }
+    if (this.isHttp && "begin" in args && "end" in args) {
+      xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`);
+      pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
+    } else {
+      pendingRequest.expectedStatus = OK_RESPONSE;
     }
-  }, {
-    key: "onStateChange",
-    value: function onStateChange(xhrId, evt) {
-      var pendingRequest = this.pendingRequests[xhrId];
 
-      if (!pendingRequest) {
-        return;
-      }
+    xhr.responseType = "arraybuffer";
 
-      var xhr = pendingRequest.xhr;
+    if (args.onError) {
+      xhr.onerror = function (evt) {
+        args.onError(xhr.status);
+      };
+    }
 
-      if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
-        pendingRequest.onHeadersReceived();
-        delete pendingRequest.onHeadersReceived;
-      }
+    xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
+    xhr.onprogress = this.onProgress.bind(this, xhrId);
+    pendingRequest.onHeadersReceived = args.onHeadersReceived;
+    pendingRequest.onDone = args.onDone;
+    pendingRequest.onError = args.onError;
+    pendingRequest.onProgress = args.onProgress;
+    xhr.send(null);
+    return xhrId;
+  }
 
-      if (xhr.readyState !== 4) {
-        return;
-      }
+  onProgress(xhrId, evt) {
+    const pendingRequest = this.pendingRequests[xhrId];
 
-      if (!(xhrId in this.pendingRequests)) {
-        return;
-      }
+    if (!pendingRequest) {
+      return;
+    }
 
-      delete this.pendingRequests[xhrId];
+    if (pendingRequest.onProgress) {
+      pendingRequest.onProgress(evt);
+    }
+  }
 
-      if (xhr.status === 0 && this.isHttp) {
-        if (pendingRequest.onError) {
-          pendingRequest.onError(xhr.status);
-        }
+  onStateChange(xhrId, evt) {
+    const pendingRequest = this.pendingRequests[xhrId];
 
-        return;
-      }
+    if (!pendingRequest) {
+      return;
+    }
 
-      var xhrStatus = xhr.status || OK_RESPONSE;
-      var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === 
PARTIAL_CONTENT_RESPONSE;
+    const xhr = pendingRequest.xhr;
 
-      if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
-        if (pendingRequest.onError) {
-          pendingRequest.onError(xhr.status);
-        }
+    if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
+      pendingRequest.onHeadersReceived();
+      delete pendingRequest.onHeadersReceived;
+    }
 
-        return;
-      }
+    if (xhr.readyState !== 4) {
+      return;
+    }
+
+    if (!(xhrId in this.pendingRequests)) {
+      return;
+    }
 
-      var chunk = getArrayBuffer(xhr);
+    delete this.pendingRequests[xhrId];
 
-      if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
-        var rangeHeader = xhr.getResponseHeader('Content-Range');
-        var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
-        pendingRequest.onDone({
-          begin: parseInt(matches[1], 10),
-          chunk: chunk
-        });
-      } else if (chunk) {
-        pendingRequest.onDone({
-          begin: 0,
-          chunk: chunk
-        });
-      } else if (pendingRequest.onError) {
+    if (xhr.status === 0 && this.isHttp) {
+      if (pendingRequest.onError) {
         pendingRequest.onError(xhr.status);
       }
+
+      return;
     }
-  }, {
-    key: "hasPendingRequests",
-    value: function hasPendingRequests() {
-      for (var xhrId in this.pendingRequests) {
-        return true;
+
+    const xhrStatus = xhr.status || OK_RESPONSE;
+    const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === 
PARTIAL_CONTENT_RESPONSE;
+
+    if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
+      if (pendingRequest.onError) {
+        pendingRequest.onError(xhr.status);
       }
 
-      return false;
-    }
-  }, {
-    key: "getRequestXhr",
-    value: function getRequestXhr(xhrId) {
-      return this.pendingRequests[xhrId].xhr;
+      return;
     }
-  }, {
-    key: "isPendingRequest",
-    value: function isPendingRequest(xhrId) {
-      return xhrId in this.pendingRequests;
+
+    const chunk = getArrayBuffer(xhr);
+
+    if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
+      const rangeHeader = xhr.getResponseHeader("Content-Range");
+      const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
+      pendingRequest.onDone({
+        begin: parseInt(matches[1], 10),
+        chunk
+      });
+    } else if (chunk) {
+      pendingRequest.onDone({
+        begin: 0,
+        chunk
+      });
+    } else if (pendingRequest.onError) {
+      pendingRequest.onError(xhr.status);
     }
-  }, {
-    key: "abortAllRequests",
-    value: function abortAllRequests() {
-      for (var xhrId in this.pendingRequests) {
-        this.abortRequest(xhrId | 0);
-      }
+  }
+
+  hasPendingRequests() {
+    for (const xhrId in this.pendingRequests) {
+      return true;
     }
-  }, {
-    key: "abortRequest",
-    value: function abortRequest(xhrId) {
-      var xhr = this.pendingRequests[xhrId].xhr;
-      delete this.pendingRequests[xhrId];
-      xhr.abort();
+
+    return false;
+  }
+
+  getRequestXhr(xhrId) {
+    return this.pendingRequests[xhrId].xhr;
+  }
+
+  isPendingRequest(xhrId) {
+    return xhrId in this.pendingRequests;
+  }
+
+  abortAllRequests() {
+    for (const xhrId in this.pendingRequests) {
+      this.abortRequest(xhrId | 0);
     }
-  }]);
+  }
 
-  return NetworkManager;
-}();
+  abortRequest(xhrId) {
+    const xhr = this.pendingRequests[xhrId].xhr;
+    delete this.pendingRequests[xhrId];
+    xhr.abort();
+  }
 
-var PDFNetworkStream =
-/*#__PURE__*/
-function () {
-  function PDFNetworkStream(source) {
-    _classCallCheck(this, PDFNetworkStream);
+}
 
+class PDFNetworkStream {
+  constructor(source) {
     this._source = source;
     this._manager = new NetworkManager(source.url, {
       httpHeaders: source.httpHeaders,
@@ -24044,60 +12796,49 @@ function () {
     this._rangeRequestReaders = [];
   }
 
-  _createClass(PDFNetworkStream, [{
-    key: "_onRangeRequestReaderClosed",
-    value: function _onRangeRequestReaderClosed(reader) {
-      var i = this._rangeRequestReaders.indexOf(reader);
+  _onRangeRequestReaderClosed(reader) {
+    const i = this._rangeRequestReaders.indexOf(reader);
 
-      if (i >= 0) {
-        this._rangeRequestReaders.splice(i, 1);
-      }
+    if (i >= 0) {
+      this._rangeRequestReaders.splice(i, 1);
     }
-  }, {
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
-      reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
+  }
 
-      this._rangeRequestReaders.push(reader);
+  getFullReader() {
+    (0, _util.assert)(!this._fullRequestReader);
+    this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
+    return this._fullRequestReader;
+  }
 
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
+  getRangeReader(begin, end) {
+    const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
+    reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
 
-      var readers = this._rangeRequestReaders.slice(0);
+    this._rangeRequestReaders.push(reader);
 
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
+    return reader;
+  }
+
+  cancelAllRequests(reason) {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.cancel(reason);
     }
-  }]);
 
-  return PDFNetworkStream;
-}();
+    const readers = this._rangeRequestReaders.slice(0);
 
-exports.PDFNetworkStream = PDFNetworkStream;
+    readers.forEach(function (reader) {
+      reader.cancel(reason);
+    });
+  }
+
+}
 
-var PDFNetworkStreamFullRequestReader =
-/*#__PURE__*/
-function () {
-  function PDFNetworkStreamFullRequestReader(manager, source) {
-    _classCallCheck(this, PDFNetworkStreamFullRequestReader);
+exports.PDFNetworkStream = PDFNetworkStream;
 
+class PDFNetworkStreamFullRequestReader {
+  constructor(manager, source) {
     this._manager = manager;
-    var args = {
+    const args = {
       onHeadersReceived: this._onHeadersReceived.bind(this),
       onDone: this._onDone.bind(this),
       onError: this._onError.bind(this),
@@ -24124,218 +12865,168 @@ function () {
     this.onProgress = null;
   }
 
-  _createClass(PDFNetworkStreamFullRequestReader, [{
-    key: "_onHeadersReceived",
-    value: function _onHeadersReceived() {
-      var fullRequestXhrId = this._fullRequestId;
+  _onHeadersReceived() {
+    const fullRequestXhrId = this._fullRequestId;
 
-      var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
+    const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
 
-      var getResponseHeader = function getResponseHeader(name) {
-        return fullRequestXhr.getResponseHeader(name);
-      };
+    const getResponseHeader = name => {
+      return fullRequestXhr.getResponseHeader(name);
+    };
 
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
-        isHttp: this._manager.isHttp,
-        rangeChunkSize: this._rangeChunkSize,
-        disableRange: this._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
+    const {
+      allowRangeRequests,
+      suggestedLength
+    } = (0, _network_utils.validateRangeRequestCapabilities)({
+      getResponseHeader,
+      isHttp: this._manager.isHttp,
+      rangeChunkSize: this._rangeChunkSize,
+      disableRange: this._disableRange
+    });
+
+    if (allowRangeRequests) {
+      this._isRangeSupported = true;
+    }
+
+    this._contentLength = suggestedLength || this._contentLength;
+    this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+
+    if (this._isRangeSupported) {
+      this._manager.abortRequest(fullRequestXhrId);
+    }
 
-      if (allowRangeRequests) {
-        this._isRangeSupported = true;
-      }
+    this._headersReceivedCapability.resolve();
+  }
 
-      this._contentLength = suggestedLength || this._contentLength;
-      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+  _onDone(args) {
+    if (args) {
+      if (this._requests.length > 0) {
+        const requestCapability = this._requests.shift();
 
-      if (this._isRangeSupported) {
-        this._manager.abortRequest(fullRequestXhrId);
+        requestCapability.resolve({
+          value: args.chunk,
+          done: false
+        });
+      } else {
+        this._cachedChunks.push(args.chunk);
       }
+    }
 
-      this._headersReceivedCapability.resolve();
+    this._done = true;
+
+    if (this._cachedChunks.length > 0) {
+      return;
     }
-  }, {
-    key: "_onDone",
-    value: function _onDone(args) {
-      if (args) {
-        if (this._requests.length > 0) {
-          var requestCapability = this._requests.shift();
 
-          requestCapability.resolve({
-            value: args.chunk,
-            done: false
-          });
-        } else {
-          this._cachedChunks.push(args.chunk);
-        }
-      }
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
+      });
+    });
 
-      this._done = true;
+    this._requests = [];
+  }
 
-      if (this._cachedChunks.length > 0) {
-        return;
-      }
+  _onError(status) {
+    const url = this._url;
+    const exception = (0, _network_utils.createResponseStatusError)(status, url);
+    this._storedError = exception;
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
+    this._headersReceivedCapability.reject(exception);
 
-      this._requests = [];
-    }
-  }, {
-    key: "_onError",
-    value: function _onError(status) {
-      var url = this._url;
-      var exception = (0, _network_utils.createResponseStatusError)(status, url);
-      this._storedError = exception;
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.reject(exception);
+    });
 
-      this._headersReceivedCapability.reject(exception);
+    this._requests = [];
+    this._cachedChunks = [];
+  }
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.reject(exception);
+  _onProgress(data) {
+    if (this.onProgress) {
+      this.onProgress({
+        loaded: data.loaded,
+        total: data.lengthComputable ? data.total : this._contentLength
       });
-
-      this._requests = [];
-      this._cachedChunks = [];
-    }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(data) {
-      if (this.onProgress) {
-        this.onProgress({
-          loaded: data.loaded,
-          total: data.lengthComputable ? data.total : this._contentLength
-        });
-      }
     }
-  }, {
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!this._storedError) {
-                  _context.next = 2;
-                  break;
-                }
+  }
 
-                throw this._storedError;
+  get filename() {
+    return this._filename;
+  }
 
-              case 2:
-                if (!(this._cachedChunks.length > 0)) {
-                  _context.next = 5;
-                  break;
-                }
+  get isRangeSupported() {
+    return this._isRangeSupported;
+  }
 
-                chunk = this._cachedChunks.shift();
-                return _context.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-              case 5:
-                if (!this._done) {
-                  _context.next = 7;
-                  break;
-                }
+  get contentLength() {
+    return this._contentLength;
+  }
 
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get headersReady() {
+    return this._headersReceivedCapability.promise;
+  }
 
-              case 7:
-                requestCapability = (0, _util.createPromiseCapability)();
+  async read() {
+    if (this._storedError) {
+      throw this._storedError;
+    }
 
-                this._requests.push(requestCapability);
+    if (this._cachedChunks.length > 0) {
+      const chunk = this._cachedChunks.shift();
 
-                return _context.abrupt("return", requestCapability.promise);
+      return {
+        value: chunk,
+        done: false
+      };
+    }
 
-              case 10:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-      function read() {
-        return _read.apply(this, arguments);
-      }
+    const requestCapability = (0, _util.createPromiseCapability)();
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
+    this._requests.push(requestCapability);
 
-      this._headersReceivedCapability.reject(reason);
+    return requestCapability.promise;
+  }
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
+  cancel(reason) {
+    this._done = true;
 
-      this._requests = [];
+    this._headersReceivedCapability.reject(reason);
 
-      if (this._manager.isPendingRequest(this._fullRequestId)) {
-        this._manager.abortRequest(this._fullRequestId);
-      }
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
+      });
+    });
 
-      this._fullRequestReader = null;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReceivedCapability.promise;
+    this._requests = [];
+
+    if (this._manager.isPendingRequest(this._fullRequestId)) {
+      this._manager.abortRequest(this._fullRequestId);
     }
-  }]);
 
-  return PDFNetworkStreamFullRequestReader;
-}();
+    this._fullRequestReader = null;
+  }
 
-var PDFNetworkStreamRangeRequestReader =
-/*#__PURE__*/
-function () {
-  function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
-    _classCallCheck(this, PDFNetworkStreamRangeRequestReader);
+}
 
+class PDFNetworkStreamRangeRequestReader {
+  constructor(manager, begin, end) {
     this._manager = manager;
-    var args = {
+    const args = {
       onDone: this._onDone.bind(this),
       onProgress: this._onProgress.bind(this)
     };
@@ -24347,138 +13038,99 @@ function () {
     this.onClosed = null;
   }
 
-  _createClass(PDFNetworkStreamRangeRequestReader, [{
-    key: "_close",
-    value: function _close() {
-      if (this.onClosed) {
-        this.onClosed(this);
-      }
+  _close() {
+    if (this.onClosed) {
+      this.onClosed(this);
     }
-  }, {
-    key: "_onDone",
-    value: function _onDone(data) {
-      var chunk = data.chunk;
+  }
 
-      if (this._requests.length > 0) {
-        var requestCapability = this._requests.shift();
+  _onDone(data) {
+    const chunk = data.chunk;
 
-        requestCapability.resolve({
-          value: chunk,
-          done: false
-        });
-      } else {
-        this._queuedChunk = chunk;
-      }
+    if (this._requests.length > 0) {
+      const requestCapability = this._requests.shift();
 
-      this._done = true;
+      requestCapability.resolve({
+        value: chunk,
+        done: false
+      });
+    } else {
+      this._queuedChunk = chunk;
+    }
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
+    this._done = true;
+
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
       });
+    });
 
-      this._requests = [];
+    this._requests = [];
 
-      this._close();
-    }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(evt) {
-      if (!this.isStreamingSupported && this.onProgress) {
-        this.onProgress({
-          loaded: evt.loaded
-        });
-      }
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (!(this._queuedChunk !== null)) {
-                  _context2.next = 4;
-                  break;
-                }
+    this._close();
+  }
 
-                chunk = this._queuedChunk;
-                this._queuedChunk = null;
-                return _context2.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 4:
-                if (!this._done) {
-                  _context2.next = 6;
-                  break;
-                }
+  _onProgress(evt) {
+    if (!this.isStreamingSupported && this.onProgress) {
+      this.onProgress({
+        loaded: evt.loaded
+      });
+    }
+  }
 
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get isStreamingSupported() {
+    return false;
+  }
 
-              case 6:
-                requestCapability = (0, _util.createPromiseCapability)();
+  async read() {
+    if (this._queuedChunk !== null) {
+      const chunk = this._queuedChunk;
+      this._queuedChunk = null;
+      return {
+        value: chunk,
+        done: false
+      };
+    }
 
-                this._requests.push(requestCapability);
+    if (this._done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-                return _context2.abrupt("return", requestCapability.promise);
+    const requestCapability = (0, _util.createPromiseCapability)();
 
-              case 9:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+    this._requests.push(requestCapability);
 
-      function read() {
-        return _read2.apply(this, arguments);
-      }
+    return requestCapability.promise;
+  }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
+  cancel(reason) {
+    this._done = true;
 
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
+    this._requests.forEach(function (requestCapability) {
+      requestCapability.resolve({
+        value: undefined,
+        done: true
       });
+    });
 
-      this._requests = [];
-
-      if (this._manager.isPendingRequest(this._requestId)) {
-        this._manager.abortRequest(this._requestId);
-      }
+    this._requests = [];
 
-      this._close();
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
+    if (this._manager.isPendingRequest(this._requestId)) {
+      this._manager.abortRequest(this._requestId);
     }
-  }]);
 
-  return PDFNetworkStreamRangeRequestReader;
-}();
+    this._close();
+  }
+
+}
 
 /***/ }),
-/* 201 */
+/* 23 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -24489,41 +13141,39 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFFetchStream = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
 var _util = __w_pdfjs_require__(1);
 
-var _network_utils = __w_pdfjs_require__(198);
-
-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); return Constructor; }
+var _network_utils = __w_pdfjs_require__(20);
 
 function createFetchOptions(headers, withCredentials, abortController) {
   return {
-    method: 'GET',
-    headers: headers,
+    method: "GET",
+    headers,
     signal: abortController && abortController.signal,
-    mode: 'cors',
-    credentials: withCredentials ? 'include' : 'same-origin',
-    redirect: 'follow'
+    mode: "cors",
+    credentials: withCredentials ? "include" : "same-origin",
+    redirect: "follow"
   };
 }
 
-var PDFFetchStream =
-/*#__PURE__*/
-function () {
-  function PDFFetchStream(source) {
-    _classCallCheck(this, PDFFetchStream);
+function createHeaders(httpHeaders) {
+  const headers = new Headers();
+
+  for (const property in httpHeaders) {
+    const value = httpHeaders[property];
+
+    if (typeof value === "undefined") {
+      continue;
+    }
+
+    headers.append(property, value);
+  }
+
+  return headers;
+}
 
+class PDFFetchStream {
+  constructor(source) {
     this.source = source;
     this.isHttp = /^https?:/i.test(source.url);
     this.httpHeaders = this.isHttp && source.httpHeaders || {};
@@ -24531,64 +13181,51 @@ function () {
     this._rangeRequestReaders = [];
   }
 
-  _createClass(PDFFetchStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFFetchStreamReader(this);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
-
-      var reader = new PDFFetchStreamRangeReader(this, begin, end);
+  get _progressiveDataLength() {
+    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
+  }
 
-      this._rangeRequestReaders.push(reader);
+  getFullReader() {
+    (0, _util.assert)(!this._fullRequestReader);
+    this._fullRequestReader = new PDFFetchStreamReader(this);
+    return this._fullRequestReader;
+  }
 
-      return reader;
+  getRangeReader(begin, end) {
+    if (end <= this._progressiveDataLength) {
+      return null;
     }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
 
-      var readers = this._rangeRequestReaders.slice(0);
+    const reader = new PDFFetchStreamRangeReader(this, begin, end);
 
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
+    this._rangeRequestReaders.push(reader);
+
+    return reader;
+  }
+
+  cancelAllRequests(reason) {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.cancel(reason);
     }
-  }]);
 
-  return PDFFetchStream;
-}();
+    const readers = this._rangeRequestReaders.slice(0);
 
-exports.PDFFetchStream = PDFFetchStream;
+    readers.forEach(function (reader) {
+      reader.cancel(reason);
+    });
+  }
 
-var PDFFetchStreamReader =
-/*#__PURE__*/
-function () {
-  function PDFFetchStreamReader(stream) {
-    var _this = this;
+}
 
-    _classCallCheck(this, PDFFetchStreamReader);
+exports.PDFFetchStream = PDFFetchStream;
 
+class PDFFetchStreamReader {
+  constructor(stream) {
     this._stream = stream;
     this._reader = null;
     this._loaded = 0;
     this._filename = null;
-    var source = stream.source;
+    const source = stream.source;
     this._withCredentials = source.withCredentials || false;
     this._contentLength = source.length;
     this._headersCapability = (0, _util.createPromiseCapability)();
@@ -24599,293 +13236,184 @@ function () {
       this._disableRange = true;
     }
 
-    if (typeof AbortController !== 'undefined') {
+    if (typeof AbortController !== "undefined") {
       this._abortController = new AbortController();
     }
 
     this._isStreamingSupported = !source.disableStream;
     this._isRangeSupported = !source.disableRange;
-    this._headers = new Headers();
-
-    for (var property in this._stream.httpHeaders) {
-      var value = this._stream.httpHeaders[property];
-
-      if (typeof value === 'undefined') {
-        continue;
-      }
-
-      this._headers.append(property, value);
-    }
-
-    var url = source.url;
-    fetch(url, createFetchOptions(this._headers, this._withCredentials, 
this._abortController)).then(function (response) {
+    this._headers = createHeaders(this._stream.httpHeaders);
+    const url = source.url;
+    fetch(url, createFetchOptions(this._headers, this._withCredentials, 
this._abortController)).then(response => {
       if (!(0, _network_utils.validateResponseStatus)(response.status)) {
         throw (0, _network_utils.createResponseStatusError)(response.status, url);
       }
 
-      _this._reader = response.body.getReader();
+      this._reader = response.body.getReader();
 
-      _this._headersCapability.resolve();
+      this._headersCapability.resolve();
 
-      var getResponseHeader = function getResponseHeader(name) {
+      const getResponseHeader = name => {
         return response.headers.get(name);
       };
 
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
-        isHttp: _this._stream.isHttp,
-        rangeChunkSize: _this._rangeChunkSize,
-        disableRange: _this._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
-
-      _this._isRangeSupported = allowRangeRequests;
-      _this._contentLength = suggestedLength || _this._contentLength;
-      _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+      const {
+        allowRangeRequests,
+        suggestedLength
+      } = (0, _network_utils.validateRangeRequestCapabilities)({
+        getResponseHeader,
+        isHttp: this._stream.isHttp,
+        rangeChunkSize: this._rangeChunkSize,
+        disableRange: this._disableRange
+      });
+      this._isRangeSupported = allowRangeRequests;
+      this._contentLength = suggestedLength || this._contentLength;
+      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
 
-      if (!_this._isStreamingSupported && _this._isRangeSupported) {
-        _this.cancel(new _util.AbortException('Streaming is disabled.'));
+      if (!this._isStreamingSupported && this._isRangeSupported) {
+        this.cancel(new _util.AbortException("Streaming is disabled."));
       }
-    })["catch"](this._headersCapability.reject);
+    }).catch(this._headersCapability.reject);
     this.onProgress = null;
   }
 
-  _createClass(PDFFetchStreamReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var _ref, value, done, buffer;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._headersCapability.promise;
-
-              case 2:
-                _context.next = 4;
-                return this._reader.read();
-
-              case 4:
-                _ref = _context.sent;
-                value = _ref.value;
-                done = _ref.done;
-
-                if (!done) {
-                  _context.next = 9;
-                  break;
-                }
+  get headersReady() {
+    return this._headersCapability.promise;
+  }
 
-                return _context.abrupt("return", {
-                  value: value,
-                  done: done
-                });
+  get filename() {
+    return this._filename;
+  }
 
-              case 9:
-                this._loaded += value.byteLength;
+  get contentLength() {
+    return this._contentLength;
+  }
 
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded,
-                    total: this._contentLength
-                  });
-                }
+  get isRangeSupported() {
+    return this._isRangeSupported;
+  }
 
-                buffer = new Uint8Array(value).buffer;
-                return _context.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-              case 13:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+  async read() {
+    await this._headersCapability.promise;
+    const {
+      value,
+      done
+    } = await this._reader.read();
 
-      function read() {
-        return _read.apply(this, arguments);
-      }
+    if (done) {
+      return {
+        value,
+        done
+      };
+    }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (this._reader) {
-        this._reader.cancel(reason);
-      }
+    this._loaded += value.byteLength;
 
-      if (this._abortController) {
-        this._abortController.abort();
-      }
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersCapability.promise;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
+    if (this.onProgress) {
+      this.onProgress({
+        loaded: this._loaded,
+        total: this._contentLength
+      });
     }
-  }]);
 
-  return PDFFetchStreamReader;
-}();
+    const buffer = new Uint8Array(value).buffer;
+    return {
+      value: buffer,
+      done: false
+    };
+  }
+
+  cancel(reason) {
+    if (this._reader) {
+      this._reader.cancel(reason);
+    }
 
-var PDFFetchStreamRangeReader =
-/*#__PURE__*/
-function () {
-  function PDFFetchStreamRangeReader(stream, begin, end) {
-    var _this2 = this;
+    if (this._abortController) {
+      this._abortController.abort();
+    }
+  }
 
-    _classCallCheck(this, PDFFetchStreamRangeReader);
+}
 
+class PDFFetchStreamRangeReader {
+  constructor(stream, begin, end) {
     this._stream = stream;
     this._reader = null;
     this._loaded = 0;
-    var source = stream.source;
+    const source = stream.source;
     this._withCredentials = source.withCredentials || false;
     this._readCapability = (0, _util.createPromiseCapability)();
     this._isStreamingSupported = !source.disableStream;
 
-    if (typeof AbortController !== 'undefined') {
+    if (typeof AbortController !== "undefined") {
       this._abortController = new AbortController();
     }
 
-    this._headers = new Headers();
-
-    for (var property in this._stream.httpHeaders) {
-      var value = this._stream.httpHeaders[property];
-
-      if (typeof value === 'undefined') {
-        continue;
-      }
-
-      this._headers.append(property, value);
-    }
+    this._headers = createHeaders(this._stream.httpHeaders);
 
-    this._headers.append('Range', "bytes=".concat(begin, "-").concat(end - 1));
+    this._headers.append("Range", `bytes=${begin}-${end - 1}`);
 
-    var url = source.url;
-    fetch(url, createFetchOptions(this._headers, this._withCredentials, 
this._abortController)).then(function (response) {
+    const url = source.url;
+    fetch(url, createFetchOptions(this._headers, this._withCredentials, 
this._abortController)).then(response => {
       if (!(0, _network_utils.validateResponseStatus)(response.status)) {
         throw (0, _network_utils.createResponseStatusError)(response.status, url);
       }
 
-      _this2._readCapability.resolve();
+      this._readCapability.resolve();
 
-      _this2._reader = response.body.getReader();
+      this._reader = response.body.getReader();
     });
     this.onProgress = null;
   }
 
-  _createClass(PDFFetchStreamRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        var _ref2, value, done, buffer;
-
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                _context2.next = 4;
-                return this._reader.read();
-
-              case 4:
-                _ref2 = _context2.sent;
-                value = _ref2.value;
-                done = _ref2.done;
-
-                if (!done) {
-                  _context2.next = 9;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: value,
-                  done: done
-                });
-
-              case 9:
-                this._loaded += value.byteLength;
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded
-                  });
-                }
+  async read() {
+    await this._readCapability.promise;
+    const {
+      value,
+      done
+    } = await this._reader.read();
 
-                buffer = new Uint8Array(value).buffer;
-                return _context2.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
+    if (done) {
+      return {
+        value,
+        done
+      };
+    }
 
-              case 13:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+    this._loaded += value.byteLength;
 
-      function read() {
-        return _read2.apply(this, arguments);
-      }
+    if (this.onProgress) {
+      this.onProgress({
+        loaded: this._loaded
+      });
+    }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (this._reader) {
-        this._reader.cancel(reason);
-      }
+    const buffer = new Uint8Array(value).buffer;
+    return {
+      value: buffer,
+      done: false
+    };
+  }
 
-      if (this._abortController) {
-        this._abortController.abort();
-      }
+  cancel(reason) {
+    if (this._reader) {
+      this._reader.cancel(reason);
     }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
+
+    if (this._abortController) {
+      this._abortController.abort();
     }
-  }]);
+  }
 
-  return PDFFetchStreamRangeReader;
-}();
+}
 
 /***/ })
 /******/ ]);
diff --git a/third-party/pdfjs/build/pdf.worker.js b/third-party/pdfjs/build/pdf.worker.js
index 6b07e439e..337f9f8ea 100644
--- a/third-party/pdfjs/build/pdf.worker.js
+++ b/third-party/pdfjs/build/pdf.worker.js
@@ -2,7 +2,7 @@
  * @licstart The following is the entire license notice for the
  * Javascript code in this page
  *
- * Copyright 2019 Mozilla Foundation
+ * Copyright 2020 Mozilla Foundation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -123,10 +123,10 @@ return /******/ (function(modules) { // webpackBootstrap
 "use strict";
 
 
-var pdfjsVersion = '2.3.200';
-var pdfjsBuild = '4ae3f9fc';
+const pdfjsVersion = '2.4.456';
+const pdfjsBuild = '228a591c';
 
-var pdfjsCoreWorker = __w_pdfjs_require__(1);
+const pdfjsCoreWorker = __w_pdfjs_require__(1);
 
 exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
 
@@ -142,35 +142,19 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.WorkerMessageHandler = exports.WorkerTask = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
+var _util = __w_pdfjs_require__(2);
 
-var _util = __w_pdfjs_require__(5);
+var _primitives = __w_pdfjs_require__(4);
 
-var _primitives = __w_pdfjs_require__(183);
+var _pdf_manager = __w_pdfjs_require__(5);
 
-var _pdf_manager = __w_pdfjs_require__(184);
+var _is_node = __w_pdfjs_require__(44);
 
-var _is_node = _interopRequireDefault(__w_pdfjs_require__(8));
+var _message_handler = __w_pdfjs_require__(45);
 
-var _message_handler = __w_pdfjs_require__(223);
+var _worker_stream = __w_pdfjs_require__(46);
 
-var _worker_stream = __w_pdfjs_require__(224);
-
-var _core_utils = __w_pdfjs_require__(186);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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); }); }; }
+var _core_utils = __w_pdfjs_require__(7);
 
 var WorkerTask = function WorkerTaskClosure() {
   function WorkerTask(name) {
@@ -184,26 +168,29 @@ var WorkerTask = function WorkerTaskClosure() {
       return this._capability.promise;
     },
 
-    finish: function finish() {
+    finish() {
       this._capability.resolve();
     },
-    terminate: function terminate() {
+
+    terminate() {
       this.terminated = true;
     },
-    ensureNotTerminated: function ensureNotTerminated() {
+
+    ensureNotTerminated() {
       if (this.terminated) {
-        throw new Error('Worker task was terminated');
+        throw new Error("Worker task was terminated");
       }
     }
+
   };
   return WorkerTask;
 }();
 
 exports.WorkerTask = WorkerTask;
 var WorkerMessageHandler = {
-  setup: function setup(handler, port) {
+  setup(handler, port) {
     var testMessageProcessed = false;
-    handler.on('test', function wphSetupTest(data) {
+    handler.on("test", function wphSetupTest(data) {
       if (testMessageProcessed) {
         return;
       }
@@ -211,45 +198,56 @@ var WorkerMessageHandler = {
       testMessageProcessed = true;
 
       if (!(data instanceof Uint8Array)) {
-        handler.send('test', null);
+        handler.send("test", null);
         return;
       }
 
-      var supportTransfers = data[0] === 255;
+      const supportTransfers = data[0] === 255;
       handler.postMessageTransfers = supportTransfers;
-      handler.send('test', {
-        supportTransfers: supportTransfers
+      handler.send("test", {
+        supportTransfers
       });
     });
-    handler.on('configure', function wphConfigure(data) {
+    handler.on("configure", function wphConfigure(data) {
       (0, _util.setVerbosityLevel)(data.verbosity);
     });
-    handler.on('GetDocRequest', function wphSetupDoc(data) {
+    handler.on("GetDocRequest", function wphSetupDoc(data) {
       return WorkerMessageHandler.createDocumentHandler(data, port);
     });
   },
-  createDocumentHandler: function createDocumentHandler(docParams, port) {
+
+  createDocumentHandler(docParams, port) {
     var pdfManager;
     var terminated = false;
     var cancelXHRs = null;
     var WorkerTasks = [];
-    var verbosity = (0, _util.getVerbosityLevel)();
-    var apiVersion = docParams.apiVersion;
-    var workerVersion = '2.3.200';
+    const verbosity = (0, _util.getVerbosityLevel)();
+    const apiVersion = docParams.apiVersion;
+    const workerVersion = '2.4.456';
 
     if (apiVersion !== workerVersion) {
-      throw new Error("The API version \"".concat(apiVersion, "\" does not match ") + "the Worker version 
\"".concat(workerVersion, "\"."));
+      throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version 
"${workerVersion}".`);
+    }
+
+    const enumerableProperties = [];
+
+    for (const property in []) {
+      enumerableProperties.push(property);
+    }
+
+    if (enumerableProperties.length) {
+      throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + 
enumerableProperties.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s.");
     }
 
     var docId = docParams.docId;
     var docBaseUrl = docParams.docBaseUrl;
-    var workerHandlerName = docParams.docId + '_worker';
+    var workerHandlerName = docParams.docId + "_worker";
     var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);
     handler.postMessageTransfers = docParams.postMessageTransfers;
 
     function ensureNotTerminated() {
       if (terminated) {
-        throw new Error('Worker was terminated');
+        throw new Error("Worker was terminated");
       }
     }
 
@@ -263,62 +261,20 @@ var WorkerMessageHandler = {
       WorkerTasks.splice(i, 1);
     }
 
-    function loadDocument(_x) {
-      return _loadDocument.apply(this, arguments);
-    }
-
-    function _loadDocument() {
-      _loadDocument = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(recoveryMode) {
-        var _ref4, _ref5, numPages, fingerprint;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return pdfManager.ensureDoc('checkHeader');
-
-              case 2:
-                _context.next = 4;
-                return pdfManager.ensureDoc('parseStartXRef');
-
-              case 4:
-                _context.next = 6;
-                return pdfManager.ensureDoc('parse', [recoveryMode]);
+    async function loadDocument(recoveryMode) {
+      await pdfManager.ensureDoc("checkHeader");
+      await pdfManager.ensureDoc("parseStartXRef");
+      await pdfManager.ensureDoc("parse", [recoveryMode]);
 
-              case 6:
-                if (recoveryMode) {
-                  _context.next = 9;
-                  break;
-                }
-
-                _context.next = 9;
-                return pdfManager.ensureDoc('checkFirstPage');
-
-              case 9:
-                _context.next = 11;
-                return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);
-
-              case 11:
-                _ref4 = _context.sent;
-                _ref5 = _slicedToArray(_ref4, 2);
-                numPages = _ref5[0];
-                fingerprint = _ref5[1];
-                return _context.abrupt("return", {
-                  numPages: numPages,
-                  fingerprint: fingerprint
-                });
+      if (!recoveryMode) {
+        await pdfManager.ensureDoc("checkFirstPage");
+      }
 
-              case 16:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-      return _loadDocument.apply(this, arguments);
+      const [numPages, fingerprint] = await Promise.all([pdfManager.ensureDoc("numPages"), 
pdfManager.ensureDoc("fingerprint")]);
+      return {
+        numPages,
+        fingerprint
+      };
     }
 
     function getPdfManager(data, evaluatorOptions) {
@@ -358,28 +314,28 @@ var WorkerMessageHandler = {
           msgHandler: handler,
           password: source.password,
           length: fullRequest.contentLength,
-          disableAutoFetch: disableAutoFetch,
+          disableAutoFetch,
           rangeChunkSize: source.rangeChunkSize
         }, evaluatorOptions, docBaseUrl);
 
-        for (var i = 0; i < cachedChunks.length; i++) {
+        for (let i = 0; i < cachedChunks.length; i++) {
           pdfManager.sendProgressiveData(cachedChunks[i]);
         }
 
         cachedChunks = [];
         pdfManagerCapability.resolve(pdfManager);
         cancelXHRs = null;
-      })["catch"](function (reason) {
+      }).catch(function (reason) {
         pdfManagerCapability.reject(reason);
         cancelXHRs = null;
       });
       var loaded = 0;
 
-      var flushChunks = function flushChunks() {
+      var flushChunks = function () {
         var pdfFile = (0, _util.arraysToBytes)(cachedChunks);
 
         if (source.length && pdfFile.length !== source.length) {
-          (0, _util.warn)('reported HTTP length is different from actual');
+          (0, _util.warn)("reported HTTP length is different from actual");
         }
 
         try {
@@ -393,7 +349,7 @@ var WorkerMessageHandler = {
       };
 
       var readPromise = new Promise(function (resolve, reject) {
-        var readChunk = function readChunk(chunk) {
+        var readChunk = function (chunk) {
           try {
             ensureNotTerminated();
 
@@ -410,8 +366,8 @@ var WorkerMessageHandler = {
             loaded += (0, _util.arrayByteLength)(data);
 
             if (!fullRequest.isStreamingSupported) {
-              handler.send('DocProgress', {
-                loaded: loaded,
+              handler.send("DocProgress", {
+                loaded,
                 total: Math.max(loaded, fullRequest.contentLength || 0)
               });
             }
@@ -430,12 +386,12 @@ var WorkerMessageHandler = {
 
         fullRequest.read().then(readChunk, reject);
       });
-      readPromise["catch"](function (e) {
+      readPromise.catch(function (e) {
         pdfManagerCapability.reject(e);
         cancelXHRs = null;
       });
 
-      cancelXHRs = function cancelXHRs(reason) {
+      cancelXHRs = function (reason) {
         pdfStream.cancelAllRequests(reason);
       };
 
@@ -445,33 +401,29 @@ var WorkerMessageHandler = {
     function setupDoc(data) {
       function onSuccess(doc) {
         ensureNotTerminated();
-        handler.send('GetDoc', {
+        handler.send("GetDoc", {
           pdfInfo: doc
         });
       }
 
-      function onFailure(e) {
+      function onFailure(ex) {
         ensureNotTerminated();
 
-        if (e instanceof _util.PasswordException) {
-          var task = new WorkerTask('PasswordException: response ' + e.code);
+        if (ex instanceof _util.PasswordException) {
+          var task = new WorkerTask(`PasswordException: response ${ex.code}`);
           startWorkerTask(task);
-          handler.sendWithPromise('PasswordRequest', e).then(function (data) {
+          handler.sendWithPromise("PasswordRequest", ex).then(function (data) {
             finishWorkerTask(task);
             pdfManager.updatePassword(data.password);
             pdfManagerReady();
-          })["catch"](function (boundException) {
+          }).catch(function () {
             finishWorkerTask(task);
-            handler.send('PasswordException', boundException);
-          }.bind(null, e));
-        } else if (e instanceof _util.InvalidPDFException) {
-          handler.send('InvalidPDF', e);
-        } else if (e instanceof _util.MissingPDFException) {
-          handler.send('MissingPDF', e);
-        } else if (e instanceof _util.UnexpectedResponseException) {
-          handler.send('UnexpectedResponse', e);
+            handler.send("DocException", ex);
+          });
+        } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex 
instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {
+          handler.send("DocException", ex);
         } else {
-          handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));
+          handler.send("DocException", new _util.UnknownErrorException(ex.message, ex.toString()));
         }
       }
 
@@ -504,112 +456,107 @@ var WorkerMessageHandler = {
       };
       getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {
         if (terminated) {
-          newPdfManager.terminate(new _util.AbortException('Worker was terminated.'));
-          throw new Error('Worker was terminated');
+          newPdfManager.terminate(new _util.AbortException("Worker was terminated."));
+          throw new Error("Worker was terminated");
         }
 
         pdfManager = newPdfManager;
         pdfManager.onLoadedStream().then(function (stream) {
-          handler.send('DataLoaded', {
+          handler.send("DataLoaded", {
             length: stream.bytes.byteLength
           });
         });
       }).then(pdfManagerReady, onFailure);
     }
 
-    handler.on('GetPage', function wphSetupGetPage(data) {
+    handler.on("GetPage", function wphSetupGetPage(data) {
       return pdfManager.getPage(data.pageIndex).then(function (page) {
-        return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), 
pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref) {
-          var _ref2 = _slicedToArray(_ref, 4),
-              rotate = _ref2[0],
-              ref = _ref2[1],
-              userUnit = _ref2[2],
-              view = _ref2[3];
-
+        return Promise.all([pdfManager.ensure(page, "rotate"), pdfManager.ensure(page, "ref"), 
pdfManager.ensure(page, "userUnit"), pdfManager.ensure(page, "view")]).then(function ([rotate, ref, userUnit, 
view]) {
           return {
-            rotate: rotate,
-            ref: ref,
-            userUnit: userUnit,
-            view: view
+            rotate,
+            ref,
+            userUnit,
+            view
           };
         });
       });
     });
-    handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {
+    handler.on("GetPageIndex", function wphSetupGetPageIndex(data) {
       var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);
 
       var catalog = pdfManager.pdfDocument.catalog;
       return catalog.getPageIndex(ref);
     });
-    handler.on('GetDestinations', function wphSetupGetDestinations(data) {
-      return pdfManager.ensureCatalog('destinations');
+    handler.on("GetDestinations", function wphSetupGetDestinations(data) {
+      return pdfManager.ensureCatalog("destinations");
     });
-    handler.on('GetDestination', function wphSetupGetDestination(data) {
-      return pdfManager.ensureCatalog('getDestination', [data.id]);
+    handler.on("GetDestination", function wphSetupGetDestination(data) {
+      return pdfManager.ensureCatalog("getDestination", [data.id]);
     });
-    handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
-      return pdfManager.ensureCatalog('pageLabels');
+    handler.on("GetPageLabels", function wphSetupGetPageLabels(data) {
+      return pdfManager.ensureCatalog("pageLabels");
     });
-    handler.on('GetPageLayout', function wphSetupGetPageLayout(data) {
-      return pdfManager.ensureCatalog('pageLayout');
+    handler.on("GetPageLayout", function wphSetupGetPageLayout(data) {
+      return pdfManager.ensureCatalog("pageLayout");
     });
-    handler.on('GetPageMode', function wphSetupGetPageMode(data) {
-      return pdfManager.ensureCatalog('pageMode');
+    handler.on("GetPageMode", function wphSetupGetPageMode(data) {
+      return pdfManager.ensureCatalog("pageMode");
     });
-    handler.on('GetViewerPreferences', function (data) {
-      return pdfManager.ensureCatalog('viewerPreferences');
+    handler.on("GetViewerPreferences", function (data) {
+      return pdfManager.ensureCatalog("viewerPreferences");
     });
-    handler.on('GetOpenActionDestination', function (data) {
-      return pdfManager.ensureCatalog('openActionDestination');
+    handler.on("GetOpenAction", function (data) {
+      return pdfManager.ensureCatalog("openAction");
     });
-    handler.on('GetAttachments', function wphSetupGetAttachments(data) {
-      return pdfManager.ensureCatalog('attachments');
+    handler.on("GetAttachments", function wphSetupGetAttachments(data) {
+      return pdfManager.ensureCatalog("attachments");
     });
-    handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {
-      return pdfManager.ensureCatalog('javaScript');
+    handler.on("GetJavaScript", function wphSetupGetJavaScript(data) {
+      return pdfManager.ensureCatalog("javaScript");
     });
-    handler.on('GetOutline', function wphSetupGetOutline(data) {
-      return pdfManager.ensureCatalog('documentOutline');
+    handler.on("GetOutline", function wphSetupGetOutline(data) {
+      return pdfManager.ensureCatalog("documentOutline");
     });
-    handler.on('GetPermissions', function (data) {
-      return pdfManager.ensureCatalog('permissions');
+    handler.on("GetPermissions", function (data) {
+      return pdfManager.ensureCatalog("permissions");
     });
-    handler.on('GetMetadata', function wphSetupGetMetadata(data) {
-      return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);
+    handler.on("GetMetadata", function wphSetupGetMetadata(data) {
+      return Promise.all([pdfManager.ensureDoc("documentInfo"), pdfManager.ensureCatalog("metadata")]);
     });
-    handler.on('GetData', function wphSetupGetData(data) {
+    handler.on("GetData", function wphSetupGetData(data) {
       pdfManager.requestLoadedStream();
       return pdfManager.onLoadedStream().then(function (stream) {
         return stream.bytes;
       });
     });
-    handler.on('GetStats', function wphSetupGetStats(data) {
+    handler.on("GetStats", function wphSetupGetStats(data) {
       return pdfManager.pdfDocument.xref.stats;
     });
-    handler.on('GetAnnotations', function (_ref3) {
-      var pageIndex = _ref3.pageIndex,
-          intent = _ref3.intent;
+    handler.on("GetAnnotations", function ({
+      pageIndex,
+      intent
+    }) {
       return pdfManager.getPage(pageIndex).then(function (page) {
         return page.getAnnotationsData(intent);
       });
     });
-    handler.on('GetOperatorList', function wphSetupRenderPage(data, sink) {
+    handler.on("GetOperatorList", function wphSetupRenderPage(data, sink) {
       var pageIndex = data.pageIndex;
       pdfManager.getPage(pageIndex).then(function (page) {
-        var task = new WorkerTask("GetOperatorList: page ".concat(pageIndex));
+        var task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);
         startWorkerTask(task);
-        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
+        const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
         page.getOperatorList({
-          handler: handler,
-          sink: sink,
-          task: task,
+          handler,
+          sink,
+          task,
           intent: data.intent,
           renderInteractiveForms: data.renderInteractiveForms
         }).then(function (operatorListInfo) {
           finishWorkerTask(task);
 
           if (start) {
-            (0, _util.info)("page=".concat(pageIndex + 1, " - getOperatorList: time=") + 
"".concat(Date.now() - start, "ms, len=").concat(operatorListInfo.length));
+            (0, _util.info)(`page=${pageIndex + 1} - getOperatorList: time=` + `${Date.now() - start}ms, 
len=${operatorListInfo.length}`);
           }
 
           sink.close();
@@ -620,14 +567,14 @@ var WorkerMessageHandler = {
             return;
           }
 
-          handler.send('UnsupportedFeature', {
+          handler.send("UnsupportedFeature", {
             featureId: _util.UNSUPPORTED_FEATURES.unknown
           });
           sink.error(reason);
         });
       });
     }, this);
-    handler.on('GetTextContent', function wphExtractText(data, sink) {
+    handler.on("GetTextContent", function wphExtractText(data, sink) {
       var pageIndex = data.pageIndex;
 
       sink.onPull = function (desiredSize) {};
@@ -635,20 +582,20 @@ var WorkerMessageHandler = {
       sink.onCancel = function (reason) {};
 
       pdfManager.getPage(pageIndex).then(function (page) {
-        var task = new WorkerTask('GetTextContent: page ' + pageIndex);
+        var task = new WorkerTask("GetTextContent: page " + pageIndex);
         startWorkerTask(task);
-        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
+        const start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
         page.extractTextContent({
-          handler: handler,
-          task: task,
-          sink: sink,
+          handler,
+          task,
+          sink,
           normalizeWhitespace: data.normalizeWhitespace,
           combineTextItems: data.combineTextItems
         }).then(function () {
           finishWorkerTask(task);
 
           if (start) {
-            (0, _util.info)("page=".concat(pageIndex + 1, " - getTextContent: time=") + "".concat(Date.now() 
- start, "ms"));
+            (0, _util.info)(`page=${pageIndex + 1} - getTextContent: time=` + `${Date.now() - start}ms`);
           }
 
           sink.close();
@@ -663,26 +610,29 @@ var WorkerMessageHandler = {
         });
       });
     });
-    handler.on('FontFallback', function (data) {
+    handler.on("FontFallback", function (data) {
       return pdfManager.fontFallback(data.id, handler);
     });
-    handler.on('Cleanup', function wphCleanup(data) {
+    handler.on("Cleanup", function wphCleanup(data) {
       return pdfManager.cleanup();
     });
-    handler.on('Terminate', function wphTerminate(data) {
+    handler.on("Terminate", function wphTerminate(data) {
       terminated = true;
+      const waitOn = [];
 
       if (pdfManager) {
-        pdfManager.terminate(new _util.AbortException('Worker was terminated.'));
+        pdfManager.terminate(new _util.AbortException("Worker was terminated."));
+        const cleanupPromise = pdfManager.cleanup();
+        waitOn.push(cleanupPromise);
         pdfManager = null;
+      } else {
+        (0, _primitives.clearPrimitiveCaches)();
       }
 
       if (cancelXHRs) {
-        cancelXHRs(new _util.AbortException('Worker was terminated.'));
+        cancelXHRs(new _util.AbortException("Worker was terminated."));
       }
 
-      (0, _primitives.clearPrimitiveCaches)();
-      var waitOn = [];
       WorkerTasks.forEach(function (task) {
         waitOn.push(task.finished);
         task.terminate();
@@ -692,25 +642,27 @@ var WorkerMessageHandler = {
         handler = null;
       });
     });
-    handler.on('Ready', function wphReady(data) {
+    handler.on("Ready", function wphReady(data) {
       setupDoc(docParams);
       docParams = null;
     });
     return workerHandlerName;
   },
-  initializeFromPort: function initializeFromPort(port) {
-    var handler = new _message_handler.MessageHandler('worker', 'main', port);
+
+  initializeFromPort(port) {
+    var handler = new _message_handler.MessageHandler("worker", "main", port);
     WorkerMessageHandler.setup(handler, port);
-    handler.send('ready', null);
+    handler.send("ready", null);
   }
+
 };
 exports.WorkerMessageHandler = WorkerMessageHandler;
 
 function isMessagePort(maybePort) {
-  return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;
+  return typeof maybePort.postMessage === "function" && "onmessage" in maybePort;
 }
 
-if (typeof window === 'undefined' && !(0, _is_node["default"])() && typeof self !== 'undefined' && 
isMessagePort(self)) {
+if (typeof window === "undefined" && !_is_node.isNodeJS && typeof self !== "undefined" && 
isMessagePort(self)) {
   WorkerMessageHandler.initializeFromPort(self);
 }
 
@@ -721,703 +673,49 @@ if (typeof window === 'undefined' && !(0, _is_node["default"])() && typeof self
 "use strict";
 
 
-module.exports = __w_pdfjs_require__(3);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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 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 = {};
-
-  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 = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
-
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      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;
-
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
-      }
-    }
-
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
-
-  function AsyncIterator(generator) {
-    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 Promise.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
-
-        return Promise.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 Promise(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, 
callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
-    }
-
-    this._invoke = enqueue;
-  }
-
-  defineIteratorMethods(AsyncIterator.prototype);
-
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
-
-  exports.AsyncIterator = AsyncIterator;
-
-  exports.async = function (innerFn, outerFn, self, tryLocsList) {
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
-    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);
-  Gp[toStringTagSymbol] = "Generator";
-
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
-
-  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;
-      }
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.arrayByteLength = arrayByteLength;
+exports.arraysToBytes = arraysToBytes;
+exports.assert = assert;
+exports.bytesToString = bytesToString;
+exports.createPromiseCapability = createPromiseCapability;
+exports.getVerbosityLevel = getVerbosityLevel;
+exports.info = info;
+exports.isArrayBuffer = isArrayBuffer;
+exports.isArrayEqual = isArrayEqual;
+exports.isBool = isBool;
+exports.isEmptyObj = isEmptyObj;
+exports.isNum = isNum;
+exports.isString = isString;
+exports.isSameOrigin = isSameOrigin;
+exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
+exports.removeNullCharacters = removeNullCharacters;
+exports.setVerbosityLevel = setVerbosityLevel;
+exports.shadow = shadow;
+exports.string32 = string32;
+exports.stringToBytes = stringToBytes;
+exports.stringToPDFString = stringToPDFString;
+exports.stringToUTF8String = stringToUTF8String;
+exports.utf8StringToString = utf8StringToString;
+exports.warn = warn;
+exports.unreachable = unreachable;
+exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError 
= exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = 
exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = 
exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = 
exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = 
exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState 
= exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = 
exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = 
exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = 
exports.BaseException = void 0;
 
-      var context = this;
+__w_pdfjs_require__(3);
 
-      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 ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
-
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
-      }
-    });
-    module.webpackPolyfill = 1;
-  }
-
-  return module;
-};
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.arrayByteLength = arrayByteLength;
-exports.arraysToBytes = arraysToBytes;
-exports.assert = assert;
-exports.bytesToString = bytesToString;
-exports.createPromiseCapability = createPromiseCapability;
-exports.getVerbosityLevel = getVerbosityLevel;
-exports.info = info;
-exports.isArrayBuffer = isArrayBuffer;
-exports.isArrayEqual = isArrayEqual;
-exports.isBool = isBool;
-exports.isEmptyObj = isEmptyObj;
-exports.isNum = isNum;
-exports.isString = isString;
-exports.isSpace = isSpace;
-exports.isSameOrigin = isSameOrigin;
-exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.isLittleEndian = isLittleEndian;
-exports.isEvalSupported = isEvalSupported;
-exports.log2 = log2;
-exports.readInt8 = readInt8;
-exports.readUint16 = readUint16;
-exports.readUint32 = readUint32;
-exports.removeNullCharacters = removeNullCharacters;
-exports.setVerbosityLevel = setVerbosityLevel;
-exports.shadow = shadow;
-exports.string32 = string32;
-exports.stringToBytes = stringToBytes;
-exports.stringToPDFString = stringToPDFString;
-exports.stringToUTF8String = stringToUTF8String;
-exports.utf8StringToString = utf8StringToString;
-exports.warn = warn;
-exports.unreachable = unreachable;
-Object.defineProperty(exports, "ReadableStream", {
-  enumerable: true,
-  get: function () {
-    return _streams_polyfill.ReadableStream;
-  }
-});
-exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = 
exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag 
= exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = 
exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = 
exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = 
exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = 
exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = 
exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = 
exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;
-
-__w_pdfjs_require__(6);
-
-var _streams_polyfill = __w_pdfjs_require__(181);
-
-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); return Constructor; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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); }
-
-var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
+const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
 exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
+const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
 exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-var NativeImageDecoding = {
-  NONE: 'none',
-  DECODE: 'decode',
-  DISPLAY: 'display'
+const NativeImageDecoding = {
+  NONE: "none",
+  DECODE: "decode",
+  DISPLAY: "display"
 };
 exports.NativeImageDecoding = NativeImageDecoding;
-var PermissionFlag = {
+const PermissionFlag = {
   PRINT: 0x04,
   MODIFY_CONTENTS: 0x08,
   COPY: 0x10,
@@ -1428,7 +726,7 @@ var PermissionFlag = {
   PRINT_HIGH_QUALITY: 0x800
 };
 exports.PermissionFlag = PermissionFlag;
-var TextRenderingMode = {
+const TextRenderingMode = {
   FILL: 0,
   STROKE: 1,
   FILL_STROKE: 2,
@@ -1441,13 +739,13 @@ var TextRenderingMode = {
   ADD_TO_PATH_FLAG: 4
 };
 exports.TextRenderingMode = TextRenderingMode;
-var ImageKind = {
+const ImageKind = {
   GRAYSCALE_1BPP: 1,
   RGB_24BPP: 2,
   RGBA_32BPP: 3
 };
 exports.ImageKind = ImageKind;
-var AnnotationType = {
+const AnnotationType = {
   TEXT: 1,
   LINK: 2,
   FREETEXT: 3,
@@ -1476,30 +774,30 @@ var AnnotationType = {
   REDACT: 26
 };
 exports.AnnotationType = AnnotationType;
-var AnnotationStateModelType = {
-  MARKED: 'Marked',
-  REVIEW: 'Review'
+const AnnotationStateModelType = {
+  MARKED: "Marked",
+  REVIEW: "Review"
 };
 exports.AnnotationStateModelType = AnnotationStateModelType;
-var AnnotationMarkedState = {
-  MARKED: 'Marked',
-  UNMARKED: 'Unmarked'
+const AnnotationMarkedState = {
+  MARKED: "Marked",
+  UNMARKED: "Unmarked"
 };
 exports.AnnotationMarkedState = AnnotationMarkedState;
-var AnnotationReviewState = {
-  ACCEPTED: 'Accepted',
-  REJECTED: 'Rejected',
-  CANCELLED: 'Cancelled',
-  COMPLETED: 'Completed',
-  NONE: 'None'
+const AnnotationReviewState = {
+  ACCEPTED: "Accepted",
+  REJECTED: "Rejected",
+  CANCELLED: "Cancelled",
+  COMPLETED: "Completed",
+  NONE: "None"
 };
 exports.AnnotationReviewState = AnnotationReviewState;
-var AnnotationReplyType = {
-  GROUP: 'Group',
-  REPLY: 'R'
+const AnnotationReplyType = {
+  GROUP: "Group",
+  REPLY: "R"
 };
 exports.AnnotationReplyType = AnnotationReplyType;
-var AnnotationFlag = {
+const AnnotationFlag = {
   INVISIBLE: 0x01,
   HIDDEN: 0x02,
   PRINT: 0x04,
@@ -1512,7 +810,7 @@ var AnnotationFlag = {
   LOCKEDCONTENTS: 0x200
 };
 exports.AnnotationFlag = AnnotationFlag;
-var AnnotationFieldFlag = {
+const AnnotationFieldFlag = {
   READONLY: 0x0000001,
   REQUIRED: 0x0000002,
   NOEXPORT: 0x0000004,
@@ -1534,7 +832,7 @@ var AnnotationFieldFlag = {
   COMMITONSELCHANGE: 0x4000000
 };
 exports.AnnotationFieldFlag = AnnotationFieldFlag;
-var AnnotationBorderStyleType = {
+const AnnotationBorderStyleType = {
   SOLID: 1,
   DASHED: 2,
   BEVELED: 3,
@@ -1542,46 +840,46 @@ var AnnotationBorderStyleType = {
   UNDERLINE: 5
 };
 exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-var StreamType = {
-  UNKNOWN: 'UNKNOWN',
-  FLATE: 'FLATE',
-  LZW: 'LZW',
-  DCT: 'DCT',
-  JPX: 'JPX',
-  JBIG: 'JBIG',
-  A85: 'A85',
-  AHX: 'AHX',
-  CCF: 'CCF',
-  RLX: 'RLX'
+const StreamType = {
+  UNKNOWN: "UNKNOWN",
+  FLATE: "FLATE",
+  LZW: "LZW",
+  DCT: "DCT",
+  JPX: "JPX",
+  JBIG: "JBIG",
+  A85: "A85",
+  AHX: "AHX",
+  CCF: "CCF",
+  RLX: "RLX"
 };
 exports.StreamType = StreamType;
-var FontType = {
-  UNKNOWN: 'UNKNOWN',
-  TYPE1: 'TYPE1',
-  TYPE1C: 'TYPE1C',
-  CIDFONTTYPE0: 'CIDFONTTYPE0',
-  CIDFONTTYPE0C: 'CIDFONTTYPE0C',
-  TRUETYPE: 'TRUETYPE',
-  CIDFONTTYPE2: 'CIDFONTTYPE2',
-  TYPE3: 'TYPE3',
-  OPENTYPE: 'OPENTYPE',
-  TYPE0: 'TYPE0',
-  MMTYPE1: 'MMTYPE1'
+const FontType = {
+  UNKNOWN: "UNKNOWN",
+  TYPE1: "TYPE1",
+  TYPE1C: "TYPE1C",
+  CIDFONTTYPE0: "CIDFONTTYPE0",
+  CIDFONTTYPE0C: "CIDFONTTYPE0C",
+  TRUETYPE: "TRUETYPE",
+  CIDFONTTYPE2: "CIDFONTTYPE2",
+  TYPE3: "TYPE3",
+  OPENTYPE: "OPENTYPE",
+  TYPE0: "TYPE0",
+  MMTYPE1: "MMTYPE1"
 };
 exports.FontType = FontType;
-var VerbosityLevel = {
+const VerbosityLevel = {
   ERRORS: 0,
   WARNINGS: 1,
   INFOS: 5
 };
 exports.VerbosityLevel = VerbosityLevel;
-var CMapCompressionType = {
+const CMapCompressionType = {
   NONE: 0,
   BINARY: 1,
   STREAM: 2
 };
 exports.CMapCompressionType = CMapCompressionType;
-var OPS = {
+const OPS = {
   dependency: 1,
   setLineWidth: 2,
   setLineCap: 3,
@@ -1675,21 +973,21 @@ var OPS = {
   constructPath: 91
 };
 exports.OPS = OPS;
-var UNSUPPORTED_FEATURES = {
-  unknown: 'unknown',
-  forms: 'forms',
-  javaScript: 'javaScript',
-  smask: 'smask',
-  shadingPattern: 'shadingPattern',
-  font: 'font'
+const UNSUPPORTED_FEATURES = {
+  unknown: "unknown",
+  forms: "forms",
+  javaScript: "javaScript",
+  smask: "smask",
+  shadingPattern: "shadingPattern",
+  font: "font"
 };
 exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
-var PasswordResponses = {
+const PasswordResponses = {
   NEED_PASSWORD: 1,
   INCORRECT_PASSWORD: 2
 };
 exports.PasswordResponses = PasswordResponses;
-var verbosity = VerbosityLevel.WARNINGS;
+let verbosity = VerbosityLevel.WARNINGS;
 
 function setVerbosityLevel(level) {
   if (Number.isInteger(level)) {
@@ -1703,13 +1001,13 @@ function getVerbosityLevel() {
 
 function info(msg) {
   if (verbosity >= VerbosityLevel.INFOS) {
-    console.log("Info: ".concat(msg));
+    console.log(`Info: ${msg}`);
   }
 }
 
 function warn(msg) {
   if (verbosity >= VerbosityLevel.WARNINGS) {
-    console.log("Warning: ".concat(msg));
+    console.log(`Warning: ${msg}`);
   }
 }
 
@@ -1724,19 +1022,19 @@ function assert(cond, msg) {
 }
 
 function isSameOrigin(baseUrl, otherUrl) {
-  var base;
+  let base;
 
   try {
     base = new URL(baseUrl);
 
-    if (!base.origin || base.origin === 'null') {
+    if (!base.origin || base.origin === "null") {
       return false;
     }
   } catch (e) {
     return false;
   }
 
-  var other = new URL(otherUrl, base);
+  const other = new URL(otherUrl, base);
   return base.origin === other.origin;
 }
 
@@ -1746,11 +1044,11 @@ function _isValidProtocol(url) {
   }
 
   switch (url.protocol) {
-    case 'http:':
-    case 'https:':
-    case 'ftp:':
-    case 'mailto:':
-    case 'tel:':
+    case "http:":
+    case "https:":
+    case "ftp:":
+    case "mailto:":
+    case "tel:":
       return true;
 
     default:
@@ -1764,7 +1062,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
   }
 
   try {
-    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
+    const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
 
     if (_isValidProtocol(absoluteUrl)) {
       return absoluteUrl;
@@ -1776,7 +1074,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
 
 function shadow(obj, prop, value) {
   Object.defineProperty(obj, prop, {
-    value: value,
+    value,
     enumerable: true,
     configurable: true,
     writable: false
@@ -1784,10 +1082,10 @@ function shadow(obj, prop, value) {
   return value;
 }
 
-var BaseException = function BaseExceptionClosure() {
+const BaseException = function BaseExceptionClosure() {
   function BaseException(message) {
     if (this.constructor === BaseException) {
-      unreachable('Cannot initialize BaseException.');
+      unreachable("Cannot initialize BaseException.");
     }
 
     this.message = message;
@@ -1801,167 +1099,89 @@ var BaseException = function BaseExceptionClosure() {
 
 exports.BaseException = BaseException;
 
-var PasswordException =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(PasswordException, _BaseException);
-
-  function PasswordException(msg, code) {
-    var _this;
-
-    _classCallCheck(this, PasswordException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
-    _this.code = code;
-    return _this;
+class PasswordException extends BaseException {
+  constructor(msg, code) {
+    super(msg);
+    this.code = code;
   }
 
-  return PasswordException;
-}(BaseException);
+}
 
 exports.PasswordException = PasswordException;
 
-var UnknownErrorException =
-/*#__PURE__*/
-function (_BaseException2) {
-  _inherits(UnknownErrorException, _BaseException2);
-
-  function UnknownErrorException(msg, details) {
-    var _this2;
-
-    _classCallCheck(this, UnknownErrorException);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
-    _this2.details = details;
-    return _this2;
+class UnknownErrorException extends BaseException {
+  constructor(msg, details) {
+    super(msg);
+    this.details = details;
   }
 
-  return UnknownErrorException;
-}(BaseException);
+}
 
 exports.UnknownErrorException = UnknownErrorException;
 
-var InvalidPDFException =
-/*#__PURE__*/
-function (_BaseException3) {
-  _inherits(InvalidPDFException, _BaseException3);
-
-  function InvalidPDFException() {
-    _classCallCheck(this, InvalidPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
-  }
-
-  return InvalidPDFException;
-}(BaseException);
+class InvalidPDFException extends BaseException {}
 
 exports.InvalidPDFException = InvalidPDFException;
 
-var MissingPDFException =
-/*#__PURE__*/
-function (_BaseException4) {
-  _inherits(MissingPDFException, _BaseException4);
-
-  function MissingPDFException() {
-    _classCallCheck(this, MissingPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
-  }
-
-  return MissingPDFException;
-}(BaseException);
+class MissingPDFException extends BaseException {}
 
 exports.MissingPDFException = MissingPDFException;
 
-var UnexpectedResponseException =
-/*#__PURE__*/
-function (_BaseException5) {
-  _inherits(UnexpectedResponseException, _BaseException5);
-
-  function UnexpectedResponseException(msg, status) {
-    var _this3;
-
-    _classCallCheck(this, UnexpectedResponseException);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
-    _this3.status = status;
-    return _this3;
+class UnexpectedResponseException extends BaseException {
+  constructor(msg, status) {
+    super(msg);
+    this.status = status;
   }
 
-  return UnexpectedResponseException;
-}(BaseException);
+}
 
 exports.UnexpectedResponseException = UnexpectedResponseException;
 
-var FormatError =
-/*#__PURE__*/
-function (_BaseException6) {
-  _inherits(FormatError, _BaseException6);
-
-  function FormatError() {
-    _classCallCheck(this, FormatError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
-  }
-
-  return FormatError;
-}(BaseException);
+class FormatError extends BaseException {}
 
 exports.FormatError = FormatError;
 
-var AbortException =
-/*#__PURE__*/
-function (_BaseException7) {
-  _inherits(AbortException, _BaseException7);
-
-  function AbortException() {
-    _classCallCheck(this, AbortException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
-  }
-
-  return AbortException;
-}(BaseException);
+class AbortException extends BaseException {}
 
 exports.AbortException = AbortException;
-var NullCharactersRegExp = /\x00/g;
+const NullCharactersRegExp = /\x00/g;
 
 function removeNullCharacters(str) {
-  if (typeof str !== 'string') {
-    warn('The argument for removeNullCharacters must be a string.');
+  if (typeof str !== "string") {
+    warn("The argument for removeNullCharacters must be a string.");
     return str;
   }
 
-  return str.replace(NullCharactersRegExp, '');
+  return str.replace(NullCharactersRegExp, "");
 }
 
 function bytesToString(bytes) {
-  assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for 
bytesToString');
-  var length = bytes.length;
-  var MAX_ARGUMENT_COUNT = 8192;
+  assert(bytes !== null && typeof bytes === "object" && bytes.length !== undefined, "Invalid argument for 
bytesToString");
+  const length = bytes.length;
+  const MAX_ARGUMENT_COUNT = 8192;
 
   if (length < MAX_ARGUMENT_COUNT) {
     return String.fromCharCode.apply(null, bytes);
   }
 
-  var strBuf = [];
+  const strBuf = [];
 
-  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
-    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
-    var chunk = bytes.subarray(i, chunkEnd);
+  for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
+    const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
+    const chunk = bytes.subarray(i, chunkEnd);
     strBuf.push(String.fromCharCode.apply(null, chunk));
   }
 
-  return strBuf.join('');
+  return strBuf.join("");
 }
 
 function stringToBytes(str) {
-  assert(typeof str === 'string', 'Invalid argument for stringToBytes');
-  var length = str.length;
-  var bytes = new Uint8Array(length);
+  assert(typeof str === "string", "Invalid argument for stringToBytes");
+  const length = str.length;
+  const bytes = new Uint8Array(length);
 
-  for (var i = 0; i < length; ++i) {
-    bytes[i] = str.charCodeAt(i) & 0xFF;
+  for (let i = 0; i < length; ++i) {
+    bytes[i] = str.charCodeAt(i) & 0xff;
   }
 
   return bytes;
@@ -1977,33 +1197,33 @@ function arrayByteLength(arr) {
 }
 
 function arraysToBytes(arr) {
-  var length = arr.length;
+  const length = arr.length;
 
   if (length === 1 && arr[0] instanceof Uint8Array) {
     return arr[0];
   }
 
-  var resultLength = 0;
+  let resultLength = 0;
 
-  for (var i = 0; i < length; i++) {
+  for (let i = 0; i < length; i++) {
     resultLength += arrayByteLength(arr[i]);
   }
 
-  var pos = 0;
-  var data = new Uint8Array(resultLength);
+  let pos = 0;
+  const data = new Uint8Array(resultLength);
 
-  for (var _i = 0; _i < length; _i++) {
-    var item = arr[_i];
+  for (let i = 0; i < length; i++) {
+    let item = arr[i];
 
     if (!(item instanceof Uint8Array)) {
-      if (typeof item === 'string') {
+      if (typeof item === "string") {
         item = stringToBytes(item);
       } else {
         item = new Uint8Array(item);
       }
     }
 
-    var itemLength = item.byteLength;
+    const itemLength = item.byteLength;
     data.set(item, pos);
     pos += itemLength;
   }
@@ -2015,183 +1235,163 @@ function string32(value) {
   return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
 }
 
-function log2(x) {
-  if (x <= 0) {
-    return 0;
-  }
-
-  return Math.ceil(Math.log2(x));
-}
-
-function readInt8(data, start) {
-  return data[start] << 24 >> 24;
-}
-
-function readUint16(data, offset) {
-  return data[offset] << 8 | data[offset + 1];
-}
-
-function readUint32(data, offset) {
-  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;
-}
-
 function isLittleEndian() {
-  var buffer8 = new Uint8Array(4);
+  const buffer8 = new Uint8Array(4);
   buffer8[0] = 1;
-  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
+  const view32 = new Uint32Array(buffer8.buffer, 0, 1);
   return view32[0] === 1;
 }
 
+const IsLittleEndianCached = {
+  get value() {
+    return shadow(this, "value", isLittleEndian());
+  }
+
+};
+exports.IsLittleEndianCached = IsLittleEndianCached;
+
 function isEvalSupported() {
   try {
-    new Function('');
+    new Function("");
     return true;
   } catch (e) {
     return false;
   }
 }
 
-var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];
+const IsEvalSupportedCached = {
+  get value() {
+    return shadow(this, "value", isEvalSupported());
+  }
+
+};
+exports.IsEvalSupportedCached = IsEvalSupportedCached;
+const rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];
 
-var Util =
-/*#__PURE__*/
-function () {
-  function Util() {
-    _classCallCheck(this, Util);
+class Util {
+  static makeCssRgb(r, g, b) {
+    rgbBuf[1] = r;
+    rgbBuf[3] = g;
+    rgbBuf[5] = b;
+    return rgbBuf.join("");
   }
 
-  _createClass(Util, null, [{
-    key: "makeCssRgb",
-    value: function makeCssRgb(r, g, b) {
-      rgbBuf[1] = r;
-      rgbBuf[3] = g;
-      rgbBuf[5] = b;
-      return rgbBuf.join('');
-    }
-  }, {
-    key: "transform",
-    value: function transform(m1, m2) {
-      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], 
m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
-    }
-  }, {
-    key: "applyTransform",
-    value: function applyTransform(p, m) {
-      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
-      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
-      return [xt, yt];
-    }
-  }, {
-    key: "applyInverseTransform",
-    value: function applyInverseTransform(p, m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
-      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
-      return [xt, yt];
-    }
-  }, {
-    key: "getAxialAlignedBoundingBox",
-    value: function getAxialAlignedBoundingBox(r, m) {
-      var p1 = Util.applyTransform(r, m);
-      var p2 = Util.applyTransform(r.slice(2, 4), m);
-      var p3 = Util.applyTransform([r[0], r[3]], m);
-      var p4 = Util.applyTransform([r[2], r[1]], m);
-      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], 
p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
-    }
-  }, {
-    key: "inverseTransform",
-    value: function inverseTransform(m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] 
* m[0]) / d];
-    }
-  }, {
-    key: "apply3dTransform",
-    value: function apply3dTransform(m, v) {
-      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] 
+ m[7] * v[1] + m[8] * v[2]];
-    }
-  }, {
-    key: "singularValueDecompose2dScale",
-    value: function singularValueDecompose2dScale(m) {
-      var transpose = [m[0], m[2], m[1], m[3]];
-      var a = m[0] * transpose[0] + m[1] * transpose[2];
-      var b = m[0] * transpose[1] + m[1] * transpose[3];
-      var c = m[2] * transpose[0] + m[3] * transpose[2];
-      var d = m[2] * transpose[1] + m[3] * transpose[3];
-      var first = (a + d) / 2;
-      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
-      var sx = first + second || 1;
-      var sy = first - second || 1;
-      return [Math.sqrt(sx), Math.sqrt(sy)];
-    }
-  }, {
-    key: "normalizeRect",
-    value: function normalizeRect(rect) {
-      var r = rect.slice(0);
+  static transform(m1, m2) {
+    return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], 
m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
+  }
 
-      if (rect[0] > rect[2]) {
-        r[0] = rect[2];
-        r[2] = rect[0];
-      }
+  static applyTransform(p, m) {
+    const xt = p[0] * m[0] + p[1] * m[2] + m[4];
+    const yt = p[0] * m[1] + p[1] * m[3] + m[5];
+    return [xt, yt];
+  }
 
-      if (rect[1] > rect[3]) {
-        r[1] = rect[3];
-        r[3] = rect[1];
-      }
+  static applyInverseTransform(p, m) {
+    const d = m[0] * m[3] - m[1] * m[2];
+    const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
+    const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
+    return [xt, yt];
+  }
+
+  static getAxialAlignedBoundingBox(r, m) {
+    const p1 = Util.applyTransform(r, m);
+    const p2 = Util.applyTransform(r.slice(2, 4), m);
+    const p3 = Util.applyTransform([r[0], r[3]], m);
+    const p4 = Util.applyTransform([r[2], r[1]], m);
+    return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], 
p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
+  }
+
+  static inverseTransform(m) {
+    const d = m[0] * m[3] - m[1] * m[2];
+    return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * 
m[0]) / d];
+  }
+
+  static apply3dTransform(m, v) {
+    return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + 
m[7] * v[1] + m[8] * v[2]];
+  }
+
+  static singularValueDecompose2dScale(m) {
+    const transpose = [m[0], m[2], m[1], m[3]];
+    const a = m[0] * transpose[0] + m[1] * transpose[2];
+    const b = m[0] * transpose[1] + m[1] * transpose[3];
+    const c = m[2] * transpose[0] + m[3] * transpose[2];
+    const d = m[2] * transpose[1] + m[3] * transpose[3];
+    const first = (a + d) / 2;
+    const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
+    const sx = first + second || 1;
+    const sy = first - second || 1;
+    return [Math.sqrt(sx), Math.sqrt(sy)];
+  }
+
+  static normalizeRect(rect) {
+    const r = rect.slice(0);
 
-      return r;
+    if (rect[0] > rect[2]) {
+      r[0] = rect[2];
+      r[2] = rect[0];
     }
-  }, {
-    key: "intersect",
-    value: function intersect(rect1, rect2) {
-      function compare(a, b) {
-        return a - b;
-      }
 
-      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
-      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
-      var result = [];
-      rect1 = Util.normalizeRect(rect1);
-      rect2 = Util.normalizeRect(rect2);
+    if (rect[1] > rect[3]) {
+      r[1] = rect[3];
+      r[3] = rect[1];
+    }
 
-      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] 
=== rect1[0]) {
-        result[0] = orderedX[1];
-        result[2] = orderedX[2];
-      } else {
-        return null;
-      }
+    return r;
+  }
 
-      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] 
=== rect1[1]) {
-        result[1] = orderedY[1];
-        result[3] = orderedY[2];
-      } else {
-        return null;
-      }
+  static intersect(rect1, rect2) {
+    function compare(a, b) {
+      return a - b;
+    }
 
-      return result;
+    const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
+    const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
+    const result = [];
+    rect1 = Util.normalizeRect(rect1);
+    rect2 = Util.normalizeRect(rect2);
+
+    if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === 
rect1[0]) {
+      result[0] = orderedX[1];
+      result[2] = orderedX[2];
+    } else {
+      return null;
     }
-  }]);
 
-  return Util;
-}();
+    if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === 
rect1[1]) {
+      result[1] = orderedY[1];
+      result[3] = orderedY[2];
+    } else {
+      return null;
+    }
+
+    return result;
+  }
+
+}
 
 exports.Util = Util;
-var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 
0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 
0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
+const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 
0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 
0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
 
 function stringToPDFString(str) {
-  var length = str.length,
-      strBuf = [];
+  const length = str.length,
+        strBuf = [];
 
-  if (str[0] === '\xFE' && str[1] === '\xFF') {
-    for (var i = 2; i < length; i += 2) {
+  if (str[0] === "\xFE" && str[1] === "\xFF") {
+    for (let i = 2; i < length; i += 2) {
       strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
     }
+  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
+    for (let i = 2; i < length; i += 2) {
+      strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));
+    }
   } else {
-    for (var _i2 = 0; _i2 < length; ++_i2) {
-      var code = PDFStringTranslateTable[str.charCodeAt(_i2)];
-      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));
+    for (let i = 0; i < length; ++i) {
+      const code = PDFStringTranslateTable[str.charCodeAt(i)];
+      strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));
     }
   }
 
-  return strBuf.join('');
+  return strBuf.join("");
 }
 
 function stringToUTF8String(str) {
@@ -2203,7 +1403,7 @@ function utf8StringToString(str) {
 }
 
 function isEmptyObj(obj) {
-  for (var key in obj) {
+  for (const key in obj) {
     return false;
   }
 
@@ -2211,19 +1411,19 @@ function isEmptyObj(obj) {
 }
 
 function isBool(v) {
-  return typeof v === 'boolean';
+  return typeof v === "boolean";
 }
 
 function isNum(v) {
-  return typeof v === 'number';
+  return typeof v === "number";
 }
 
 function isString(v) {
-  return typeof v === 'string';
+  return typeof v === "string";
 }
 
 function isArrayBuffer(v) {
-  return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;
+  return typeof v === "object" && v !== null && v.byteLength !== undefined;
 }
 
 function isArrayEqual(arr1, arr2) {
@@ -2236,17 +1436,14 @@ function isArrayEqual(arr1, arr2) {
   });
 }
 
-function isSpace(ch) {
-  return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;
-}
-
 function createPromiseCapability() {
-  var capability = Object.create(null);
-  var isSettled = false;
-  Object.defineProperty(capability, 'settled', {
-    get: function get() {
+  const capability = Object.create(null);
+  let isSettled = false;
+  Object.defineProperty(capability, "settled", {
+    get() {
       return isSettled;
     }
+
   });
   capability.promise = new Promise(function (resolve, reject) {
     capability.resolve = function (data) {
@@ -2262,28 +1459,26 @@ function createPromiseCapability() {
   return capability;
 }
 
-var createObjectURL = function createObjectURLClosure() {
-  var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-  return function createObjectURL(data, contentType) {
-    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
+const createObjectURL = function createObjectURLClosure() {
+  const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+  return function createObjectURL(data, contentType, forceDataSchema = false) {
     if (!forceDataSchema && URL.createObjectURL) {
-      var blob = new Blob([data], {
+      const blob = new Blob([data], {
         type: contentType
       });
       return URL.createObjectURL(blob);
     }
 
-    var buffer = "data:".concat(contentType, ";base64,");
+    let buffer = `data:${contentType};base64,`;
 
-    for (var i = 0, ii = data.length; i < ii; i += 3) {
-      var b1 = data[i] & 0xFF;
-      var b2 = data[i + 1] & 0xFF;
-      var b3 = data[i + 2] & 0xFF;
-      var d1 = b1 >> 2,
-          d2 = (b1 & 3) << 4 | b2 >> 4;
-      var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;
-      var d4 = i + 2 < ii ? b3 & 0x3F : 64;
+    for (let i = 0, ii = data.length; i < ii; i += 3) {
+      const b1 = data[i] & 0xff;
+      const b2 = data[i + 1] & 0xff;
+      const b3 = data[i + 2] & 0xff;
+      const d1 = b1 >> 2,
+            d2 = (b1 & 3) << 4 | b2 >> 4;
+      const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
+      const d4 = i + 2 < ii ? b3 & 0x3f : 64;
       buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
     }
 
@@ -2294,8649 +1489,41 @@ var createObjectURL = function createObjectURLClosure() {
 exports.createObjectURL = createObjectURL;
 
 /***/ }),
-/* 6 */
+/* 3 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
 
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+;
 
-var globalScope = __w_pdfjs_require__(7);
+/***/ }),
+/* 4 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
 
-if (!globalScope._pdfjsCompatibilityChecked) {
-  globalScope._pdfjsCompatibilityChecked = true;
+"use strict";
 
-  var isNodeJS = __w_pdfjs_require__(8);
 
-  var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && (typeof 
document === "undefined" ? "undefined" : _typeof(document)) === 'object';
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.clearPrimitiveCaches = clearPrimitiveCaches;
+exports.isEOF = isEOF;
+exports.isCmd = isCmd;
+exports.isDict = isDict;
+exports.isName = isName;
+exports.isRef = isRef;
+exports.isRefsEqual = isRefsEqual;
+exports.isStream = isStream;
+exports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF 
= void 0;
 
-  (function checkNodeBtoa() {
-    if (globalScope.btoa || !isNodeJS()) {
-      return;
-    }
-
-    globalScope.btoa = function (chars) {
-      return Buffer.from(chars, 'binary').toString('base64');
-    };
-  })();
-
-  (function checkNodeAtob() {
-    if (globalScope.atob || !isNodeJS()) {
-      return;
-    }
-
-    globalScope.atob = function (input) {
-      return Buffer.from(input, 'base64').toString('binary');
-    };
-  })();
-
-  (function checkChildNodeRemove() {
-    if (!hasDOM) {
-      return;
-    }
-
-    if (typeof Element.prototype.remove !== 'undefined') {
-      return;
-    }
-
-    Element.prototype.remove = function () {
-      if (this.parentNode) {
-        this.parentNode.removeChild(this);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListAddRemove() {
-    if (!hasDOM || isNodeJS()) {
-      return;
-    }
-
-    var div = document.createElement('div');
-    div.classList.add('testOne', 'testTwo');
-
-    if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {
-      return;
-    }
-
-    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
-    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
-
-    DOMTokenList.prototype.add = function () {
-      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
-        tokens[_key] = arguments[_key];
-      }
-
-      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
-        var token = _tokens[_i];
-        OriginalDOMTokenListAdd.call(this, token);
-      }
-    };
-
-    DOMTokenList.prototype.remove = function () {
-      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-        tokens[_key2] = arguments[_key2];
-      }
-
-      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
-        var token = _tokens2[_i2];
-        OriginalDOMTokenListRemove.call(this, token);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListToggle() {
-    if (!hasDOM || isNodeJS()) {
-      return;
-    }
-
-    var div = document.createElement('div');
-
-    if (div.classList.toggle('test', 0) === false) {
-      return;
-    }
-
-    DOMTokenList.prototype.toggle = function (token) {
-      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
-      return this[force ? 'add' : 'remove'](token), force;
-    };
-  })();
-
-  (function checkStringStartsWith() {
-    if (String.prototype.startsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(9);
-  })();
-
-  (function checkStringEndsWith() {
-    if (String.prototype.endsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(61);
-  })();
-
-  (function checkStringIncludes() {
-    if (String.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(63);
-  })();
-
-  (function checkArrayIncludes() {
-    if (Array.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(65);
-  })();
-
-  (function checkArrayFrom() {
-    if (Array.from) {
-      return;
-    }
-
-    __w_pdfjs_require__(72);
-  })();
-
-  (function checkObjectAssign() {
-    if (Object.assign) {
-      return;
-    }
-
-    __w_pdfjs_require__(93);
-  })();
-
-  (function checkMathLog2() {
-    if (Math.log2) {
-      return;
-    }
-
-    Math.log2 = __w_pdfjs_require__(96);
-  })();
-
-  (function checkNumberIsNaN() {
-    if (Number.isNaN) {
-      return;
-    }
-
-    Number.isNaN = __w_pdfjs_require__(98);
-  })();
-
-  (function checkNumberIsInteger() {
-    if (Number.isInteger) {
-      return;
-    }
-
-    Number.isInteger = __w_pdfjs_require__(100);
-  })();
-
-  (function checkPromise() {
-    if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype["finally"]) {
-      return;
-    }
-
-    globalScope.Promise = __w_pdfjs_require__(103);
-  })();
-
-  (function checkURL() {
-    globalScope.URL = __w_pdfjs_require__(125);
-  })();
-
-  (function checkWeakMap() {
-    if (globalScope.WeakMap) {
-      return;
-    }
-
-    globalScope.WeakMap = __w_pdfjs_require__(132);
-  })();
-
-  (function checkWeakSet() {
-    if (globalScope.WeakSet) {
-      return;
-    }
-
-    globalScope.WeakSet = __w_pdfjs_require__(142);
-  })();
-
-  (function checkStringCodePointAt() {
-    if (String.prototype.codePointAt) {
-      return;
-    }
-
-    __w_pdfjs_require__(144);
-  })();
-
-  (function checkStringFromCodePoint() {
-    if (String.fromCodePoint) {
-      return;
-    }
-
-    String.fromCodePoint = __w_pdfjs_require__(146);
-  })();
-
-  (function checkSymbol() {
-    if (globalScope.Symbol) {
-      return;
-    }
-
-    __w_pdfjs_require__(148);
-  })();
-
-  (function checkStringPadStart() {
-    if (String.prototype.padStart) {
-      return;
-    }
-
-    __w_pdfjs_require__(171);
-  })();
-
-  (function checkStringPadEnd() {
-    if (String.prototype.padEnd) {
-      return;
-    }
-
-    __w_pdfjs_require__(176);
-  })();
-
-  (function checkObjectValues() {
-    if (Object.values) {
-      return;
-    }
-
-    Object.values = __w_pdfjs_require__(178);
-  })();
-}
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 
'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-module.exports = function isNodeJS() {
-  return (typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process + '' === 
'[object process]' && !process.versions['nw'] && !process.versions['electron'];
-};
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(10);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'startsWith');
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var toLength = __w_pdfjs_require__(47);
-var notARegExp = __w_pdfjs_require__(53);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-var correctIsRegExpLogic = __w_pdfjs_require__(57);
-var nativeStartsWith = ''.startsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('startsWith')
-}, {
- startsWith: function startsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
-  var search = String(searchString);
-  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + 
search.length) === search;
- }
-});
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(13).f;
-var hide = __w_pdfjs_require__(27);
-var redefine = __w_pdfjs_require__(30);
-var setGlobal = __w_pdfjs_require__(32);
-var copyConstructorProperties = __w_pdfjs_require__(40);
-var isForced = __w_pdfjs_require__(52);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
-  target = global;
- } else if (STATIC) {
-  target = global[TARGET] || setGlobal(TARGET, {});
- } else {
-  target = (global[TARGET] || {}).prototype;
- }
- if (target)
-  for (key in source) {
-   sourceProperty = source[key];
-   if (options.noTargetGet) {
-    descriptor = getOwnPropertyDescriptor(target, key);
-    targetProperty = descriptor && descriptor.value;
-   } else
-    targetProperty = target[key];
-   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-   if (!FORCED && targetProperty !== undefined) {
-    if (typeof sourceProperty === typeof targetProperty)
-     continue;
-    copyConstructorProperties(sourceProperty, targetProperty);
-   }
-   if (options.sham || targetProperty && targetProperty.sham) {
-    hide(sourceProperty, 'sham', true);
-   }
-   redefine(target, key, sourceProperty, options);
-  }
-};
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports) {
-
-var O = 'object';
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || 
check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var propertyIsEnumerableModule = __w_pdfjs_require__(16);
-var createPropertyDescriptor = __w_pdfjs_require__(17);
-var toIndexedObject = __w_pdfjs_require__(18);
-var toPrimitive = __w_pdfjs_require__(22);
-var has = __w_pdfjs_require__(24);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(25);
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeGetOwnPropertyDescriptor(O, P);
-  } catch (error) {
-  }
- if (has(O, P))
-  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return !!exec();
- } catch (error) {
-  return true;
- }
-};
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
-  enumerable: !(bitmap & 1),
-  configurable: !(bitmap & 2),
-  writable: !(bitmap & 4),
-  value: value
- };
-};
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IndexedObject = __w_pdfjs_require__(19);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-var classof = __w_pdfjs_require__(20);
-var split = ''.split;
-module.exports = fails(function () {
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (it == undefined)
-  throw TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input))
-  return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(15);
-var createElement = __w_pdfjs_require__(26);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var isObject = __w_pdfjs_require__(23);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var definePropertyModule = __w_pdfjs_require__(28);
-var createPropertyDescriptor = __w_pdfjs_require__(17);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(25);
-var anObject = __w_pdfjs_require__(29);
-var toPrimitive = __w_pdfjs_require__(22);
-var nativeDefineProperty = Object.defineProperty;
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeDefineProperty(O, P, Attributes);
-  } catch (error) {
-  }
- if ('get' in Attributes || 'set' in Attributes)
-  throw TypeError('Accessors not supported');
- if ('value' in Attributes)
-  O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-module.exports = function (it) {
- if (!isObject(it)) {
-  throw TypeError(String(it) + ' is not an object');
- }
- return it;
-};
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var shared = __w_pdfjs_require__(31);
-var hide = __w_pdfjs_require__(27);
-var has = __w_pdfjs_require__(24);
-var setGlobal = __w_pdfjs_require__(32);
-var nativeFunctionToString = __w_pdfjs_require__(34);
-var InternalStateModule = __w_pdfjs_require__(35);
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(nativeFunctionToString).split('toString');
-shared('inspectSource', function (it) {
- return nativeFunctionToString.call(it);
-});
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
-  if (typeof key == 'string' && !has(value, 'name'))
-   hide(value, 'name', key);
-  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
-  if (simple)
-   O[key] = value;
-  else
-   setGlobal(key, value);
-  return;
- } else if (!unsafe) {
-  delete O[key];
- } else if (!noTargetGet && O[key]) {
-  simple = true;
- }
- if (simple)
-  O[key] = value;
- else
-  hide(O, key, value);
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
-});
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var setGlobal = __w_pdfjs_require__(32);
-var IS_PURE = __w_pdfjs_require__(33);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.2.1',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var hide = __w_pdfjs_require__(27);
-module.exports = function (key, value) {
- try {
-  hide(global, key, value);
- } catch (error) {
-  global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(31);
-module.exports = shared('native-function-to-string', Function.toString);
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(36);
-var global = __w_pdfjs_require__(12);
-var isObject = __w_pdfjs_require__(23);
-var hide = __w_pdfjs_require__(27);
-var objectHas = __w_pdfjs_require__(24);
-var sharedKey = __w_pdfjs_require__(37);
-var hiddenKeys = __w_pdfjs_require__(39);
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
-  var state;
-  if (!isObject(it) || (state = get(it)).type !== TYPE) {
-   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-  }
-  return state;
- };
-};
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
-  wmset.call(store, it, metadata);
-  return metadata;
- };
- get = function (it) {
-  return wmget.call(store, it) || {};
- };
- has = function (it) {
-  return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
-  hide(it, STATE, metadata);
-  return metadata;
- };
- get = function (it) {
-  return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
-  return objectHas(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var nativeFunctionToString = __w_pdfjs_require__(34);
-var WeakMap = global.WeakMap;
-module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(31);
-var uid = __w_pdfjs_require__(38);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(24);
-var ownKeys = __w_pdfjs_require__(41);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(13);
-var definePropertyModule = __w_pdfjs_require__(28);
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
-  var key = keys[i];
-  if (!has(target, key))
-   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(42);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(44);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
-var anObject = __w_pdfjs_require__(29);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(43);
-var global = __w_pdfjs_require__(12);
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] 
&& path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-module.exports = __w_pdfjs_require__(12);
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(45);
-var enumBugKeys = __w_pdfjs_require__(50);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(24);
-var toIndexedObject = __w_pdfjs_require__(18);
-var indexOf = __w_pdfjs_require__(46).indexOf;
-var hiddenKeys = __w_pdfjs_require__(39);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
-  !has(hiddenKeys, key) && has(O, key) && result.push(key);
- while (names.length > i)
-  if (has(O, key = names[i++])) {
-   ~indexOf(result, key) || result.push(key);
-  }
- return result;
-};
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(18);
-var toLength = __w_pdfjs_require__(47);
-var toAbsoluteIndex = __w_pdfjs_require__(49);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
-  var O = toIndexedObject($this);
-  var length = toLength(O.length);
-  var index = toAbsoluteIndex(fromIndex, length);
-  var value;
-  if (IS_INCLUDES && el != el)
-   while (length > index) {
-    value = O[index++];
-    if (value != value)
-     return true;
-   }
-  else
-   for (; length > index; index++) {
-    if ((IS_INCLUDES || index in O) && O[index] === el)
-     return IS_INCLUDES || index || 0;
-   }
-  return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(48);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(48);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports) {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? 
fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isRegExp = __w_pdfjs_require__(54);
-module.exports = function (it) {
- if (isRegExp(it)) {
-  throw TypeError("The method doesn't accept regular expressions");
- }
- return it;
-};
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-var classof = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
-};
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var shared = __w_pdfjs_require__(31);
-var uid = __w_pdfjs_require__(38);
-var NATIVE_SYMBOL = __w_pdfjs_require__(56);
-var Symbol = global.Symbol;
-var store = shared('wks');
-module.exports = function (name) {
- return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : 
uid)('Symbol.' + name));
-};
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- return !String(Symbol());
-});
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (METHOD_NAME) {
- var regexp = /./;
- try {
-  '/./'[METHOD_NAME](regexp);
- } catch (e) {
-  try {
-   regexp[MATCH] = false;
-   return '/./'[METHOD_NAME](regexp);
-  } catch (f) {
-  }
- }
- return false;
-};
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var bind = __w_pdfjs_require__(59);
-var call = Function.call;
-module.exports = function (CONSTRUCTOR, METHOD, length) {
- return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
-};
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var aFunction = __w_pdfjs_require__(60);
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined)
-  return fn;
- switch (length) {
- case 0:
-  return function () {
-   return fn.call(that);
-  };
- case 1:
-  return function (a) {
-   return fn.call(that, a);
-  };
- case 2:
-  return function (a, b) {
-   return fn.call(that, a, b);
-  };
- case 3:
-  return function (a, b, c) {
-   return fn.call(that, a, b, c);
-  };
- }
- return function () {
-  return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
-  throw TypeError(String(it) + ' is not a function');
- }
- return it;
-};
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(62);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'endsWith');
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var toLength = __w_pdfjs_require__(47);
-var notARegExp = __w_pdfjs_require__(53);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-var correctIsRegExpLogic = __w_pdfjs_require__(57);
-var nativeEndsWith = ''.endsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('endsWith')
-}, {
- endsWith: function endsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var endPosition = arguments.length > 1 ? arguments[1] : undefined;
-  var len = toLength(that.length);
-  var end = endPosition === undefined ? len : min(toLength(endPosition), len);
-  var search = String(searchString);
-  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === 
search;
- }
-});
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(64);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'includes');
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var notARegExp = __w_pdfjs_require__(53);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-var correctIsRegExpLogic = __w_pdfjs_require__(57);
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
-}, {
- includes: function includes(searchString) {
-  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? 
arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(66);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('Array', 'includes');
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var $includes = __w_pdfjs_require__(46).includes;
-var addToUnscopables = __w_pdfjs_require__(67);
-$({
- target: 'Array',
- proto: true
-}, {
- includes: function includes(el) {
-  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-addToUnscopables('includes');
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var create = __w_pdfjs_require__(68);
-var hide = __w_pdfjs_require__(27);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- hide(ArrayPrototype, UNSCOPABLES, create(null));
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var defineProperties = __w_pdfjs_require__(69);
-var enumBugKeys = __w_pdfjs_require__(50);
-var hiddenKeys = __w_pdfjs_require__(39);
-var html = __w_pdfjs_require__(71);
-var documentCreateElement = __w_pdfjs_require__(26);
-var sharedKey = __w_pdfjs_require__(37);
-var IE_PROTO = sharedKey('IE_PROTO');
-var PROTOTYPE = 'prototype';
-var Empty = function () {
-};
-var createDict = function () {
- var iframe = documentCreateElement('iframe');
- var length = enumBugKeys.length;
- var lt = '<';
- var script = 'script';
- var gt = '>';
- var js = 'java' + script + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(js);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);
- iframeDocument.close();
- createDict = iframeDocument.F;
- while (length--)
-  delete createDict[PROTOTYPE][enumBugKeys[length]];
- return createDict();
-};
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
-  Empty[PROTOTYPE] = anObject(O);
-  result = new Empty();
-  Empty[PROTOTYPE] = null;
-  result[IE_PROTO] = O;
- } else
-  result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-hiddenKeys[IE_PROTO] = true;
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var definePropertyModule = __w_pdfjs_require__(28);
-var anObject = __w_pdfjs_require__(29);
-var objectKeys = __w_pdfjs_require__(70);
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
-  definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(45);
-var enumBugKeys = __w_pdfjs_require__(50);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(42);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(85);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Array.from;
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var charAt = __w_pdfjs_require__(74).charAt;
-var InternalStateModule = __w_pdfjs_require__(35);
-var defineIterator = __w_pdfjs_require__(75);
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
-defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
-  type: STRING_ITERATOR,
-  string: String(iterated),
-  index: 0
- });
-}, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length)
-  return {
-   value: undefined,
-   done: true
-  };
- point = charAt(string, index);
- state.index += point.length;
- return {
-  value: point,
-  done: false
- };
-});
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(48);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-var createMethod = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
-  var S = String(requireObjectCoercible($this));
-  var position = toInteger(pos);
-  var size = S.length;
-  var first, second;
-  if (position < 0 || position >= size)
-   return CONVERT_TO_STRING ? '' : undefined;
-  first = S.charCodeAt(position);
-  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) 
< 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? 
S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
-};
-module.exports = {
- codeAt: createMethod(false),
- charAt: createMethod(true)
-};
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var createIteratorConstructor = __w_pdfjs_require__(76);
-var getPrototypeOf = __w_pdfjs_require__(78);
-var setPrototypeOf = __w_pdfjs_require__(83);
-var setToStringTag = __w_pdfjs_require__(81);
-var hide = __w_pdfjs_require__(27);
-var redefine = __w_pdfjs_require__(30);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var IS_PURE = __w_pdfjs_require__(33);
-var Iterators = __w_pdfjs_require__(82);
-var IteratorsCore = __w_pdfjs_require__(77);
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-var returnThis = function () {
- return this;
-};
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
- var getIterationMethod = function (KIND) {
-  if (KIND === DEFAULT && defaultIterator)
-   return defaultIterator;
-  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
-   return IterablePrototype[KIND];
-  switch (KIND) {
-  case KEYS:
-   return function keys() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case VALUES:
-   return function values() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case ENTRIES:
-   return function entries() {
-    return new IteratorConstructor(this, KIND);
-   };
-  }
-  return function () {
-   return new IteratorConstructor(this);
-  };
- };
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && 
IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
- if (anyNativeIterator) {
-  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
-  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
-   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
-    if (setPrototypeOf) {
-     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
-    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
-     hide(CurrentIteratorPrototype, ITERATOR, returnThis);
-    }
-   }
-   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
-   if (IS_PURE)
-    Iterators[TO_STRING_TAG] = returnThis;
-  }
- }
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-  INCORRECT_VALUES_NAME = true;
-  defaultIterator = function values() {
-   return nativeIterator.call(this);
-  };
- }
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
-  hide(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
- if (DEFAULT) {
-  methods = {
-   values: getIterationMethod(VALUES),
-   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-   entries: getIterationMethod(ENTRIES)
-  };
-  if (FORCED)
-   for (KEY in methods) {
-    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-     redefine(IterablePrototype, KEY, methods[KEY]);
-    }
-   }
-  else
-   $({
-    target: NAME,
-    proto: true,
-    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
-   }, methods);
- }
- return methods;
-};
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var IteratorPrototype = __w_pdfjs_require__(77).IteratorPrototype;
-var create = __w_pdfjs_require__(68);
-var createPropertyDescriptor = __w_pdfjs_require__(17);
-var setToStringTag = __w_pdfjs_require__(81);
-var Iterators = __w_pdfjs_require__(82);
-var returnThis = function () {
- return this;
-};
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getPrototypeOf = __w_pdfjs_require__(78);
-var hide = __w_pdfjs_require__(27);
-var has = __w_pdfjs_require__(24);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var IS_PURE = __w_pdfjs_require__(33);
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-var returnThis = function () {
- return this;
-};
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-if ([].keys) {
- arrayIterator = [].keys();
- if (!('next' in arrayIterator))
-  BUGGY_SAFARI_ITERATORS = true;
- else {
-  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
-  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
-   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-if (IteratorPrototype == undefined)
- IteratorPrototype = {};
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR))
- hide(IteratorPrototype, ITERATOR, returnThis);
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(24);
-var toObject = __w_pdfjs_require__(79);
-var sharedKey = __w_pdfjs_require__(37);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(80);
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO))
-  return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-  return O.constructor.prototype;
- }
- return O instanceof Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var requireObjectCoercible = __w_pdfjs_require__(21);
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineProperty = __w_pdfjs_require__(28).f;
-var has = __w_pdfjs_require__(24);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-  defineProperty(it, TO_STRING_TAG, {
-   configurable: true,
-   value: TAG
-  });
- }
-};
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var aPossiblePrototype = __w_pdfjs_require__(84);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
-  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-  setter.call(test, []);
-  CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
-  anObject(O);
-  aPossiblePrototype(proto);
-  if (CORRECT_SETTER)
-   setter.call(O, proto);
-  else
-   O.__proto__ = proto;
-  return O;
- };
-}() : undefined);
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
-  throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
- return it;
-};
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var from = __w_pdfjs_require__(86);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(92);
-var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
-});
-$({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
-}, { from: from });
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var bind = __w_pdfjs_require__(59);
-var toObject = __w_pdfjs_require__(79);
-var callWithSafeIterationClosing = __w_pdfjs_require__(87);
-var isArrayIteratorMethod = __w_pdfjs_require__(88);
-var toLength = __w_pdfjs_require__(47);
-var createProperty = __w_pdfjs_require__(89);
-var getIteratorMethod = __w_pdfjs_require__(90);
-module.exports = function from(arrayLike) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var index = 0;
- var iteratorMethod = getIteratorMethod(O);
- var length, result, step, iterator;
- if (mapping)
-  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
-  iterator = iteratorMethod.call(O);
-  result = new C();
-  for (; !(step = iterator.next()).done; index++) {
-   createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [
-    step.value,
-    index
-   ], true) : step.value);
-  }
- } else {
-  length = toLength(O.length);
-  result = new C(length);
-  for (; length > index; index++) {
-   createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
-  }
- }
- result.length = index;
- return result;
-};
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
-  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- } catch (error) {
-  var returnMethod = iterator['return'];
-  if (returnMethod !== undefined)
-   anObject(returnMethod.call(iterator));
-  throw error;
- }
-};
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var Iterators = __w_pdfjs_require__(82);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toPrimitive = __w_pdfjs_require__(22);
-var definePropertyModule = __w_pdfjs_require__(28);
-var createPropertyDescriptor = __w_pdfjs_require__(17);
-module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object)
-  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
-  object[propertyKey] = value;
-};
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(91);
-var Iterators = __w_pdfjs_require__(82);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (it != undefined)
-  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classofRaw = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
-}()) == 'Arguments';
-var tryGet = function (it, key) {
- try {
-  return it[key];
- } catch (error) {
- }
-};
-module.exports = function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), 
TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' 
&& typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-try {
- var called = 0;
- var iteratorWithReturn = {
-  next: function () {
-   return { done: !!called++ };
-  },
-  'return': function () {
-   SAFE_CLOSING = true;
-  }
- };
- iteratorWithReturn[ITERATOR] = function () {
-  return this;
- };
- Array.from(iteratorWithReturn, function () {
-  throw 2;
- });
-} catch (error) {
-}
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING)
-  return false;
- var ITERATION_SUPPORT = false;
- try {
-  var object = {};
-  object[ITERATOR] = function () {
-   return {
-    next: function () {
-     return { done: ITERATION_SUPPORT = true };
-    }
-   };
-  };
-  exec(object);
- } catch (error) {
- }
- return ITERATION_SUPPORT;
-};
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(94);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Object.assign;
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var assign = __w_pdfjs_require__(95);
-$({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
-}, { assign: assign });
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var fails = __w_pdfjs_require__(15);
-var objectKeys = __w_pdfjs_require__(70);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
-var propertyIsEnumerableModule = __w_pdfjs_require__(16);
-var toObject = __w_pdfjs_require__(79);
-var IndexedObject = __w_pdfjs_require__(19);
-var nativeAssign = Object.assign;
-module.exports = !nativeAssign || fails(function () {
- var A = {};
- var B = {};
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
-  B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-}) ? function assign(target, source) {
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
- while (argumentsLength > index) {
-  var S = IndexedObject(arguments[index++]);
-  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-  var length = keys.length;
-  var j = 0;
-  var key;
-  while (length > j) {
-   key = keys[j++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
-    T[key] = S[key];
-  }
- }
- return T;
-} : nativeAssign;
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(97);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Math.log2;
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var log = Math.log;
-var LN2 = Math.LN2;
-$({
- target: 'Math',
- stat: true
-}, {
- log2: function log2(x) {
-  return log(x) / LN2;
- }
-});
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(99);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Number.isNaN;
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-$({
- target: 'Number',
- stat: true
-}, {
- isNaN: function isNaN(number) {
-  return number != number;
- }
-});
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(101);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Number.isInteger;
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var isInteger = __w_pdfjs_require__(102);
-$({
- target: 'Number',
- stat: true
-}, { isInteger: isInteger });
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-var floor = Math.floor;
-module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(104);
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(106);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(123);
-__w_pdfjs_require__(124);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Promise;
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(30);
-var toString = __w_pdfjs_require__(105);
-var ObjectPrototype = Object.prototype;
-if (toString !== ObjectPrototype.toString) {
- redefine(ObjectPrototype, 'toString', toString, { unsafe: true });
-}
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var classof = __w_pdfjs_require__(91);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) !== '[object z]' ? function toString() {
- return '[object ' + classof(this) + ']';
-} : test.toString;
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var DOMIterables = __w_pdfjs_require__(107);
-var ArrayIteratorMethods = __w_pdfjs_require__(108);
-var hide = __w_pdfjs_require__(27);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var ITERATOR = wellKnownSymbol('iterator');
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var ArrayValues = ArrayIteratorMethods.values;
-for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
-  if (CollectionPrototype[ITERATOR] !== ArrayValues)
-   try {
-    hide(CollectionPrototype, ITERATOR, ArrayValues);
-   } catch (error) {
-    CollectionPrototype[ITERATOR] = ArrayValues;
-   }
-  if (!CollectionPrototype[TO_STRING_TAG])
-   hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
-  if (DOMIterables[COLLECTION_NAME])
-   for (var METHOD_NAME in ArrayIteratorMethods) {
-    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
-     try {
-      hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
-     } catch (error) {
-      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
-     }
-   }
- }
-}
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports) {
-
-module.exports = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
-};
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toIndexedObject = __w_pdfjs_require__(18);
-var addToUnscopables = __w_pdfjs_require__(67);
-var Iterators = __w_pdfjs_require__(82);
-var InternalStateModule = __w_pdfjs_require__(35);
-var defineIterator = __w_pdfjs_require__(75);
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
-module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
-  type: ARRAY_ITERATOR,
-  target: toIndexedObject(iterated),
-  index: 0,
-  kind: kind
- });
-}, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
-  state.target = undefined;
-  return {
-   value: undefined,
-   done: true
-  };
- }
- if (kind == 'keys')
-  return {
-   value: index,
-   done: false
-  };
- if (kind == 'values')
-  return {
-   value: target[index],
-   done: false
-  };
- return {
-  value: [
-   index,
-   target[index]
-  ],
-  done: false
- };
-}, 'values');
-Iterators.Arguments = Iterators.Array;
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var IS_PURE = __w_pdfjs_require__(33);
-var global = __w_pdfjs_require__(12);
-var path = __w_pdfjs_require__(43);
-var NativePromise = __w_pdfjs_require__(110);
-var redefine = __w_pdfjs_require__(30);
-var redefineAll = __w_pdfjs_require__(111);
-var setToStringTag = __w_pdfjs_require__(81);
-var setSpecies = __w_pdfjs_require__(112);
-var isObject = __w_pdfjs_require__(23);
-var aFunction = __w_pdfjs_require__(60);
-var anInstance = __w_pdfjs_require__(113);
-var classof = __w_pdfjs_require__(20);
-var iterate = __w_pdfjs_require__(114);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(92);
-var speciesConstructor = __w_pdfjs_require__(115);
-var task = __w_pdfjs_require__(116).set;
-var microtask = __w_pdfjs_require__(117);
-var promiseResolve = __w_pdfjs_require__(119);
-var hostReportErrors = __w_pdfjs_require__(121);
-var newPromiseCapabilityModule = __w_pdfjs_require__(120);
-var perform = __w_pdfjs_require__(122);
-var userAgent = __w_pdfjs_require__(118);
-var InternalStateModule = __w_pdfjs_require__(35);
-var isForced = __w_pdfjs_require__(52);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var SPECIES = wellKnownSymbol('species');
-var PROMISE = 'Promise';
-var getInternalState = InternalStateModule.get;
-var setInternalState = InternalStateModule.set;
-var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
-var PromiseConstructor = NativePromise;
-var TypeError = global.TypeError;
-var document = global.document;
-var process = global.process;
-var $fetch = global.fetch;
-var versions = process && process.versions;
-var v8 = versions && versions.v8 || '';
-var newPromiseCapability = newPromiseCapabilityModule.f;
-var newGenericPromiseCapability = newPromiseCapability;
-var IS_NODE = classof(process) == 'process';
-var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
-var UNHANDLED_REJECTION = 'unhandledrejection';
-var REJECTION_HANDLED = 'rejectionhandled';
-var PENDING = 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-var HANDLED = 1;
-var UNHANDLED = 2;
-var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
-var FORCED = isForced(PROMISE, function () {
- var promise = PromiseConstructor.resolve(1);
- var empty = function () {
- };
- var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {
-  exec(empty, empty);
- };
- return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && 
promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === 
-1);
-});
-var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- });
-});
-var isThenable = function (it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, state, isReject) {
- if (state.notified)
-  return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
-  var value = state.value;
-  var ok = state.state == FULFILLED;
-  var index = 0;
-  while (chain.length > index) {
-   var reaction = chain[index++];
-   var handler = ok ? reaction.ok : reaction.fail;
-   var resolve = reaction.resolve;
-   var reject = reaction.reject;
-   var domain = reaction.domain;
-   var result, then, exited;
-   try {
-    if (handler) {
-     if (!ok) {
-      if (state.rejection === UNHANDLED)
-       onHandleUnhandled(promise, state);
-      state.rejection = HANDLED;
-     }
-     if (handler === true)
-      result = value;
-     else {
-      if (domain)
-       domain.enter();
-      result = handler(value);
-      if (domain) {
-       domain.exit();
-       exited = true;
-      }
-     }
-     if (result === reaction.promise) {
-      reject(TypeError('Promise-chain cycle'));
-     } else if (then = isThenable(result)) {
-      then.call(result, resolve, reject);
-     } else
-      resolve(result);
-    } else
-     reject(value);
-   } catch (error) {
-    if (domain && !exited)
-     domain.exit();
-    reject(error);
-   }
-  }
-  state.reactions = [];
-  state.notified = false;
-  if (isReject && !state.rejection)
-   onUnhandled(promise, state);
- });
-};
-var dispatchEvent = function (name, promise, reason) {
- var event, handler;
- if (DISPATCH_EVENT) {
-  event = document.createEvent('Event');
-  event.promise = promise;
-  event.reason = reason;
-  event.initEvent(name, false, true);
-  global.dispatchEvent(event);
- } else
-  event = {
-   promise: promise,
-   reason: reason
-  };
- if (handler = global['on' + name])
-  handler(event);
- else if (name === UNHANDLED_REJECTION)
-  hostReportErrors('Unhandled promise rejection', reason);
-};
-var onUnhandled = function (promise, state) {
- task.call(global, function () {
-  var value = state.value;
-  var IS_UNHANDLED = isUnhandled(state);
-  var result;
-  if (IS_UNHANDLED) {
-   result = perform(function () {
-    if (IS_NODE) {
-     process.emit('unhandledRejection', value, promise);
-    } else
-     dispatchEvent(UNHANDLED_REJECTION, promise, value);
-   });
-   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
-   if (result.error)
-    throw result.value;
-  }
- });
-};
-var isUnhandled = function (state) {
- return state.rejection !== HANDLED && !state.parent;
-};
-var onHandleUnhandled = function (promise, state) {
- task.call(global, function () {
-  if (IS_NODE) {
-   process.emit('rejectionHandled', promise);
-  } else
-   dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
-};
-var bind = function (fn, promise, state, unwrap) {
- return function (value) {
-  fn(promise, state, value, unwrap);
- };
-};
-var internalReject = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
-};
-var internalResolve = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- try {
-  if (promise === value)
-   throw TypeError("Promise can't be resolved itself");
-  var then = isThenable(value);
-  if (then) {
-   microtask(function () {
-    var wrapper = { done: false };
-    try {
-     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, 
state));
-    } catch (error) {
-     internalReject(promise, wrapper, error, state);
-    }
-   });
-  } else {
-   state.value = value;
-   state.state = FULFILLED;
-   notify(promise, state, false);
-  }
- } catch (error) {
-  internalReject(promise, { done: false }, error, state);
- }
-};
-if (FORCED) {
- PromiseConstructor = function Promise(executor) {
-  anInstance(this, PromiseConstructor, PROMISE);
-  aFunction(executor);
-  Internal.call(this);
-  var state = getInternalState(this);
-  try {
-   executor(bind(internalResolve, this, state), bind(internalReject, this, state));
-  } catch (error) {
-   internalReject(this, state, error);
-  }
- };
- Internal = function Promise(executor) {
-  setInternalState(this, {
-   type: PROMISE,
-   done: false,
-   notified: false,
-   parent: false,
-   reactions: [],
-   rejection: false,
-   state: PENDING,
-   value: undefined
-  });
- };
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
-  then: function then(onFulfilled, onRejected) {
-   var state = getInternalPromiseState(this);
-   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
-   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-   reaction.fail = typeof onRejected == 'function' && onRejected;
-   reaction.domain = IS_NODE ? process.domain : undefined;
-   state.parent = true;
-   state.reactions.push(reaction);
-   if (state.state != PENDING)
-    notify(this, state, false);
-   return reaction.promise;
-  },
-  'catch': function (onRejected) {
-   return this.then(undefined, onRejected);
-  }
- });
- OwnPromiseCapability = function () {
-  var promise = new Internal();
-  var state = getInternalState(promise);
-  this.promise = promise;
-  this.resolve = bind(internalResolve, promise, state);
-  this.reject = bind(internalReject, promise, state);
- };
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : 
newGenericPromiseCapability(C);
- };
- if (!IS_PURE && typeof NativePromise == 'function') {
-  nativeThen = NativePromise.prototype.then;
-  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
-   var that = this;
-   return new PromiseConstructor(function (resolve, reject) {
-    nativeThen.call(that, resolve, reject);
-   }).then(onFulfilled, onRejected);
-  });
-  if (typeof $fetch == 'function')
-   $({
-    global: true,
-    enumerable: true,
-    forced: true
-   }, {
-    fetch: function fetch(input) {
-     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
-    }
-   });
- }
-}
-$({
- global: true,
- wrap: true,
- forced: FORCED
-}, { Promise: PromiseConstructor });
-setToStringTag(PromiseConstructor, PROMISE, false, true);
-setSpecies(PROMISE);
-PromiseWrapper = path[PROMISE];
-$({
- target: PROMISE,
- stat: true,
- forced: FORCED
-}, {
- reject: function reject(r) {
-  var capability = newPromiseCapability(this);
-  capability.reject.call(undefined, r);
-  return capability.promise;
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
-}, {
- resolve: function resolve(x) {
-  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
-}, {
- all: function all(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    $promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = value;
-     --remaining || resolve(values);
-    }, reject);
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- },
- race: function race(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   iterate(iterable, function (promise) {
-    $promiseResolve.call(C, promise).then(capability.resolve, reject);
-   });
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-module.exports = global.Promise;
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(30);
-module.exports = function (target, src, options) {
- for (var key in src)
-  redefine(target, key, src[key], options);
- return target;
-};
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(42);
-var definePropertyModule = __w_pdfjs_require__(28);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
-  defineProperty(Constructor, SPECIES, {
-   configurable: true,
-   get: function () {
-    return this;
-   }
-  });
- }
-};
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
-  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
- return it;
-};
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var isArrayIteratorMethod = __w_pdfjs_require__(88);
-var toLength = __w_pdfjs_require__(47);
-var bind = __w_pdfjs_require__(59);
-var getIteratorMethod = __w_pdfjs_require__(90);
-var callWithSafeIterationClosing = __w_pdfjs_require__(87);
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, step;
- if (IS_ITERATOR) {
-  iterator = iterable;
- } else {
-  iterFn = getIteratorMethod(iterable);
-  if (typeof iterFn != 'function')
-   throw TypeError('Target is not iterable');
-  if (isArrayIteratorMethod(iterFn)) {
-   for (index = 0, length = toLength(iterable.length); length > index; index++) {
-    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : 
boundFunction(iterable[index]);
-    if (result && result instanceof Result)
-     return result;
-   }
-   return new Result(false);
-  }
-  iterator = iterFn.call(iterable);
- }
- while (!(step = iterator.next()).done) {
-  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
-  if (result && result instanceof Result)
-   return result;
- }
- return new Result(false);
-};
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var aFunction = __w_pdfjs_require__(60);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
-};
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var fails = __w_pdfjs_require__(15);
-var classof = __w_pdfjs_require__(20);
-var bind = __w_pdfjs_require__(59);
-var html = __w_pdfjs_require__(71);
-var createElement = __w_pdfjs_require__(26);
-var location = global.location;
-var set = global.setImmediate;
-var clear = global.clearImmediate;
-var process = global.process;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function (id) {
- if (queue.hasOwnProperty(id)) {
-  var fn = queue[id];
-  delete queue[id];
-  fn();
- }
-};
-var runner = function (id) {
- return function () {
-  run(id);
- };
-};
-var listener = function (event) {
- run(event.data);
-};
-var post = function (id) {
- global.postMessage(id + '', location.protocol + '//' + location.host);
-};
-if (!set || !clear) {
- set = function setImmediate(fn) {
-  var args = [];
-  var i = 1;
-  while (arguments.length > i)
-   args.push(arguments[i++]);
-  queue[++counter] = function () {
-   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
-  };
-  defer(counter);
-  return counter;
- };
- clear = function clearImmediate(id) {
-  delete queue[id];
- };
- if (classof(process) == 'process') {
-  defer = function (id) {
-   process.nextTick(runner(id));
-  };
- } else if (Dispatch && Dispatch.now) {
-  defer = function (id) {
-   Dispatch.now(runner(id));
-  };
- } else if (MessageChannel) {
-  channel = new MessageChannel();
-  port = channel.port2;
-  channel.port1.onmessage = listener;
-  defer = bind(port.postMessage, port, 1);
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && 
!fails(post)) {
-  defer = post;
-  global.addEventListener('message', listener, false);
- } else if (ONREADYSTATECHANGE in createElement('script')) {
-  defer = function (id) {
-   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
-    html.removeChild(this);
-    run(id);
-   };
-  };
- } else {
-  defer = function (id) {
-   setTimeout(runner(id), 0);
-  };
- }
-}
-module.exports = {
- set: set,
- clear: clear
-};
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(13).f;
-var classof = __w_pdfjs_require__(20);
-var macrotask = __w_pdfjs_require__(116).set;
-var userAgent = __w_pdfjs_require__(118);
-var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var IS_NODE = classof(process) == 'process';
-var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
-var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
-var flush, head, last, notify, toggle, node, promise, then;
-if (!queueMicrotask) {
- flush = function () {
-  var parent, fn;
-  if (IS_NODE && (parent = process.domain))
-   parent.exit();
-  while (head) {
-   fn = head.fn;
-   head = head.next;
-   try {
-    fn();
-   } catch (error) {
-    if (head)
-     notify();
-    else
-     last = undefined;
-    throw error;
-   }
-  }
-  last = undefined;
-  if (parent)
-   parent.enter();
- };
- if (IS_NODE) {
-  notify = function () {
-   process.nextTick(flush);
-  };
- } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {
-  toggle = true;
-  node = document.createTextNode('');
-  new MutationObserver(flush).observe(node, { characterData: true });
-  notify = function () {
-   node.data = toggle = !toggle;
-  };
- } else if (Promise && Promise.resolve) {
-  promise = Promise.resolve(undefined);
-  then = promise.then;
-  notify = function () {
-   then.call(promise, flush);
-  };
- } else {
-  notify = function () {
-   macrotask.call(global, flush);
-  };
- }
-}
-module.exports = queueMicrotask || function (fn) {
- var task = {
-  fn: fn,
-  next: undefined
- };
- if (last)
-  last.next = task;
- if (!head) {
-  head = task;
-  notify();
- }
- last = task;
-};
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(42);
-module.exports = getBuiltIn('navigator', 'userAgent') || '';
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var isObject = __w_pdfjs_require__(23);
-var newPromiseCapability = __w_pdfjs_require__(120);
-module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C)
-  return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
-};
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var aFunction = __w_pdfjs_require__(60);
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
-  if (resolve !== undefined || reject !== undefined)
-   throw TypeError('Bad Promise constructor');
-  resolve = $$resolve;
-  reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
-};
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-module.exports = function (a, b) {
- var console = global.console;
- if (console && console.error) {
-  arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
-};
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return {
-   error: false,
-   value: exec()
-  };
- } catch (error) {
-  return {
-   error: true,
-   value: error
-  };
- }
-};
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var aFunction = __w_pdfjs_require__(60);
-var newPromiseCapabilityModule = __w_pdfjs_require__(120);
-var perform = __w_pdfjs_require__(122);
-var iterate = __w_pdfjs_require__(114);
-$({
- target: 'Promise',
- stat: true
-}, {
- allSettled: function allSettled(iterable) {
-  var C = this;
-  var capability = newPromiseCapabilityModule.f(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'fulfilled',
-      value: value
-     };
-     --remaining || resolve(values);
-    }, function (e) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'rejected',
-      reason: e
-     };
-     --remaining || resolve(values);
-    });
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var IS_PURE = __w_pdfjs_require__(33);
-var NativePromise = __w_pdfjs_require__(110);
-var getBuiltIn = __w_pdfjs_require__(42);
-var speciesConstructor = __w_pdfjs_require__(115);
-var promiseResolve = __w_pdfjs_require__(119);
-var redefine = __w_pdfjs_require__(30);
-$({
- target: 'Promise',
- proto: true,
- real: true
-}, {
- 'finally': function (onFinally) {
-  var C = speciesConstructor(this, getBuiltIn('Promise'));
-  var isFunction = typeof onFinally == 'function';
-  return this.then(isFunction ? function (x) {
-   return promiseResolve(C, onFinally()).then(function () {
-    return x;
-   });
-  } : onFinally, isFunction ? function (e) {
-   return promiseResolve(C, onFinally()).then(function () {
-    throw e;
-   });
-  } : onFinally);
- }
-});
-if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
- redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
-}
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(126);
-__w_pdfjs_require__(131);
-__w_pdfjs_require__(129);
-var path = __w_pdfjs_require__(43);
-module.exports = path.URL;
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(73);
-var $ = __w_pdfjs_require__(11);
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var USE_NATIVE_URL = __w_pdfjs_require__(127);
-var global = __w_pdfjs_require__(12);
-var defineProperties = __w_pdfjs_require__(69);
-var redefine = __w_pdfjs_require__(30);
-var anInstance = __w_pdfjs_require__(113);
-var has = __w_pdfjs_require__(24);
-var assign = __w_pdfjs_require__(95);
-var arrayFrom = __w_pdfjs_require__(86);
-var codeAt = __w_pdfjs_require__(74).codeAt;
-var toASCII = __w_pdfjs_require__(128);
-var setToStringTag = __w_pdfjs_require__(81);
-var URLSearchParamsModule = __w_pdfjs_require__(129);
-var InternalStateModule = __w_pdfjs_require__(35);
-var NativeURL = global.URL;
-var URLSearchParams = URLSearchParamsModule.URLSearchParams;
-var getInternalSearchParamsState = URLSearchParamsModule.getState;
-var setInternalState = InternalStateModule.set;
-var getInternalURLState = InternalStateModule.getterFor('URL');
-var floor = Math.floor;
-var pow = Math.pow;
-var INVALID_AUTHORITY = 'Invalid authority';
-var INVALID_SCHEME = 'Invalid scheme';
-var INVALID_HOST = 'Invalid host';
-var INVALID_PORT = 'Invalid port';
-var ALPHA = /[A-Za-z]/;
-var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
-var DIGIT = /\d/;
-var HEX_START = /^(0x|0X)/;
-var OCT = /^[0-7]+$/;
-var DEC = /^\d+$/;
-var HEX = /^[\dA-Fa-f]+$/;
-var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
-var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
-var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
-var EOF;
-var parseHost = function (url, input) {
- var result, codePoints, index;
- if (input.charAt(0) == '[') {
-  if (input.charAt(input.length - 1) != ']')
-   return INVALID_HOST;
-  result = parseIPv6(input.slice(1, -1));
-  if (!result)
-   return INVALID_HOST;
-  url.host = result;
- } else if (!isSpecial(url)) {
-  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
-   return INVALID_HOST;
-  result = '';
-  codePoints = arrayFrom(input);
-  for (index = 0; index < codePoints.length; index++) {
-   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
-  }
-  url.host = result;
- } else {
-  input = toASCII(input);
-  if (FORBIDDEN_HOST_CODE_POINT.test(input))
-   return INVALID_HOST;
-  result = parseIPv4(input);
-  if (result === null)
-   return INVALID_HOST;
-  url.host = result;
- }
-};
-var parseIPv4 = function (input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
- if (parts.length && parts[parts.length - 1] == '') {
-  parts.pop();
- }
- partsLength = parts.length;
- if (partsLength > 4)
-  return input;
- numbers = [];
- for (index = 0; index < partsLength; index++) {
-  part = parts[index];
-  if (part == '')
-   return input;
-  radix = 10;
-  if (part.length > 1 && part.charAt(0) == '0') {
-   radix = HEX_START.test(part) ? 16 : 8;
-   part = part.slice(radix == 8 ? 1 : 2);
-  }
-  if (part === '') {
-   number = 0;
-  } else {
-   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
-    return input;
-   number = parseInt(part, radix);
-  }
-  numbers.push(number);
- }
- for (index = 0; index < partsLength; index++) {
-  number = numbers[index];
-  if (index == partsLength - 1) {
-   if (number >= pow(256, 5 - partsLength))
-    return null;
-  } else if (number > 255)
-   return null;
- }
- ipv4 = numbers.pop();
- for (index = 0; index < numbers.length; index++) {
-  ipv4 += numbers[index] * pow(256, 3 - index);
- }
- return ipv4;
-};
-var parseIPv6 = function (input) {
- var address = [
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0
- ];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
- var char = function () {
-  return input.charAt(pointer);
- };
- if (char() == ':') {
-  if (input.charAt(1) != ':')
-   return;
-  pointer += 2;
-  pieceIndex++;
-  compress = pieceIndex;
- }
- while (char()) {
-  if (pieceIndex == 8)
-   return;
-  if (char() == ':') {
-   if (compress !== null)
-    return;
-   pointer++;
-   pieceIndex++;
-   compress = pieceIndex;
-   continue;
-  }
-  value = length = 0;
-  while (length < 4 && HEX.test(char())) {
-   value = value * 16 + parseInt(char(), 16);
-   pointer++;
-   length++;
-  }
-  if (char() == '.') {
-   if (length == 0)
-    return;
-   pointer -= length;
-   if (pieceIndex > 6)
-    return;
-   numbersSeen = 0;
-   while (char()) {
-    ipv4Piece = null;
-    if (numbersSeen > 0) {
-     if (char() == '.' && numbersSeen < 4)
-      pointer++;
-     else
-      return;
-    }
-    if (!DIGIT.test(char()))
-     return;
-    while (DIGIT.test(char())) {
-     number = parseInt(char(), 10);
-     if (ipv4Piece === null)
-      ipv4Piece = number;
-     else if (ipv4Piece == 0)
-      return;
-     else
-      ipv4Piece = ipv4Piece * 10 + number;
-     if (ipv4Piece > 255)
-      return;
-     pointer++;
-    }
-    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
-    numbersSeen++;
-    if (numbersSeen == 2 || numbersSeen == 4)
-     pieceIndex++;
-   }
-   if (numbersSeen != 4)
-    return;
-   break;
-  } else if (char() == ':') {
-   pointer++;
-   if (!char())
-    return;
-  } else if (char())
-   return;
-  address[pieceIndex++] = value;
- }
- if (compress !== null) {
-  swaps = pieceIndex - compress;
-  pieceIndex = 7;
-  while (pieceIndex != 0 && swaps > 0) {
-   swap = address[pieceIndex];
-   address[pieceIndex--] = address[compress + swaps - 1];
-   address[compress + --swaps] = swap;
-  }
- } else if (pieceIndex != 8)
-  return;
- return address;
-};
-var findLongestZeroSequence = function (ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
- for (; index < 8; index++) {
-  if (ipv6[index] !== 0) {
-   if (currLength > maxLength) {
-    maxIndex = currStart;
-    maxLength = currLength;
-   }
-   currStart = null;
-   currLength = 0;
-  } else {
-   if (currStart === null)
-    currStart = index;
-   ++currLength;
-  }
- }
- if (currLength > maxLength) {
-  maxIndex = currStart;
-  maxLength = currLength;
- }
- return maxIndex;
-};
-var serializeHost = function (host) {
- var result, index, compress, ignore0;
- if (typeof host == 'number') {
-  result = [];
-  for (index = 0; index < 4; index++) {
-   result.unshift(host % 256);
-   host = floor(host / 256);
-  }
-  return result.join('.');
- } else if (typeof host == 'object') {
-  result = '';
-  compress = findLongestZeroSequence(host);
-  for (index = 0; index < 8; index++) {
-   if (ignore0 && host[index] === 0)
-    continue;
-   if (ignore0)
-    ignore0 = false;
-   if (compress === index) {
-    result += index ? ':' : '::';
-    ignore0 = true;
-   } else {
-    result += host[index].toString(16);
-    if (index < 7)
-     result += ':';
-   }
-  }
-  return '[' + result + ']';
- }
- return host;
-};
-var C0ControlPercentEncodeSet = {};
-var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
-});
-var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
-});
-var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
-});
-var percentEncode = function (char, set) {
- var code = codeAt(char, 0);
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
-};
-var specialSchemes = {
- ftp: 21,
- file: null,
- gopher: 70,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-var isSpecial = function (url) {
- return has(specialSchemes, url.scheme);
-};
-var includesCredentials = function (url) {
- return url.username != '' || url.password != '';
-};
-var cannotHaveUsernamePasswordPort = function (url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
-};
-var isWindowsDriveLetter = function (string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || 
!normalized && second == '|');
-};
-var startsWithWindowsDriveLetter = function (string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = 
string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
-};
-var shortenURLsPath = function (url) {
- var path = url.path;
- var pathSize = path.length;
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
-  path.pop();
- }
-};
-var isSingleDot = function (segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
-};
-var isDoubleDot = function (segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
-};
-var SCHEME_START = {};
-var SCHEME = {};
-var NO_SCHEME = {};
-var SPECIAL_RELATIVE_OR_AUTHORITY = {};
-var PATH_OR_AUTHORITY = {};
-var RELATIVE = {};
-var RELATIVE_SLASH = {};
-var SPECIAL_AUTHORITY_SLASHES = {};
-var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
-var AUTHORITY = {};
-var HOST = {};
-var HOSTNAME = {};
-var PORT = {};
-var FILE = {};
-var FILE_SLASH = {};
-var FILE_HOST = {};
-var PATH_START = {};
-var PATH = {};
-var CANNOT_BE_A_BASE_URL_PATH = {};
-var QUERY = {};
-var FRAGMENT = {};
-var parseURL = function (url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
- var codePoints, char, bufferCodePoints, failure;
- if (!stateOverride) {
-  url.scheme = '';
-  url.username = '';
-  url.password = '';
-  url.host = null;
-  url.port = null;
-  url.path = [];
-  url.query = null;
-  url.fragment = null;
-  url.cannotBeABaseURL = false;
-  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
- while (pointer <= codePoints.length) {
-  char = codePoints[pointer];
-  switch (state) {
-  case SCHEME_START:
-   if (char && ALPHA.test(char)) {
-    buffer += char.toLowerCase();
-    state = SCHEME;
-   } else if (!stateOverride) {
-    state = NO_SCHEME;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case SCHEME:
-   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
-    buffer += char.toLowerCase();
-   } else if (char == ':') {
-    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && 
(includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
-     return;
-    url.scheme = buffer;
-    if (stateOverride) {
-     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
-      url.port = null;
-     return;
-    }
-    buffer = '';
-    if (url.scheme == 'file') {
-     state = FILE;
-    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
-     state = SPECIAL_RELATIVE_OR_AUTHORITY;
-    } else if (isSpecial(url)) {
-     state = SPECIAL_AUTHORITY_SLASHES;
-    } else if (codePoints[pointer + 1] == '/') {
-     state = PATH_OR_AUTHORITY;
-     pointer++;
-    } else {
-     url.cannotBeABaseURL = true;
-     url.path.push('');
-     state = CANNOT_BE_A_BASE_URL_PATH;
-    }
-   } else if (!stateOverride) {
-    buffer = '';
-    state = NO_SCHEME;
-    pointer = 0;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case NO_SCHEME:
-   if (!base || base.cannotBeABaseURL && char != '#')
-    return INVALID_SCHEME;
-   if (base.cannotBeABaseURL && char == '#') {
-    url.scheme = base.scheme;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    url.cannotBeABaseURL = true;
-    state = FRAGMENT;
-    break;
-   }
-   state = base.scheme == 'file' ? FILE : RELATIVE;
-   continue;
-  case SPECIAL_RELATIVE_OR_AUTHORITY:
-   if (char == '/' && codePoints[pointer + 1] == '/') {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-    pointer++;
-   } else {
-    state = RELATIVE;
-    continue;
-   }
-   break;
-  case PATH_OR_AUTHORITY:
-   if (char == '/') {
-    state = AUTHORITY;
-    break;
-   } else {
-    state = PATH;
-    continue;
-   }
-  case RELATIVE:
-   url.scheme = base.scheme;
-   if (char == EOF) {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-   } else if (char == '/' || char == '\\' && isSpecial(url)) {
-    state = RELATIVE_SLASH;
-   } else if (char == '?') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    state = FRAGMENT;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.path.pop();
-    state = PATH;
-    continue;
-   }
-   break;
-  case RELATIVE_SLASH:
-   if (isSpecial(url) && (char == '/' || char == '\\')) {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   } else if (char == '/') {
-    state = AUTHORITY;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    state = PATH;
-    continue;
-   }
-   break;
-  case SPECIAL_AUTHORITY_SLASHES:
-   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   if (char != '/' || buffer.charAt(pointer + 1) != '/')
-    continue;
-   pointer++;
-   break;
-  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
-   if (char != '/' && char != '\\') {
-    state = AUTHORITY;
-    continue;
-   }
-   break;
-  case AUTHORITY:
-   if (char == '@') {
-    if (seenAt)
-     buffer = '%40' + buffer;
-    seenAt = true;
-    bufferCodePoints = arrayFrom(buffer);
-    for (var i = 0; i < bufferCodePoints.length; i++) {
-     var codePoint = bufferCodePoints[i];
-     if (codePoint == ':' && !seenPasswordToken) {
-      seenPasswordToken = true;
-      continue;
-     }
-     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
-     if (seenPasswordToken)
-      url.password += encodedCodePoints;
-     else
-      url.username += encodedCodePoints;
-    }
-    buffer = '';
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (seenAt && buffer == '')
-     return INVALID_AUTHORITY;
-    pointer -= arrayFrom(buffer).length + 1;
-    buffer = '';
-    state = HOST;
-   } else
-    buffer += char;
-   break;
-  case HOST:
-  case HOSTNAME:
-   if (stateOverride && url.scheme == 'file') {
-    state = FILE_HOST;
-    continue;
-   } else if (char == ':' && !seenBracket) {
-    if (buffer == '')
-     return INVALID_HOST;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PORT;
-    if (stateOverride == HOSTNAME)
-     return;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (isSpecial(url) && buffer == '')
-     return INVALID_HOST;
-    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
-     return;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PATH_START;
-    if (stateOverride)
-     return;
-    continue;
-   } else {
-    if (char == '[')
-     seenBracket = true;
-    else if (char == ']')
-     seenBracket = false;
-    buffer += char;
-   }
-   break;
-  case PORT:
-   if (DIGIT.test(char)) {
-    buffer += char;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || 
stateOverride) {
-    if (buffer != '') {
-     var port = parseInt(buffer, 10);
-     if (port > 0xFFFF)
-      return INVALID_PORT;
-     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
-     buffer = '';
-    }
-    if (stateOverride)
-     return;
-    state = PATH_START;
-    continue;
-   } else
-    return INVALID_PORT;
-   break;
-  case FILE:
-   url.scheme = 'file';
-   if (char == '/' || char == '\\')
-    state = FILE_SLASH;
-   else if (base && base.scheme == 'file') {
-    if (char == EOF) {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-    } else if (char == '?') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-     url.fragment = '';
-     state = FRAGMENT;
-    } else {
-     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-      url.host = base.host;
-      url.path = base.path.slice();
-      shortenURLsPath(url);
-     }
-     state = PATH;
-     continue;
-    }
-   } else {
-    state = PATH;
-    continue;
-   }
-   break;
-  case FILE_SLASH:
-   if (char == '/' || char == '\\') {
-    state = FILE_HOST;
-    break;
-   }
-   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-    if (isWindowsDriveLetter(base.path[0], true))
-     url.path.push(base.path[0]);
-    else
-     url.host = base.host;
-   }
-   state = PATH;
-   continue;
-  case FILE_HOST:
-   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
-    if (!stateOverride && isWindowsDriveLetter(buffer)) {
-     state = PATH;
-    } else if (buffer == '') {
-     url.host = '';
-     if (stateOverride)
-      return;
-     state = PATH_START;
-    } else {
-     failure = parseHost(url, buffer);
-     if (failure)
-      return failure;
-     if (url.host == 'localhost')
-      url.host = '';
-     if (stateOverride)
-      return;
-     buffer = '';
-     state = PATH_START;
-    }
-    continue;
-   } else
-    buffer += char;
-   break;
-  case PATH_START:
-   if (isSpecial(url)) {
-    state = PATH;
-    if (char != '/' && char != '\\')
-     continue;
-   } else if (!stateOverride && char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    state = PATH;
-    if (char != '/')
-     continue;
-   }
-   break;
-  case PATH:
-   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || 
char == '#')) {
-    if (isDoubleDot(buffer)) {
-     shortenURLsPath(url);
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else if (isSingleDot(buffer)) {
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else {
-     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
-      if (url.host)
-       url.host = '';
-      buffer = buffer.charAt(0) + ':';
-     }
-     url.path.push(buffer);
-    }
-    buffer = '';
-    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
-     while (url.path.length > 1 && url.path[0] === '') {
-      url.path.shift();
-     }
-    }
-    if (char == '?') {
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.fragment = '';
-     state = FRAGMENT;
-    }
-   } else {
-    buffer += percentEncode(char, pathPercentEncodeSet);
-   }
-   break;
-  case CANNOT_BE_A_BASE_URL_PATH:
-   if (char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case QUERY:
-   if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    if (char == "'" && isSpecial(url))
-     url.query += '%27';
-    else if (char == '#')
-     url.query += '%23';
-    else
-     url.query += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case FRAGMENT:
-   if (char != EOF)
-    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
-   break;
-  }
-  pointer++;
- }
-};
-var URLConstructor = function URL(url) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState(that, { type: 'URL' });
- var baseState, failure;
- if (base !== undefined) {
-  if (base instanceof URLConstructor)
-   baseState = getInternalURLState(base);
-  else {
-   failure = parseURL(baseState = {}, String(base));
-   if (failure)
-    throw TypeError(failure);
-  }
- }
- failure = parseURL(state, urlString, null, baseState);
- if (failure)
-  throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
- searchParamsState.updateURL = function () {
-  state.query = String(searchParams) || null;
- };
- if (!DESCRIPTORS) {
-  that.href = serializeURL.call(that);
-  that.origin = getOrigin.call(that);
-  that.protocol = getProtocol.call(that);
-  that.username = getUsername.call(that);
-  that.password = getPassword.call(that);
-  that.host = getHost.call(that);
-  that.hostname = getHostname.call(that);
-  that.port = getPort.call(that);
-  that.pathname = getPathname.call(that);
-  that.search = getSearch.call(that);
-  that.searchParams = getSearchParams.call(that);
-  that.hash = getHash.call(that);
- }
-};
-var URLPrototype = URLConstructor.prototype;
-var serializeURL = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
- if (host !== null) {
-  output += '//';
-  if (includesCredentials(url)) {
-   output += username + (password ? ':' + password : '') + '@';
-  }
-  output += serializeHost(host);
-  if (port !== null)
-   output += ':' + port;
- } else if (scheme == 'file')
-  output += '//';
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null)
-  output += '?' + query;
- if (fragment !== null)
-  output += '#' + fragment;
- return output;
-};
-var getOrigin = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob')
-  try {
-   return new URL(scheme.path[0]).origin;
-  } catch (error) {
-   return 'null';
-  }
- if (scheme == 'file' || !isSpecial(url))
-  return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
-};
-var getProtocol = function () {
- return getInternalURLState(this).scheme + ':';
-};
-var getUsername = function () {
- return getInternalURLState(this).username;
-};
-var getPassword = function () {
- return getInternalURLState(this).password;
-};
-var getHost = function () {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
-};
-var getHostname = function () {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
-};
-var getPort = function () {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
-};
-var getPathname = function () {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
-};
-var getSearch = function () {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
-};
-var getSearchParams = function () {
- return getInternalURLState(this).searchParams;
-};
-var getHash = function () {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
-};
-var accessorDescriptor = function (getter, setter) {
- return {
-  get: getter,
-  set: setter,
-  configurable: true,
-  enumerable: true
- };
-};
-if (DESCRIPTORS) {
- defineProperties(URLPrototype, {
-  href: accessorDescriptor(serializeURL, function (href) {
-   var url = getInternalURLState(this);
-   var urlString = String(href);
-   var failure = parseURL(url, urlString);
-   if (failure)
-    throw TypeError(failure);
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  origin: accessorDescriptor(getOrigin),
-  protocol: accessorDescriptor(getProtocol, function (protocol) {
-   var url = getInternalURLState(this);
-   parseURL(url, String(protocol) + ':', SCHEME_START);
-  }),
-  username: accessorDescriptor(getUsername, function (username) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(username));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.username = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  password: accessorDescriptor(getPassword, function (password) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(password));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.password = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  host: accessorDescriptor(getHost, function (host) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(host), HOST);
-  }),
-  hostname: accessorDescriptor(getHostname, function (hostname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(hostname), HOSTNAME);
-  }),
-  port: accessorDescriptor(getPort, function (port) {
-   var url = getInternalURLState(this);
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   port = String(port);
-   if (port == '')
-    url.port = null;
-   else
-    parseURL(url, port, PORT);
-  }),
-  pathname: accessorDescriptor(getPathname, function (pathname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   url.path = [];
-   parseURL(url, pathname + '', PATH_START);
-  }),
-  search: accessorDescriptor(getSearch, function (search) {
-   var url = getInternalURLState(this);
-   search = String(search);
-   if (search == '') {
-    url.query = null;
-   } else {
-    if ('?' == search.charAt(0))
-     search = search.slice(1);
-    url.query = '';
-    parseURL(url, search, QUERY);
-   }
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  searchParams: accessorDescriptor(getSearchParams),
-  hash: accessorDescriptor(getHash, function (hash) {
-   var url = getInternalURLState(this);
-   hash = String(hash);
-   if (hash == '') {
-    url.fragment = null;
-    return;
-   }
-   if ('#' == hash.charAt(0))
-    hash = hash.slice(1);
-   url.fragment = '';
-   parseURL(url, hash, FRAGMENT);
-  })
- });
-}
-redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
-}, { enumerable: true });
-redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
-}, { enumerable: true });
-if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
- if (nativeCreateObjectURL)
-  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
-   return nativeCreateObjectURL.apply(NativeURL, arguments);
-  });
- if (nativeRevokeObjectURL)
-  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
-   return nativeRevokeObjectURL.apply(NativeURL, arguments);
-  });
-}
-setToStringTag(URLConstructor, 'URL');
-$({
- global: true,
- forced: !USE_NATIVE_URL,
- sham: !DESCRIPTORS
-}, { URL: URLConstructor });
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var IS_PURE = __w_pdfjs_require__(33);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = !fails(function () {
- var url = new URL('b?e=1', 'http://a');
- var searchParams = url.searchParams;
- url.pathname = 'c%20d';
- return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || 
searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || 
new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' 
|| new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';
-});
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var maxInt = 2147483647;
-var base = 36;
-var tMin = 1;
-var tMax = 26;
-var skew = 38;
-var damp = 700;
-var initialBias = 72;
-var initialN = 128;
-var delimiter = '-';
-var regexNonASCII = /[^\0-\u007E]/;
-var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
-var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
-var baseMinusTMin = base - tMin;
-var floor = Math.floor;
-var stringFromCharCode = String.fromCharCode;
-var ucs2decode = function (string) {
- var output = [];
- var counter = 0;
- var length = string.length;
- while (counter < length) {
-  var value = string.charCodeAt(counter++);
-  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
-   var extra = string.charCodeAt(counter++);
-   if ((extra & 0xFC00) == 0xDC00) {
-    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
-   } else {
-    output.push(value);
-    counter--;
-   }
-  } else {
-   output.push(value);
-  }
- }
- return output;
-};
-var digitToBasic = function (digit) {
- return digit + 22 + 75 * (digit < 26);
-};
-var adapt = function (delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
-  delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
-};
-var encode = function (input) {
- var output = [];
- input = ucs2decode(input);
- var inputLength = input.length;
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue;
- for (i = 0; i < input.length; i++) {
-  currentValue = input[i];
-  if (currentValue < 0x80) {
-   output.push(stringFromCharCode(currentValue));
-  }
- }
- var basicLength = output.length;
- var handledCPCount = basicLength;
- if (basicLength) {
-  output.push(delimiter);
- }
- while (handledCPCount < inputLength) {
-  var m = maxInt;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue >= n && currentValue < m) {
-    m = currentValue;
-   }
-  }
-  var handledCPCountPlusOne = handledCPCount + 1;
-  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
-   throw RangeError(OVERFLOW_ERROR);
-  }
-  delta += (m - n) * handledCPCountPlusOne;
-  n = m;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue < n && ++delta > maxInt) {
-    throw RangeError(OVERFLOW_ERROR);
-   }
-   if (currentValue == n) {
-    var q = delta;
-    for (var k = base;; k += base) {
-     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
-     if (q < t)
-      break;
-     var qMinusT = q - t;
-     var baseMinusT = base - t;
-     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
-     q = floor(qMinusT / baseMinusT);
-    }
-    output.push(stringFromCharCode(digitToBasic(q)));
-    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
-    delta = 0;
-    ++handledCPCount;
-   }
-  }
-  ++delta;
-  ++n;
- }
- return output.join('');
-};
-module.exports = function (input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
- var i, label;
- for (i = 0; i < labels.length; i++) {
-  label = labels[i];
-  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
- return encoded.join('.');
-};
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(108);
-var $ = __w_pdfjs_require__(11);
-var USE_NATIVE_URL = __w_pdfjs_require__(127);
-var redefine = __w_pdfjs_require__(30);
-var redefineAll = __w_pdfjs_require__(111);
-var setToStringTag = __w_pdfjs_require__(81);
-var createIteratorConstructor = __w_pdfjs_require__(76);
-var InternalStateModule = __w_pdfjs_require__(35);
-var anInstance = __w_pdfjs_require__(113);
-var hasOwn = __w_pdfjs_require__(24);
-var bind = __w_pdfjs_require__(59);
-var anObject = __w_pdfjs_require__(29);
-var isObject = __w_pdfjs_require__(23);
-var getIterator = __w_pdfjs_require__(130);
-var getIteratorMethod = __w_pdfjs_require__(90);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var ITERATOR = wellKnownSymbol('iterator');
-var URL_SEARCH_PARAMS = 'URLSearchParams';
-var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
-var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
-var plus = /\+/g;
-var sequences = Array(4);
-var percentSequence = function (bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
-};
-var percentDecode = function (sequence) {
- try {
-  return decodeURIComponent(sequence);
- } catch (error) {
-  return sequence;
- }
-};
-var deserialize = function (it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
- try {
-  return decodeURIComponent(result);
- } catch (error) {
-  while (bytes) {
-   result = result.replace(percentSequence(bytes--), percentDecode);
-  }
-  return result;
- }
-};
-var find = /[!'()~]|%20/g;
-var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
-};
-var replacer = function (match) {
- return replace[match];
-};
-var serialize = function (it) {
- return encodeURIComponent(it).replace(find, replacer);
-};
-var parseSearchParams = function (result, query) {
- if (query) {
-  var attributes = query.split('&');
-  var index = 0;
-  var attribute, entry;
-  while (index < attributes.length) {
-   attribute = attributes[index++];
-   if (attribute.length) {
-    entry = attribute.split('=');
-    result.push({
-     key: deserialize(entry.shift()),
-     value: deserialize(entry.join('='))
-    });
-   }
-  }
- }
-};
-var updateSearchParams = function (query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
-};
-var validateArgumentsLength = function (passed, required) {
- if (passed < required)
-  throw TypeError('Not enough arguments');
-};
-var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState(this, {
-  type: URL_SEARCH_PARAMS_ITERATOR,
-  iterator: getIterator(getInternalParamsState(params).entries),
-  kind: kind
- });
-}, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
- if (!step.done) {
-  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
-   entry.key,
-   entry.value
-  ];
- }
- return step;
-});
-var URLSearchParamsConstructor = function URLSearchParams() {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, step, entryIterator, first, second, key;
- setInternalState(that, {
-  type: URL_SEARCH_PARAMS,
-  entries: entries,
-  updateURL: function () {
-  },
-  updateSearchParams: updateSearchParams
- });
- if (init !== undefined) {
-  if (isObject(init)) {
-   iteratorMethod = getIteratorMethod(init);
-   if (typeof iteratorMethod === 'function') {
-    iterator = iteratorMethod.call(init);
-    while (!(step = iterator.next()).done) {
-     entryIterator = getIterator(anObject(step.value));
-     if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || 
!entryIterator.next().done)
-      throw TypeError('Expected sequence with length 2');
-     entries.push({
-      key: first.value + '',
-      value: second.value + ''
-     });
-    }
-   } else
-    for (key in init)
-     if (hasOwn(init, key))
-      entries.push({
-       key: key,
-       value: init[key] + ''
-      });
-  } else {
-   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : 
init + '');
-  }
- }
-};
-var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
-redefineAll(URLSearchParamsPrototype, {
- append: function append(name, value) {
-  validateArgumentsLength(arguments.length, 2);
-  var state = getInternalParamsState(this);
-  state.entries.push({
-   key: name + '',
-   value: value + ''
-  });
-  state.updateURL();
- },
- 'delete': function (name) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index].key === key)
-    entries.splice(index, 1);
-   else
-    index++;
-  }
-  state.updateURL();
- },
- get: function get(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    return entries[index].value;
-  }
-  return null;
- },
- getAll: function getAll(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var result = [];
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    result.push(entries[index].value);
-  }
-  return result;
- },
- has: function has(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index++].key === key)
-    return true;
-  }
-  return false;
- },
- set: function set(name, value) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var found = false;
-  var key = name + '';
-  var val = value + '';
-  var index = 0;
-  var entry;
-  for (; index < entries.length; index++) {
-   entry = entries[index];
-   if (entry.key === key) {
-    if (found)
-     entries.splice(index--, 1);
-    else {
-     found = true;
-     entry.value = val;
-    }
-   }
-  }
-  if (!found)
-   entries.push({
-    key: key,
-    value: val
-   });
-  state.updateURL();
- },
- sort: function sort() {
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var slice = entries.slice();
-  var entry, entriesIndex, sliceIndex;
-  entries.length = 0;
-  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
-   entry = slice[sliceIndex];
-   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
-    if (entries[entriesIndex].key > entry.key) {
-     entries.splice(entriesIndex, 0, entry);
-     break;
-    }
-   }
-   if (entriesIndex === sliceIndex)
-    entries.push(entry);
-  }
-  state.updateURL();
- },
- forEach: function forEach(callback) {
-  var entries = getInternalParamsState(this).entries;
-  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
-  var index = 0;
-  var entry;
-  while (index < entries.length) {
-   entry = entries[index++];
-   boundFunction(entry.value, entry.key, this);
-  }
- },
- keys: function keys() {
-  return new URLSearchParamsIterator(this, 'keys');
- },
- values: function values() {
-  return new URLSearchParamsIterator(this, 'values');
- },
- entries: function entries() {
-  return new URLSearchParamsIterator(this, 'entries');
- }
-}, { enumerable: true });
-redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
-redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
- while (index < entries.length) {
-  entry = entries[index++];
-  result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
- return result.join('&');
-}, { enumerable: true });
-setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
-$({
- global: true,
- forced: !USE_NATIVE_URL
-}, { URLSearchParams: URLSearchParamsConstructor });
-module.exports = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
-};
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(29);
-var getIteratorMethod = __w_pdfjs_require__(90);
-module.exports = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
-  throw TypeError(String(it) + ' is not iterable');
- }
- return anObject(iteratorMethod.call(it));
-};
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-$({
- target: 'URL',
- proto: true,
- enumerable: true
-}, {
- toJSON: function toJSON() {
-  return URL.prototype.toString.call(this);
- }
-});
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(104);
-__w_pdfjs_require__(133);
-__w_pdfjs_require__(106);
-var path = __w_pdfjs_require__(43);
-module.exports = path.WeakMap;
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var global = __w_pdfjs_require__(12);
-var redefineAll = __w_pdfjs_require__(111);
-var InternalMetadataModule = __w_pdfjs_require__(134);
-var collection = __w_pdfjs_require__(136);
-var collectionWeak = __w_pdfjs_require__(138);
-var isObject = __w_pdfjs_require__(23);
-var enforceIternalState = __w_pdfjs_require__(35).enforce;
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(36);
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-var wrapper = function (get) {
- return function WeakMap() {
-  return get(this, arguments.length ? arguments[0] : undefined);
- };
-};
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
-  'delete': function (key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeDelete.call(this, key) || state.frozen['delete'](key);
-   }
-   return nativeDelete.call(this, key);
-  },
-  has: function has(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) || state.frozen.has(key);
-   }
-   return nativeHas.call(this, key);
-  },
-  get: function get(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
-   }
-   return nativeGet.call(this, key);
-  },
-  set: function set(key, value) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
-   } else
-    nativeSet.call(this, key, value);
-   return this;
-  }
- });
-}
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var hiddenKeys = __w_pdfjs_require__(39);
-var isObject = __w_pdfjs_require__(23);
-var has = __w_pdfjs_require__(24);
-var defineProperty = __w_pdfjs_require__(28).f;
-var uid = __w_pdfjs_require__(38);
-var FREEZING = __w_pdfjs_require__(135);
-var METADATA = uid('meta');
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-var setMetadata = function (it) {
- defineProperty(it, METADATA, {
-  value: {
-   objectID: 'O' + ++id,
-   weakData: {}
-  }
- });
-};
-var fastKey = function (it, create) {
- if (!isObject(it))
-  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return 'F';
-  if (!create)
-   return 'E';
-  setMetadata(it);
- }
- return it[METADATA].objectID;
-};
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return true;
-  if (!create)
-   return false;
-  setMetadata(it);
- }
- return it[METADATA].weakData;
-};
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
-  setMetadata(it);
- return it;
-};
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-hiddenKeys[METADATA] = true;
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var global = __w_pdfjs_require__(12);
-var isForced = __w_pdfjs_require__(52);
-var redefine = __w_pdfjs_require__(30);
-var InternalMetadataModule = __w_pdfjs_require__(134);
-var iterate = __w_pdfjs_require__(114);
-var anInstance = __w_pdfjs_require__(113);
-var isObject = __w_pdfjs_require__(23);
-var fails = __w_pdfjs_require__(15);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(92);
-var setToStringTag = __w_pdfjs_require__(81);
-var inheritIfRequired = __w_pdfjs_require__(137);
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var ADDER = IS_MAP ? 'set' : 'add';
- var exported = {};
- var fixMethod = function (KEY) {
-  var nativeMethod = NativePrototype[KEY];
-  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
-   nativeMethod.call(this, value === 0 ? 0 : value);
-   return this;
-  } : KEY == 'delete' ? function (key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'get' ? function get(key) {
-   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'has' ? function has(key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : function set(key, value) {
-   nativeMethod.call(this, key === 0 ? 0 : key, value);
-   return this;
-  });
- };
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || 
NativePrototype.forEach && !fails(function () {
-   new NativeConstructor().entries().next();
-  })))) {
-  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
-  InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
-  var instance = new Constructor();
-  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
-  var THROWS_ON_PRIMITIVES = fails(function () {
-   instance.has(1);
-  });
-  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
-   new NativeConstructor(iterable);
-  });
-  var BUGGY_ZERO = !IS_WEAK && fails(function () {
-   var $instance = new NativeConstructor();
-   var index = 5;
-   while (index--)
-    $instance[ADDER](index, index);
-   return !$instance.has(-0);
-  });
-  if (!ACCEPT_ITERABLES) {
-   Constructor = wrapper(function (dummy, iterable) {
-    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
-    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
-    if (iterable != undefined)
-     iterate(iterable, that[ADDER], that, IS_MAP);
-    return that;
-   });
-   Constructor.prototype = NativePrototype;
-   NativePrototype.constructor = Constructor;
-  }
-  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
-   fixMethod('delete');
-   fixMethod('has');
-   IS_MAP && fixMethod('get');
-  }
-  if (BUGGY_ZERO || HASNT_CHAINING)
-   fixMethod(ADDER);
-  if (IS_WEAK && NativePrototype.clear)
-   delete NativePrototype.clear;
- }
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
-  global: true,
-  forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK)
-  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
-};
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-var setPrototypeOf = __w_pdfjs_require__(83);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && 
isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
-  setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var redefineAll = __w_pdfjs_require__(111);
-var getWeakData = __w_pdfjs_require__(134).getWeakData;
-var anObject = __w_pdfjs_require__(29);
-var isObject = __w_pdfjs_require__(23);
-var anInstance = __w_pdfjs_require__(113);
-var iterate = __w_pdfjs_require__(114);
-var ArrayIterationModule = __w_pdfjs_require__(139);
-var $has = __w_pdfjs_require__(24);
-var InternalStateModule = __w_pdfjs_require__(35);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
-  return it[0] === key;
- });
-};
-UncaughtFrozenStore.prototype = {
- get: function (key) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   return entry[1];
- },
- has: function (key) {
-  return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   entry[1] = value;
-  else
-   this.entries.push([
-    key,
-    value
-   ]);
- },
- 'delete': function (key) {
-  var index = findIndex(this.entries, function (it) {
-   return it[0] === key;
-  });
-  if (~index)
-   this.entries.splice(index, 1);
-  return !!~index;
- }
-};
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    id: id++,
-    frozen: undefined
-   });
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var data = getWeakData(anObject(key), true);
-   if (data === true)
-    uncaughtFrozenStore(state).set(key, value);
-   else
-    data[state.id] = value;
-   return that;
-  };
-  redefineAll(C.prototype, {
-   'delete': function (key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state)['delete'](key);
-    return data && $has(data, state.id) && delete data[state.id];
-   },
-   has: function has(key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state).has(key);
-    return data && $has(data, state.id);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var state = getInternalState(this);
-    if (isObject(key)) {
-     var data = getWeakData(key);
-     if (data === true)
-      return uncaughtFrozenStore(state).get(key);
-     return data ? data[state.id] : undefined;
-    }
-   },
-   set: function set(key, value) {
-    return define(this, key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value, true);
-   }
-  });
-  return C;
- }
-};
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var bind = __w_pdfjs_require__(59);
-var IndexedObject = __w_pdfjs_require__(19);
-var toObject = __w_pdfjs_require__(79);
-var toLength = __w_pdfjs_require__(47);
-var arraySpeciesCreate = __w_pdfjs_require__(140);
-var push = [].push;
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
-  var O = toObject($this);
-  var self = IndexedObject(O);
-  var boundFunction = bind(callbackfn, that, 3);
-  var length = toLength(self.length);
-  var index = 0;
-  var create = specificCreate || arraySpeciesCreate;
-  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-  var value, result;
-  for (; length > index; index++)
-   if (NO_HOLES || index in self) {
-    value = self[index];
-    result = boundFunction(value, index, O);
-    if (TYPE) {
-     if (IS_MAP)
-      target[index] = result;
-     else if (result)
-      switch (TYPE) {
-      case 3:
-       return true;
-      case 5:
-       return value;
-      case 6:
-       return index;
-      case 2:
-       push.call(target, value);
-      }
-     else if (IS_EVERY)
-      return false;
-    }
-   }
-  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-module.exports = {
- forEach: createMethod(0),
- map: createMethod(1),
- filter: createMethod(2),
- some: createMethod(3),
- every: createMethod(4),
- find: createMethod(5),
- findIndex: createMethod(6)
-};
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(23);
-var isArray = __w_pdfjs_require__(141);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
-  C = originalArray.constructor;
-  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
-   C = undefined;
-  else if (isObject(C)) {
-   C = C[SPECIES];
-   if (C === null)
-    C = undefined;
-  }
- }
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(20);
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(104);
-__w_pdfjs_require__(143);
-__w_pdfjs_require__(106);
-var path = __w_pdfjs_require__(43);
-module.exports = path.WeakSet;
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(136);
-var collectionWeak = __w_pdfjs_require__(138);
-collection('WeakSet', function (get) {
- return function WeakSet() {
-  return get(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionWeak, false, true);
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(145);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'codePointAt');
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var codeAt = __w_pdfjs_require__(74).codeAt;
-$({
- target: 'String',
- proto: true
-}, {
- codePointAt: function codePointAt(pos) {
-  return codeAt(this, pos);
- }
-});
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(147);
-var path = __w_pdfjs_require__(43);
-module.exports = path.String.fromCodePoint;
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var toAbsoluteIndex = __w_pdfjs_require__(49);
-var fromCharCode = String.fromCharCode;
-var nativeFromCodePoint = String.fromCodePoint;
-var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-$({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
-}, {
- fromCodePoint: function fromCodePoint(x) {
-  var elements = [];
-  var length = arguments.length;
-  var i = 0;
-  var code;
-  while (length > i) {
-   code = +arguments[i++];
-   if (toAbsoluteIndex(code, 0x10FFFF) !== code)
-    throw RangeError(code + ' is not a valid code point');
-   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code 
% 0x400 + 0xDC00));
-  }
-  return elements.join('');
- }
-});
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(149);
-__w_pdfjs_require__(104);
-__w_pdfjs_require__(151);
-__w_pdfjs_require__(155);
-__w_pdfjs_require__(156);
-__w_pdfjs_require__(157);
-__w_pdfjs_require__(158);
-__w_pdfjs_require__(159);
-__w_pdfjs_require__(160);
-__w_pdfjs_require__(161);
-__w_pdfjs_require__(162);
-__w_pdfjs_require__(163);
-__w_pdfjs_require__(164);
-__w_pdfjs_require__(165);
-__w_pdfjs_require__(166);
-__w_pdfjs_require__(167);
-__w_pdfjs_require__(168);
-__w_pdfjs_require__(169);
-__w_pdfjs_require__(170);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Symbol;
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var fails = __w_pdfjs_require__(15);
-var isArray = __w_pdfjs_require__(141);
-var isObject = __w_pdfjs_require__(23);
-var toObject = __w_pdfjs_require__(79);
-var toLength = __w_pdfjs_require__(47);
-var createProperty = __w_pdfjs_require__(89);
-var arraySpeciesCreate = __w_pdfjs_require__(140);
-var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(150);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
-});
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-var isConcatSpreadable = function (O) {
- if (!isObject(O))
-  return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-$({
- target: 'Array',
- proto: true,
- forced: FORCED
-}, {
- concat: function concat(arg) {
-  var O = toObject(this);
-  var A = arraySpeciesCreate(O, 0);
-  var n = 0;
-  var i, k, length, len, E;
-  for (i = -1, length = arguments.length; i < length; i++) {
-   E = i === -1 ? O : arguments[i];
-   if (isConcatSpreadable(E)) {
-    len = toLength(E.length);
-    if (n + len > MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    for (k = 0; k < len; k++, n++)
-     if (k in E)
-      createProperty(A, n, E[k]);
-   } else {
-    if (n >= MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    createProperty(A, n++, E);
-   }
-  }
-  A.length = n;
-  return A;
- }
-});
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(15);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (METHOD_NAME) {
- return !fails(function () {
-  var array = [];
-  var constructor = array.constructor = {};
-  constructor[SPECIES] = function () {
-   return { foo: 1 };
-  };
-  return array[METHOD_NAME](Boolean).foo !== 1;
- });
-};
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var global = __w_pdfjs_require__(12);
-var IS_PURE = __w_pdfjs_require__(33);
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var NATIVE_SYMBOL = __w_pdfjs_require__(56);
-var fails = __w_pdfjs_require__(15);
-var has = __w_pdfjs_require__(24);
-var isArray = __w_pdfjs_require__(141);
-var isObject = __w_pdfjs_require__(23);
-var anObject = __w_pdfjs_require__(29);
-var toObject = __w_pdfjs_require__(79);
-var toIndexedObject = __w_pdfjs_require__(18);
-var toPrimitive = __w_pdfjs_require__(22);
-var createPropertyDescriptor = __w_pdfjs_require__(17);
-var nativeObjectCreate = __w_pdfjs_require__(68);
-var objectKeys = __w_pdfjs_require__(70);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(44);
-var getOwnPropertyNamesExternal = __w_pdfjs_require__(152);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(13);
-var definePropertyModule = __w_pdfjs_require__(28);
-var propertyIsEnumerableModule = __w_pdfjs_require__(16);
-var hide = __w_pdfjs_require__(27);
-var redefine = __w_pdfjs_require__(30);
-var shared = __w_pdfjs_require__(31);
-var sharedKey = __w_pdfjs_require__(37);
-var hiddenKeys = __w_pdfjs_require__(39);
-var uid = __w_pdfjs_require__(38);
-var wellKnownSymbol = __w_pdfjs_require__(55);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(153);
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-var setToStringTag = __w_pdfjs_require__(81);
-var InternalStateModule = __w_pdfjs_require__(35);
-var $forEach = __w_pdfjs_require__(139).forEach;
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE];
-var $Symbol = global.Symbol;
-var JSON = global.JSON;
-var nativeJSONStringify = JSON && JSON.stringify;
-var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-var nativeDefineProperty = definePropertyModule.f;
-var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore = shared('wks');
-var QObject = global.QObject;
-var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
-  get: function () {
-   return nativeDefineProperty(this, 'a', { value: 7 }).a;
-  }
- })).a != 7;
-}) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor)
-  delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
-} : nativeDefineProperty;
-var wrap = function (tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
-  type: SYMBOL,
-  tag: tag,
-  description: description
- });
- if (!DESCRIPTORS)
-  symbol.description = description;
- return symbol;
-};
-var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- return Object(it) instanceof $Symbol;
-};
-var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype)
-  $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
- if (has(AllSymbols, key)) {
-  if (!Attributes.enumerable) {
-   if (!has(O, HIDDEN))
-    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
-   O[HIDDEN][key] = true;
-  } else {
-   if (has(O, HIDDEN) && O[HIDDEN][key])
-    O[HIDDEN][key] = false;
-   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-  }
-  return setSymbolDescriptor(O, key, Attributes);
- }
- return nativeDefineProperty(O, key, Attributes);
-};
-var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
-  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
-   $defineProperty(O, key, properties[key]);
- });
- return O;
-};
-var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), 
Properties);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
-  return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? 
enumerable : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
-  return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-  descriptor.enumerable = true;
- }
- return descriptor;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (!has(AllSymbols, key) && !has(hiddenKeys, key))
-   result.push(key);
- });
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-   result.push(AllSymbols[key]);
-  }
- });
- return result;
-};
-if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
-  if (this instanceof $Symbol)
-   throw TypeError('Symbol is not a constructor');
-  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var tag = uid(description);
-  var setter = function (value) {
-   if (this === ObjectPrototype)
-    setter.call(ObjectPrototypeSymbols, value);
-   if (has(this, HIDDEN) && has(this[HIDDEN], tag))
-    this[HIDDEN][tag] = false;
-   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-  };
-  if (DESCRIPTORS && USE_SETTER)
-   setSymbolDescriptor(ObjectPrototype, tag, {
-    configurable: true,
-    set: setter
-   });
-  return wrap(tag, description);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-  return getInternalState(this).tag;
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
- if (DESCRIPTORS) {
-  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
-   configurable: true,
-   get: function description() {
-    return getInternalState(this).description;
-   }
-  });
-  if (!IS_PURE) {
-   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-  }
- }
- wrappedWellKnownSymbolModule.f = function (name) {
-  return wrap(wellKnownSymbol(name), name);
- };
-}
-$({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
-}, { Symbol: $Symbol });
-$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
-});
-$({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- 'for': function (key) {
-  var string = String(key);
-  if (has(StringToSymbolRegistry, string))
-   return StringToSymbolRegistry[string];
-  var symbol = $Symbol(string);
-  StringToSymbolRegistry[string] = symbol;
-  SymbolToStringRegistry[symbol] = string;
-  return symbol;
- },
- keyFor: function keyFor(sym) {
-  if (!isSymbol(sym))
-   throw TypeError(sym + ' is not a symbol');
-  if (has(SymbolToStringRegistry, sym))
-   return SymbolToStringRegistry[sym];
- },
- useSetter: function () {
-  USE_SETTER = true;
- },
- useSimple: function () {
-  USE_SETTER = false;
- }
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
-}, {
- create: $create,
- defineProperty: $defineProperty,
- defineProperties: $defineProperties,
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- getOwnPropertyNames: $getOwnPropertyNames,
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-$({
- target: 'Object',
- stat: true,
- forced: fails(function () {
-  getOwnPropertySymbolsModule.f(1);
- })
-}, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-  return getOwnPropertySymbolsModule.f(toObject(it));
- }
-});
-JSON && $({
- target: 'JSON',
- stat: true,
- forced: !NATIVE_SYMBOL || fails(function () {
-  var symbol = $Symbol();
-  return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || 
nativeJSONStringify(Object(symbol)) != '{}';
- })
-}, {
- stringify: function stringify(it) {
-  var args = [it];
-  var index = 1;
-  var replacer, $replacer;
-  while (arguments.length > index)
-   args.push(arguments[index++]);
-  $replacer = replacer = args[1];
-  if (!isObject(replacer) && it === undefined || isSymbol(it))
-   return;
-  if (!isArray(replacer))
-   replacer = function (key, value) {
-    if (typeof $replacer == 'function')
-     value = $replacer.call(this, key, value);
-    if (!isSymbol(value))
-     return value;
-   };
-  args[1] = replacer;
-  return nativeJSONStringify.apply(JSON, args);
- }
-});
-if (!$Symbol[PROTOTYPE][TO_PRIMITIVE])
- hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-setToStringTag($Symbol, SYMBOL);
-hiddenKeys[HIDDEN] = true;
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(18);
-var nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;
-var toString = {}.toString;
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? 
Object.getOwnPropertyNames(window) : [];
-var getWindowNames = function (it) {
- try {
-  return nativeGetOwnPropertyNames(it);
- } catch (error) {
-  return windowNames.slice();
- }
-};
-module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : 
nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-exports.f = __w_pdfjs_require__(55);
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(43);
-var has = __w_pdfjs_require__(24);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(153);
-var defineProperty = __w_pdfjs_require__(28).f;
-module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME))
-  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
-};
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('asyncIterator');
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var global = __w_pdfjs_require__(12);
-var has = __w_pdfjs_require__(24);
-var isObject = __w_pdfjs_require__(23);
-var defineProperty = __w_pdfjs_require__(28).f;
-var copyConstructorProperties = __w_pdfjs_require__(40);
-var NativeSymbol = global.Symbol;
-if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || 
NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {};
- var SymbolWrapper = function Symbol() {
-  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? 
NativeSymbol() : NativeSymbol(description);
-  if (description === '')
-   EmptyStringDescriptionStore[result] = true;
-  return result;
- };
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
-  configurable: true,
-  get: function description() {
-   var symbol = isObject(this) ? this.valueOf() : this;
-   var string = symbolToString.call(symbol);
-   if (has(EmptyStringDescriptionStore, symbol))
-    return '';
-   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-   return desc === '' ? undefined : desc;
-  }
- });
- $({
-  global: true,
-  forced: true
- }, { Symbol: SymbolWrapper });
-}
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('hasInstance');
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('isConcatSpreadable');
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('iterator');
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('match');
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('matchAll');
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('replace');
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('search');
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('species');
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('split');
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('toPrimitive');
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('toStringTag');
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(154);
-defineWellKnownSymbol('unscopables');
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var setToStringTag = __w_pdfjs_require__(81);
-setToStringTag(Math, 'Math', true);
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(12);
-var setToStringTag = __w_pdfjs_require__(81);
-setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(172);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'padStart');
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var $padStart = __w_pdfjs_require__(173).start;
-var WEBKIT_BUG = __w_pdfjs_require__(175);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padStart: function padStart(maxLength) {
-  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toLength = __w_pdfjs_require__(47);
-var repeat = __w_pdfjs_require__(174);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-var ceil = Math.ceil;
-var createMethod = function (IS_END) {
- return function ($this, maxLength, fillString) {
-  var S = String(requireObjectCoercible($this));
-  var stringLength = S.length;
-  var fillStr = fillString === undefined ? ' ' : String(fillString);
-  var intMaxLength = toLength(maxLength);
-  var fillLen, stringFiller;
-  if (intMaxLength <= stringLength || fillStr == '')
-   return S;
-  fillLen = intMaxLength - stringLength;
-  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
-  if (stringFiller.length > fillLen)
-   stringFiller = stringFiller.slice(0, fillLen);
-  return IS_END ? S + stringFiller : stringFiller + S;
- };
-};
-module.exports = {
- start: createMethod(false),
- end: createMethod(true)
-};
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toInteger = __w_pdfjs_require__(48);
-var requireObjectCoercible = __w_pdfjs_require__(21);
-module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity)
-  throw RangeError('Wrong number of repetitions');
- for (; n > 0; (n >>>= 1) && (str += str))
-  if (n & 1)
-   result += str;
- return result;
-};
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(118);
-module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(177);
-var entryUnbind = __w_pdfjs_require__(58);
-module.exports = entryUnbind('String', 'padEnd');
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(11);
-var $padEnd = __w_pdfjs_require__(173).end;
-var WEBKIT_BUG = __w_pdfjs_require__(175);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padEnd: function padEnd(maxLength) {
-  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(179);
-var path = __w_pdfjs_require__(43);
-module.exports = path.Object.values;
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(11);
-var $values = __w_pdfjs_require__(180).values;
-$({
- target: 'Object',
- stat: true
-}, {
- values: function values(O) {
-  return $values(O);
- }
-});
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(14);
-var objectKeys = __w_pdfjs_require__(70);
-var toIndexedObject = __w_pdfjs_require__(18);
-var propertyIsEnumerable = __w_pdfjs_require__(16).f;
-var createMethod = function (TO_ENTRIES) {
- return function (it) {
-  var O = toIndexedObject(it);
-  var keys = objectKeys(O);
-  var length = keys.length;
-  var i = 0;
-  var result = [];
-  var key;
-  while (length > i) {
-   key = keys[i++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
-    result.push(TO_ENTRIES ? [
-     key,
-     O[key]
-    ] : O[key]);
-   }
-  }
-  return result;
- };
-};
-module.exports = {
- entries: createMethod(true),
- values: createMethod(false)
-};
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-{
-  var isReadableStreamSupported = false;
-
-  if (typeof ReadableStream !== 'undefined') {
-    try {
-      new ReadableStream({
-        start: function start(controller) {
-          controller.close();
-        }
-      });
-      isReadableStreamSupported = true;
-    } catch (e) {}
-  }
-
-  if (isReadableStreamSupported) {
-    exports.ReadableStream = ReadableStream;
-  } else {
-    exports.ReadableStream = __w_pdfjs_require__(182).ReadableStream;
-  }
-}
-
-/***/ }),
-/* 182 */
-/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {
-
-"use strict";
-__w_pdfjs_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ByteLengthQueuingStrategy", 
function() { return ByteLengthQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "CountQueuingStrategy", function() 
{ return CountQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ReadableStream", function() { 
return ReadableStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "TransformStream", function() { 
return TransformStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "WritableStream", function() { 
return WritableStream; });
-var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function 
(description) {
- return "Symbol(" + description + ")";
-};
-function noop() {
-}
-var NumberIsNaN = Number.isNaN || function (x) {
- return x !== x;
-};
-function typeIsObject(x) {
- return typeof x === 'object' && x !== null || typeof x === 'function';
-}
-function createArrayFromList(elements) {
- return elements.slice();
-}
-function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
- new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
-}
-function IsFiniteNonNegativeNumber(v) {
- if (IsNonNegativeNumber(v) === false) {
-  return false;
- }
- if (v === Infinity) {
-  return false;
- }
- return true;
-}
-function IsNonNegativeNumber(v) {
- if (typeof v !== 'number') {
-  return false;
- }
- if (NumberIsNaN(v)) {
-  return false;
- }
- if (v < 0) {
-  return false;
- }
- return true;
-}
-function Call(F, V, args) {
- if (typeof F !== 'function') {
-  throw new TypeError('Argument is not a function');
- }
- return Function.prototype.apply.call(F, V, args);
-}
-function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
- var method = underlyingObject[methodName];
- if (method !== undefined) {
-  if (typeof method !== 'function') {
-   throw new TypeError(method + " is not a method");
-  }
-  switch (algoArgCount) {
-  case 0: {
-    return function () {
-     return PromiseCall(method, underlyingObject, extraArgs);
-    };
-   }
-  case 1: {
-    return function (arg) {
-     var fullArgs = [arg].concat(extraArgs);
-     return PromiseCall(method, underlyingObject, fullArgs);
-    };
-   }
-  }
- }
- return function () {
-  return Promise.resolve();
- };
-}
-function InvokeOrNoop(O, P, args) {
- var method = O[P];
- if (method === undefined) {
-  return undefined;
- }
- return Call(method, O, args);
-}
-function PromiseCall(F, V, args) {
- try {
-  return Promise.resolve(Call(F, V, args));
- } catch (value) {
-  return Promise.reject(value);
- }
-}
-function TransferArrayBuffer(O) {
- return O;
-}
-function IsDetachedBuffer(O) {
- return false;
-}
-function ValidateAndNormalizeHighWaterMark(highWaterMark) {
- highWaterMark = Number(highWaterMark);
- if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
-  throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
- }
- return highWaterMark;
-}
-function MakeSizeAlgorithmFromSizeFunction(size) {
- if (size === undefined) {
-  return function () {
-   return 1;
-  };
- }
- if (typeof size !== 'function') {
-  throw new TypeError('size property of a queuing strategy must be a function');
- }
- return function (chunk) {
-  return size(chunk);
- };
-}
-var QUEUE_MAX_ARRAY_SIZE = 16384;
-var SimpleQueue = function () {
- function SimpleQueue() {
-  this._cursor = 0;
-  this._size = 0;
-  this._front = {
-   _elements: [],
-   _next: undefined
-  };
-  this._back = this._front;
-  this._cursor = 0;
-  this._size = 0;
- }
- Object.defineProperty(SimpleQueue.prototype, "length", {
-  get: function () {
-   return this._size;
-  },
-  enumerable: true,
-  configurable: true
- });
- SimpleQueue.prototype.push = function (element) {
-  var oldBack = this._back;
-  var newBack = oldBack;
-  if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
-   newBack = {
-    _elements: [],
-    _next: undefined
-   };
-  }
-  oldBack._elements.push(element);
-  if (newBack !== oldBack) {
-   this._back = newBack;
-   oldBack._next = newBack;
-  }
-  ++this._size;
- };
- SimpleQueue.prototype.shift = function () {
-  var oldFront = this._front;
-  var newFront = oldFront;
-  var oldCursor = this._cursor;
-  var newCursor = oldCursor + 1;
-  var elements = oldFront._elements;
-  var element = elements[oldCursor];
-  if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
-   newFront = oldFront._next;
-   newCursor = 0;
-  }
-  --this._size;
-  this._cursor = newCursor;
-  if (oldFront !== newFront) {
-   this._front = newFront;
-  }
-  elements[oldCursor] = undefined;
-  return element;
- };
- SimpleQueue.prototype.forEach = function (callback) {
-  var i = this._cursor;
-  var node = this._front;
-  var elements = node._elements;
-  while (i !== elements.length || node._next !== undefined) {
-   if (i === elements.length) {
-    node = node._next;
-    elements = node._elements;
-    i = 0;
-    if (elements.length === 0) {
-     break;
-    }
-   }
-   callback(elements[i]);
-   ++i;
-  }
- };
- SimpleQueue.prototype.peek = function () {
-  var front = this._front;
-  var cursor = this._cursor;
-  return front._elements[cursor];
- };
- return SimpleQueue;
-}();
-function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
- var prototype = null;
- if (forAuthorCode === true) {
-  prototype = Object.prototype;
- }
- var obj = Object.create(prototype);
- obj.value = value;
- obj.done = done;
- return obj;
-}
-function ReadableStreamReaderGenericInitialize(reader, stream) {
- reader._forAuthorCode = true;
- reader._ownerReadableStream = stream;
- stream._reader = reader;
- if (stream._state === 'readable') {
-  defaultReaderClosedPromiseInitialize(reader);
- } else if (stream._state === 'closed') {
-  defaultReaderClosedPromiseInitializeAsResolved(reader);
- } else {
-  defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
- }
-}
-function ReadableStreamReaderGenericCancel(reader, reason) {
- var stream = reader._ownerReadableStream;
- return ReadableStreamCancel(stream, reason);
-}
-function ReadableStreamReaderGenericRelease(reader) {
- if (reader._ownerReadableStream._state === 'readable') {
-  defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to 
monitor the stream\'s closedness'));
- } else {
-  defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be 
used to monitor the stream\'s closedness'));
- }
- reader._ownerReadableStream._reader = undefined;
- reader._ownerReadableStream = undefined;
-}
-function readerLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released reader');
-}
-function defaultReaderClosedPromiseInitialize(reader) {
- reader._closedPromise = new Promise(function (resolve, reject) {
-  reader._closedPromise_resolve = resolve;
-  reader._closedPromise_reject = reject;
- });
-}
-function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseReject(reader, reason);
-}
-function defaultReaderClosedPromiseInitializeAsResolved(reader) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseResolve(reader);
-}
-function defaultReaderClosedPromiseReject(reader, reason) {
- reader._closedPromise.catch(noop);
- reader._closedPromise_reject(reason);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-function defaultReaderClosedPromiseResetToRejected(reader, reason) {
- defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
-}
-function defaultReaderClosedPromiseResolve(reader) {
- reader._closedPromise_resolve(undefined);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
-var PullSteps = SymbolPolyfill('[[PullSteps]]');
-function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
-  forAuthorCode = false;
- }
- var reader = new ReadableStreamDefaultReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var readRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._reader._readRequests.push(readRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readRequest = reader._readRequests.shift();
- readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadRequests(stream) {
- return stream._reader._readRequests.length;
-}
-function ReadableStreamHasDefaultReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
-  return false;
- }
- if (!IsReadableStreamDefaultReader(reader)) {
-  return false;
- }
- return true;
-}
-var ReadableStreamDefaultReader = function () {
- function ReadableStreamDefaultReader(stream) {
-  if (IsReadableStream(stream) === false) {
-   throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
-  }
-  if (IsReadableStreamLocked(stream) === true) {
-   throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-  }
-  ReadableStreamReaderGenericInitialize(this, stream);
-  this._readRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
-  get: function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return Promise.reject(defaultReaderBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamDefaultReader.prototype.cancel = function (reason) {
-  if (!IsReadableStreamDefaultReader(this)) {
-   return Promise.reject(defaultReaderBrandCheckException('cancel'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('cancel'));
-  }
-  return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamDefaultReader.prototype.read = function () {
-  if (!IsReadableStreamDefaultReader(this)) {
-   return Promise.reject(defaultReaderBrandCheckException('read'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('read from'));
-  }
-  return ReadableStreamDefaultReaderRead(this);
- };
- ReadableStreamDefaultReader.prototype.releaseLock = function () {
-  if (!IsReadableStreamDefaultReader(this)) {
-   throw defaultReaderBrandCheckException('releaseLock');
-  }
-  if (this._ownerReadableStream === undefined) {
-   return;
-  }
-  if (this._readRequests.length > 0) {
-   throw new TypeError('Tried to release a reader lock when that reader has pending read() calls 
un-settled');
-  }
-  ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamDefaultReader;
-}();
-function IsReadableStreamDefaultReader(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultReaderRead(reader) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'closed') {
-  return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
- }
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return stream._readableStreamController[PullSteps]();
-}
-function defaultReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a 
ReadableStreamDefaultReader");
-}
-var _a;
-var AsyncIteratorPrototype;
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
-  return this;
- }, _a);
- Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
-}
-var ReadableStreamAsyncIteratorPrototype = {
- next: function () {
-  if (IsReadableStreamAsyncIterator(this) === false) {
-   return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
-  }
-  var reader = this._asyncIteratorReader;
-  if (reader._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('iterate'));
-  }
-  return ReadableStreamDefaultReaderRead(reader).then(function (result) {
-   var done = result.done;
-   if (done) {
-    ReadableStreamReaderGenericRelease(reader);
-   }
-   var value = result.value;
-   return ReadableStreamCreateReadResult(value, done, true);
-  });
- },
- return: function (value) {
-  if (IsReadableStreamAsyncIterator(this) === false) {
-   return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
-  }
-  var reader = this._asyncIteratorReader;
-  if (reader._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('finish iterating'));
-  }
-  if (reader._readRequests.length > 0) {
-   return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() 
calls un-settled'));
-  }
-  if (this._preventCancel === false) {
-   var result = ReadableStreamReaderGenericCancel(reader, value);
-   ReadableStreamReaderGenericRelease(reader);
-   return result.then(function () {
-    return ReadableStreamCreateReadResult(value, true, true);
-   });
-  }
-  ReadableStreamReaderGenericRelease(reader);
-  return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));
- }
-};
-if (AsyncIteratorPrototype !== undefined) {
- Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
-}
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
-function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
- if (preventCancel === void 0) {
-  preventCancel = false;
- }
- var reader = AcquireReadableStreamDefaultReader(stream);
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
- iterator._asyncIteratorReader = reader;
- iterator._preventCancel = Boolean(preventCancel);
- return iterator;
-}
-function IsReadableStreamAsyncIterator(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
-  return false;
- }
- return true;
-}
-function streamAsyncIteratorBrandCheckException(name) {
- return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a 
ReadableSteamAsyncIterator");
-}
-var rethrowAssertionErrorRejection = noop;
-function DequeueValue(container) {
- var pair = container._queue.shift();
- container._queueTotalSize -= pair.size;
- if (container._queueTotalSize < 0) {
-  container._queueTotalSize = 0;
- }
- return pair.value;
-}
-function EnqueueValueWithSize(container, value, size) {
- size = Number(size);
- if (!IsFiniteNonNegativeNumber(size)) {
-  throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
- }
- container._queue.push({
-  value: value,
-  size: size
- });
- container._queueTotalSize += size;
-}
-function PeekQueueValue(container) {
- var pair = container._queue.peek();
- return pair.value;
-}
-function ResetQueue(container) {
- container._queue = new SimpleQueue();
- container._queueTotalSize = 0;
-}
-var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
-var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
-var WritableStream = function () {
- function WritableStream(underlyingSink, strategy) {
-  if (underlyingSink === void 0) {
-   underlyingSink = {};
-  }
-  if (strategy === void 0) {
-   strategy = {};
-  }
-  InitializeWritableStream(this);
-  var size = strategy.size;
-  var highWaterMark = strategy.highWaterMark;
-  var type = underlyingSink.type;
-  if (type !== undefined) {
-   throw new RangeError('Invalid type is specified');
-  }
-  var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-  if (highWaterMark === undefined) {
-   highWaterMark = 1;
-  }
-  highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-  SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
- }
- Object.defineProperty(WritableStream.prototype, "locked", {
-  get: function () {
-   if (IsWritableStream(this) === false) {
-    throw streamBrandCheckException('locked');
-   }
-   return IsWritableStreamLocked(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- WritableStream.prototype.abort = function (reason) {
-  if (IsWritableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException('abort'));
-  }
-  if (IsWritableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));
-  }
-  return WritableStreamAbort(this, reason);
- };
- WritableStream.prototype.getWriter = function () {
-  if (IsWritableStream(this) === false) {
-   throw streamBrandCheckException('getWriter');
-  }
-  return AcquireWritableStreamDefaultWriter(this);
- };
- return WritableStream;
-}();
-function AcquireWritableStreamDefaultWriter(stream) {
- return new WritableStreamDefaultWriter(stream);
-}
-function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, 
sizeAlgorithm) {
- if (highWaterMark === void 0) {
-  highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
-  sizeAlgorithm = function () {
-   return 1;
-  };
- }
- var stream = Object.create(WritableStream.prototype);
- InitializeWritableStream(stream);
- var controller = Object.create(WritableStreamDefaultController.prototype);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, 
abortAlgorithm, highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeWritableStream(stream) {
- stream._state = 'writable';
- stream._storedError = undefined;
- stream._writer = undefined;
- stream._writableStreamController = undefined;
- stream._writeRequests = new SimpleQueue();
- stream._inFlightWriteRequest = undefined;
- stream._closeRequest = undefined;
- stream._inFlightCloseRequest = undefined;
- stream._pendingAbortRequest = undefined;
- stream._backpressure = false;
-}
-function IsWritableStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
-  return false;
- }
- return true;
-}
-function IsWritableStreamLocked(stream) {
- if (stream._writer === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamAbort(stream, reason) {
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
-  return Promise.resolve(undefined);
- }
- if (stream._pendingAbortRequest !== undefined) {
-  return stream._pendingAbortRequest._promise;
- }
- var wasAlreadyErroring = false;
- if (state === 'erroring') {
-  wasAlreadyErroring = true;
-  reason = undefined;
- }
- var promise = new Promise(function (resolve, reject) {
-  stream._pendingAbortRequest = {
-   _promise: undefined,
-   _resolve: resolve,
-   _reject: reject,
-   _reason: reason,
-   _wasAlreadyErroring: wasAlreadyErroring
-  };
- });
- stream._pendingAbortRequest._promise = promise;
- if (wasAlreadyErroring === false) {
-  WritableStreamStartErroring(stream, reason);
- }
- return promise;
-}
-function WritableStreamAddWriteRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var writeRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._writeRequests.push(writeRequest);
- });
- return promise;
-}
-function WritableStreamDealWithRejection(stream, error) {
- var state = stream._state;
- if (state === 'writable') {
-  WritableStreamStartErroring(stream, error);
-  return;
- }
- WritableStreamFinishErroring(stream);
-}
-function WritableStreamStartErroring(stream, reason) {
- var controller = stream._writableStreamController;
- stream._state = 'erroring';
- stream._storedError = reason;
- var writer = stream._writer;
- if (writer !== undefined) {
-  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
- }
- if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
-  WritableStreamFinishErroring(stream);
- }
-}
-function WritableStreamFinishErroring(stream) {
- stream._state = 'errored';
- stream._writableStreamController[ErrorSteps]();
- var storedError = stream._storedError;
- stream._writeRequests.forEach(function (writeRequest) {
-  writeRequest._reject(storedError);
- });
- stream._writeRequests = new SimpleQueue();
- if (stream._pendingAbortRequest === undefined) {
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  return;
- }
- var abortRequest = stream._pendingAbortRequest;
- stream._pendingAbortRequest = undefined;
- if (abortRequest._wasAlreadyErroring === true) {
-  abortRequest._reject(storedError);
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  return;
- }
- var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
- promise.then(function () {
-  abortRequest._resolve();
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- }, function (reason) {
-  abortRequest._reject(reason);
-  WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- });
-}
-function WritableStreamFinishInFlightWrite(stream) {
- stream._inFlightWriteRequest._resolve(undefined);
- stream._inFlightWriteRequest = undefined;
-}
-function WritableStreamFinishInFlightWriteWithError(stream, error) {
- stream._inFlightWriteRequest._reject(error);
- stream._inFlightWriteRequest = undefined;
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamFinishInFlightClose(stream) {
- stream._inFlightCloseRequest._resolve(undefined);
- stream._inFlightCloseRequest = undefined;
- var state = stream._state;
- if (state === 'erroring') {
-  stream._storedError = undefined;
-  if (stream._pendingAbortRequest !== undefined) {
-   stream._pendingAbortRequest._resolve();
-   stream._pendingAbortRequest = undefined;
-  }
- }
- stream._state = 'closed';
- var writer = stream._writer;
- if (writer !== undefined) {
-  defaultWriterClosedPromiseResolve(writer);
- }
-}
-function WritableStreamFinishInFlightCloseWithError(stream, error) {
- stream._inFlightCloseRequest._reject(error);
- stream._inFlightCloseRequest = undefined;
- if (stream._pendingAbortRequest !== undefined) {
-  stream._pendingAbortRequest._reject(error);
-  stream._pendingAbortRequest = undefined;
- }
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamCloseQueuedOrInFlight(stream) {
- if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamHasOperationMarkedInFlight(stream) {
- if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
-  return false;
- }
- return true;
-}
-function WritableStreamMarkCloseRequestInFlight(stream) {
- stream._inFlightCloseRequest = stream._closeRequest;
- stream._closeRequest = undefined;
-}
-function WritableStreamMarkFirstWriteRequestInFlight(stream) {
- stream._inFlightWriteRequest = stream._writeRequests.shift();
-}
-function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
- if (stream._closeRequest !== undefined) {
-  stream._closeRequest._reject(stream._storedError);
-  stream._closeRequest = undefined;
- }
- var writer = stream._writer;
- if (writer !== undefined) {
-  defaultWriterClosedPromiseReject(writer, stream._storedError);
- }
-}
-function WritableStreamUpdateBackpressure(stream, backpressure) {
- var writer = stream._writer;
- if (writer !== undefined && backpressure !== stream._backpressure) {
-  if (backpressure === true) {
-   defaultWriterReadyPromiseReset(writer);
-  } else {
-   defaultWriterReadyPromiseResolve(writer);
-  }
- }
- stream._backpressure = backpressure;
-}
-var WritableStreamDefaultWriter = function () {
- function WritableStreamDefaultWriter(stream) {
-  if (IsWritableStream(stream) === false) {
-   throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
-  }
-  if (IsWritableStreamLocked(stream) === true) {
-   throw new TypeError('This stream has already been locked for exclusive writing by another writer');
-  }
-  this._ownerWritableStream = stream;
-  stream._writer = this;
-  var state = stream._state;
-  if (state === 'writable') {
-   if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
-    defaultWriterReadyPromiseInitialize(this);
-   } else {
-    defaultWriterReadyPromiseInitializeAsResolved(this);
-   }
-   defaultWriterClosedPromiseInitialize(this);
-  } else if (state === 'erroring') {
-   defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
-   defaultWriterClosedPromiseInitialize(this);
-  } else if (state === 'closed') {
-   defaultWriterReadyPromiseInitializeAsResolved(this);
-   defaultWriterClosedPromiseInitializeAsResolved(this);
-  } else {
-   var storedError = stream._storedError;
-   defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
-   defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
-  }
- }
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return Promise.reject(defaultWriterBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    throw defaultWriterBrandCheckException('desiredSize');
-   }
-   if (this._ownerWritableStream === undefined) {
-    throw defaultWriterLockException('desiredSize');
-   }
-   return WritableStreamDefaultWriterGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
-  get: function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return Promise.reject(defaultWriterBrandCheckException('ready'));
-   }
-   return this._readyPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- WritableStreamDefaultWriter.prototype.abort = function (reason) {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('abort'));
-  }
-  if (this._ownerWritableStream === undefined) {
-   return Promise.reject(defaultWriterLockException('abort'));
-  }
-  return WritableStreamDefaultWriterAbort(this, reason);
- };
- WritableStreamDefaultWriter.prototype.close = function () {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('close'));
-  }
-  var stream = this._ownerWritableStream;
-  if (stream === undefined) {
-   return Promise.reject(defaultWriterLockException('close'));
-  }
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
-   return Promise.reject(new TypeError('cannot close an already-closing stream'));
-  }
-  return WritableStreamDefaultWriterClose(this);
- };
- WritableStreamDefaultWriter.prototype.releaseLock = function () {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   throw defaultWriterBrandCheckException('releaseLock');
-  }
-  var stream = this._ownerWritableStream;
-  if (stream === undefined) {
-   return;
-  }
-  WritableStreamDefaultWriterRelease(this);
- };
- WritableStreamDefaultWriter.prototype.write = function (chunk) {
-  if (IsWritableStreamDefaultWriter(this) === false) {
-   return Promise.reject(defaultWriterBrandCheckException('write'));
-  }
-  if (this._ownerWritableStream === undefined) {
-   return Promise.reject(defaultWriterLockException('write to'));
-  }
-  return WritableStreamDefaultWriterWrite(this, chunk);
- };
- return WritableStreamDefaultWriter;
-}();
-function IsWritableStreamDefaultWriter(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
-  return false;
- }
- return true;
-}
-function WritableStreamDefaultWriterAbort(writer, reason) {
- var stream = writer._ownerWritableStream;
- return WritableStreamAbort(stream, reason);
-}
-function WritableStreamDefaultWriterClose(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
-  return Promise.reject(new TypeError("The stream (in " + state + " state) is not in the writable state and 
cannot be closed"));
- }
- var promise = new Promise(function (resolve, reject) {
-  var closeRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._closeRequest = closeRequest;
- });
- if (stream._backpressure === true && state === 'writable') {
-  defaultWriterReadyPromiseResolve(writer);
- }
- WritableStreamDefaultControllerClose(stream._writableStreamController);
- return promise;
-}
-function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-  return Promise.resolve();
- }
- if (state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return WritableStreamDefaultWriterClose(writer);
-}
-function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
- if (writer._closedPromiseState === 'pending') {
-  defaultWriterClosedPromiseReject(writer, error);
- } else {
-  defaultWriterClosedPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
- if (writer._readyPromiseState === 'pending') {
-  defaultWriterReadyPromiseReject(writer, error);
- } else {
-  defaultWriterReadyPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterGetDesiredSize(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'errored' || state === 'erroring') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
-}
-function WritableStreamDefaultWriterRelease(writer) {
- var stream = writer._ownerWritableStream;
- var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s 
closedness');
- WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
- WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
- stream._writer = undefined;
- writer._ownerWritableStream = undefined;
-}
-function WritableStreamDefaultWriterWrite(writer, chunk) {
- var stream = writer._ownerWritableStream;
- var controller = stream._writableStreamController;
- var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
- if (stream !== writer._ownerWritableStream) {
-  return Promise.reject(defaultWriterLockException('write to'));
- }
- var state = stream._state;
- if (state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-  return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));
- }
- if (state === 'erroring') {
-  return Promise.reject(stream._storedError);
- }
- var promise = WritableStreamAddWriteRequest(stream);
- WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
- return promise;
-}
-var WritableStreamDefaultController = function () {
- function WritableStreamDefaultController() {
-  throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
- }
- WritableStreamDefaultController.prototype.error = function (e) {
-  if (IsWritableStreamDefaultController(this) === false) {
-   throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a 
WritableStreamDefaultController');
-  }
-  var state = this._controlledWritableStream._state;
-  if (state !== 'writable') {
-   return;
-  }
-  WritableStreamDefaultControllerError(this, e);
- };
- WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
-  var result = this._abortAlgorithm(reason);
-  WritableStreamDefaultControllerClearAlgorithms(this);
-  return result;
- };
- WritableStreamDefaultController.prototype[ErrorSteps] = function () {
-  ResetQueue(this);
- };
- return WritableStreamDefaultController;
-}();
-function IsWritableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
-  return false;
- }
- return true;
-}
-function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, 
closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledWritableStream = stream;
- stream._writableStreamController = controller;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._writeAlgorithm = writeAlgorithm;
- controller._closeAlgorithm = closeAlgorithm;
- controller._abortAlgorithm = abortAlgorithm;
- var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
- WritableStreamUpdateBackpressure(stream, backpressure);
- var startResult = startAlgorithm();
- var startPromise = Promise.resolve(startResult);
- startPromise.then(function () {
-  controller._started = true;
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (r) {
-  controller._started = true;
-  WritableStreamDealWithRejection(stream, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, 
sizeAlgorithm) {
- var controller = Object.create(WritableStreamDefaultController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingSink, 'start', [controller]);
- }
- var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
- var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
- var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, 
abortAlgorithm, highWaterMark, sizeAlgorithm);
-}
-function WritableStreamDefaultControllerClearAlgorithms(controller) {
- controller._writeAlgorithm = undefined;
- controller._closeAlgorithm = undefined;
- controller._abortAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function WritableStreamDefaultControllerClose(controller) {
- EnqueueValueWithSize(controller, 'close', 0);
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
- try {
-  return controller._strategySizeAlgorithm(chunk);
- } catch (chunkSizeE) {
-  WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
-  return 1;
- }
-}
-function WritableStreamDefaultControllerGetDesiredSize(controller) {
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
- var writeRecord = { chunk: chunk };
- try {
-  EnqueueValueWithSize(controller, writeRecord, chunkSize);
- } catch (enqueueE) {
-  WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
-  return;
- }
- var stream = controller._controlledWritableStream;
- if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
-  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-  WritableStreamUpdateBackpressure(stream, backpressure);
- }
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
- var stream = controller._controlledWritableStream;
- if (controller._started === false) {
-  return;
- }
- if (stream._inFlightWriteRequest !== undefined) {
-  return;
- }
- var state = stream._state;
- if (state === 'erroring') {
-  WritableStreamFinishErroring(stream);
-  return;
- }
- if (controller._queue.length === 0) {
-  return;
- }
- var writeRecord = PeekQueueValue(controller);
- if (writeRecord === 'close') {
-  WritableStreamDefaultControllerProcessClose(controller);
- } else {
-  WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
- }
-}
-function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
- if (controller._controlledWritableStream._state === 'writable') {
-  WritableStreamDefaultControllerError(controller, error);
- }
-}
-function WritableStreamDefaultControllerProcessClose(controller) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkCloseRequestInFlight(stream);
- DequeueValue(controller);
- var sinkClosePromise = controller._closeAlgorithm();
- WritableStreamDefaultControllerClearAlgorithms(controller);
- sinkClosePromise.then(function () {
-  WritableStreamFinishInFlightClose(stream);
- }, function (reason) {
-  WritableStreamFinishInFlightCloseWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkFirstWriteRequestInFlight(stream);
- var sinkWritePromise = controller._writeAlgorithm(chunk);
- sinkWritePromise.then(function () {
-  WritableStreamFinishInFlightWrite(stream);
-  var state = stream._state;
-  DequeueValue(controller);
-  if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
-   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-   WritableStreamUpdateBackpressure(stream, backpressure);
-  }
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (reason) {
-  if (stream._state === 'writable') {
-   WritableStreamDefaultControllerClearAlgorithms(controller);
-  }
-  WritableStreamFinishInFlightWriteWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerGetBackpressure(controller) {
- var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
- return desiredSize <= 0;
-}
-function WritableStreamDefaultControllerError(controller, error) {
- var stream = controller._controlledWritableStream;
- WritableStreamDefaultControllerClearAlgorithms(controller);
- WritableStreamStartErroring(stream, error);
-}
-function streamBrandCheckException(name) {
- return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
-}
-function defaultWriterBrandCheckException(name) {
- return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a 
WritableStreamDefaultWriter");
-}
-function defaultWriterLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released writer');
-}
-function defaultWriterClosedPromiseInitialize(writer) {
- writer._closedPromise = new Promise(function (resolve, reject) {
-  writer._closedPromise_resolve = resolve;
-  writer._closedPromise_reject = reject;
-  writer._closedPromiseState = 'pending';
- });
-}
-function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseReject(writer, reason);
-}
-function defaultWriterClosedPromiseInitializeAsResolved(writer) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseResolve(writer);
-}
-function defaultWriterClosedPromiseReject(writer, reason) {
- writer._closedPromise.catch(noop);
- writer._closedPromise_reject(reason);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'rejected';
-}
-function defaultWriterClosedPromiseResetToRejected(writer, reason) {
- defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterClosedPromiseResolve(writer) {
- writer._closedPromise_resolve(undefined);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'resolved';
-}
-function defaultWriterReadyPromiseInitialize(writer) {
- writer._readyPromise = new Promise(function (resolve, reject) {
-  writer._readyPromise_resolve = resolve;
-  writer._readyPromise_reject = reject;
- });
- writer._readyPromiseState = 'pending';
-}
-function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseReject(writer, reason);
-}
-function defaultWriterReadyPromiseInitializeAsResolved(writer) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseResolve(writer);
-}
-function defaultWriterReadyPromiseReject(writer, reason) {
- writer._readyPromise.catch(noop);
- writer._readyPromise_reject(reason);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'rejected';
-}
-function defaultWriterReadyPromiseReset(writer) {
- defaultWriterReadyPromiseInitialize(writer);
-}
-function defaultWriterReadyPromiseResetToRejected(writer, reason) {
- defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterReadyPromiseResolve(writer) {
- writer._readyPromise_resolve(undefined);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'fulfilled';
-}
-function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
- var reader = AcquireReadableStreamDefaultReader(source);
- var writer = AcquireWritableStreamDefaultWriter(dest);
- var shuttingDown = false;
- var currentWrite = Promise.resolve();
- return new Promise(function (resolve, reject) {
-  var abortAlgorithm;
-  if (signal !== undefined) {
-   abortAlgorithm = function () {
-    var error = new DOMException('Aborted', 'AbortError');
-    var actions = [];
-    if (preventAbort === false) {
-     actions.push(function () {
-      if (dest._state === 'writable') {
-       return WritableStreamAbort(dest, error);
-      }
-      return Promise.resolve();
-     });
-    }
-    if (preventCancel === false) {
-     actions.push(function () {
-      if (source._state === 'readable') {
-       return ReadableStreamCancel(source, error);
-      }
-      return Promise.resolve();
-     });
-    }
-    shutdownWithAction(function () {
-     return Promise.all(actions.map(function (action) {
-      return action();
-     }));
-    }, true, error);
-   };
-   if (signal.aborted === true) {
-    abortAlgorithm();
-    return;
-   }
-   signal.addEventListener('abort', abortAlgorithm);
-  }
-  function pipeLoop() {
-   return new Promise(function (resolveLoop, rejectLoop) {
-    function next(done) {
-     if (done) {
-      resolveLoop();
-     } else {
-      pipeStep().then(next, rejectLoop);
-     }
-    }
-    next(false);
-   });
-  }
-  function pipeStep() {
-   if (shuttingDown === true) {
-    return Promise.resolve(true);
-   }
-   return writer._readyPromise.then(function () {
-    return ReadableStreamDefaultReaderRead(reader).then(function (_a) {
-     var value = _a.value, done = _a.done;
-     if (done === true) {
-      return true;
-     }
-     currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);
-     return false;
-    });
-   });
-  }
-  isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
-   if (preventAbort === false) {
-    shutdownWithAction(function () {
-     return WritableStreamAbort(dest, storedError);
-    }, true, storedError);
-   } else {
-    shutdown(true, storedError);
-   }
-  });
-  isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
-   if (preventCancel === false) {
-    shutdownWithAction(function () {
-     return ReadableStreamCancel(source, storedError);
-    }, true, storedError);
-   } else {
-    shutdown(true, storedError);
-   }
-  });
-  isOrBecomesClosed(source, reader._closedPromise, function () {
-   if (preventClose === false) {
-    shutdownWithAction(function () {
-     return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
-    });
-   } else {
-    shutdown();
-   }
-  });
-  if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
-   var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped 
to it');
-   if (preventCancel === false) {
-    shutdownWithAction(function () {
-     return ReadableStreamCancel(source, destClosed_1);
-    }, true, destClosed_1);
-   } else {
-    shutdown(true, destClosed_1);
-   }
-  }
-  pipeLoop().catch(rethrowAssertionErrorRejection);
-  function waitForWritesToFinish() {
-   var oldCurrentWrite = currentWrite;
-   return currentWrite.then(function () {
-    return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
-   });
-  }
-  function isOrBecomesErrored(stream, promise, action) {
-   if (stream._state === 'errored') {
-    action(stream._storedError);
-   } else {
-    promise.catch(action).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function isOrBecomesClosed(stream, promise, action) {
-   if (stream._state === 'closed') {
-    action();
-   } else {
-    promise.then(action).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function shutdownWithAction(action, originalIsError, originalError) {
-   if (shuttingDown === true) {
-    return;
-   }
-   shuttingDown = true;
-   if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-    waitForWritesToFinish().then(doTheRest);
-   } else {
-    doTheRest();
-   }
-   function doTheRest() {
-    action().then(function () {
-     return finalize(originalIsError, originalError);
-    }, function (newError) {
-     return finalize(true, newError);
-    }).catch(rethrowAssertionErrorRejection);
-   }
-  }
-  function shutdown(isError, error) {
-   if (shuttingDown === true) {
-    return;
-   }
-   shuttingDown = true;
-   if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-    waitForWritesToFinish().then(function () {
-     return finalize(isError, error);
-    }).catch(rethrowAssertionErrorRejection);
-   } else {
-    finalize(isError, error);
-   }
-  }
-  function finalize(isError, error) {
-   WritableStreamDefaultWriterRelease(writer);
-   ReadableStreamReaderGenericRelease(reader);
-   if (signal !== undefined) {
-    signal.removeEventListener('abort', abortAlgorithm);
-   }
-   if (isError) {
-    reject(error);
-   } else {
-    resolve(undefined);
-   }
-  }
- });
-}
-var ReadableStreamDefaultController = function () {
- function ReadableStreamDefaultController() {
-  throw new TypeError();
- }
- Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
-  get: function () {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('desiredSize');
-   }
-   return ReadableStreamDefaultControllerGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamDefaultController.prototype.close = function () {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('close');
-  }
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-   throw new TypeError('The stream is not in a state that permits close');
-  }
-  ReadableStreamDefaultControllerClose(this);
- };
- ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('enqueue');
-  }
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-   throw new TypeError('The stream is not in a state that permits enqueue');
-  }
-  return ReadableStreamDefaultControllerEnqueue(this, chunk);
- };
- ReadableStreamDefaultController.prototype.error = function (e) {
-  if (IsReadableStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException('error');
-  }
-  ReadableStreamDefaultControllerError(this, e);
- };
- ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
-  ResetQueue(this);
-  var result = this._cancelAlgorithm(reason);
-  ReadableStreamDefaultControllerClearAlgorithms(this);
-  return result;
- };
- ReadableStreamDefaultController.prototype[PullSteps] = function () {
-  var stream = this._controlledReadableStream;
-  if (this._queue.length > 0) {
-   var chunk = DequeueValue(this);
-   if (this._closeRequested === true && this._queue.length === 0) {
-    ReadableStreamDefaultControllerClearAlgorithms(this);
-    ReadableStreamClose(stream);
-   } else {
-    ReadableStreamDefaultControllerCallPullIfNeeded(this);
-   }
-   return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
-  }
-  var pendingPromise = ReadableStreamAddReadRequest(stream);
-  ReadableStreamDefaultControllerCallPullIfNeeded(this);
-  return pendingPromise;
- };
- return ReadableStreamDefaultController;
-}();
-function IsReadableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
- if (shouldPull === false) {
-  return;
- }
- if (controller._pulling === true) {
-  controller._pullAgain = true;
-  return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
-  controller._pulling = false;
-  if (controller._pullAgain === true) {
-   controller._pullAgain = false;
-   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-  }
- }, function (e) {
-  ReadableStreamDefaultControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableStreamDefaultControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableStream;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
-  return false;
- }
- if (controller._started === false) {
-  return false;
- }
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  return true;
- }
- var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
-  return true;
- }
- return false;
-}
-function ReadableStreamDefaultControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function ReadableStreamDefaultControllerClose(controller) {
- var stream = controller._controlledReadableStream;
- controller._closeRequested = true;
- if (controller._queue.length === 0) {
-  ReadableStreamDefaultControllerClearAlgorithms(controller);
-  ReadableStreamClose(stream);
- }
-}
-function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableStream;
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  ReadableStreamFulfillReadRequest(stream, chunk, false);
- } else {
-  var chunkSize = void 0;
-  try {
-   chunkSize = controller._strategySizeAlgorithm(chunk);
-  } catch (chunkSizeE) {
-   ReadableStreamDefaultControllerError(controller, chunkSizeE);
-   throw chunkSizeE;
-  }
-  try {
-   EnqueueValueWithSize(controller, chunk, chunkSize);
-  } catch (enqueueE) {
-   ReadableStreamDefaultControllerError(controller, enqueueE);
-   throw enqueueE;
-  }
- }
- ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-}
-function ReadableStreamDefaultControllerError(controller, e) {
- var stream = controller._controlledReadableStream;
- if (stream._state !== 'readable') {
-  return;
- }
- ResetQueue(controller);
- ReadableStreamDefaultControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableStreamDefaultControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableStream;
- var state = stream._state;
- if (state === 'errored') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableStreamDefaultControllerHasBackpressure(controller) {
- if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
-  return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
- var state = controller._controlledReadableStream._state;
- if (controller._closeRequested === false && state === 'readable') {
-  return true;
- }
- return false;
-}
-function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, 
cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledReadableStream = stream;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._closeRequested = false;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
-  controller._started = true;
-  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }, function (r) {
-  ReadableStreamDefaultControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, 
sizeAlgorithm) {
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, sizeAlgorithm);
-}
-function defaultControllerBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a 
ReadableStreamDefaultController");
-}
-function ReadableStreamTee(stream, cloneForBranch2) {
- var reader = AcquireReadableStreamDefaultReader(stream);
- var reading = false;
- var canceled1 = false;
- var canceled2 = false;
- var reason1;
- var reason2;
- var branch1;
- var branch2;
- var resolveCancelPromise;
- var cancelPromise = new Promise(function (resolve) {
-  resolveCancelPromise = resolve;
- });
- function pullAlgorithm() {
-  if (reading === true) {
-   return Promise.resolve();
-  }
-  reading = true;
-  var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {
-   reading = false;
-   var done = result.done;
-   if (done === true) {
-    if (canceled1 === false) {
-     ReadableStreamDefaultControllerClose(branch1._readableStreamController);
-    }
-    if (canceled2 === false) {
-     ReadableStreamDefaultControllerClose(branch2._readableStreamController);
-    }
-    return;
-   }
-   var value = result.value;
-   var value1 = value;
-   var value2 = value;
-   if (canceled1 === false) {
-    ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
-   }
-   if (canceled2 === false) {
-    ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
-   }
-  });
-  readPromise.catch(rethrowAssertionErrorRejection);
-  return Promise.resolve();
- }
- function cancel1Algorithm(reason) {
-  canceled1 = true;
-  reason1 = reason;
-  if (canceled2 === true) {
-   var compositeReason = createArrayFromList([
-    reason1,
-    reason2
-   ]);
-   var cancelResult = ReadableStreamCancel(stream, compositeReason);
-   resolveCancelPromise(cancelResult);
-  }
-  return cancelPromise;
- }
- function cancel2Algorithm(reason) {
-  canceled2 = true;
-  reason2 = reason;
-  if (canceled1 === true) {
-   var compositeReason = createArrayFromList([
-    reason1,
-    reason2
-   ]);
-   var cancelResult = ReadableStreamCancel(stream, compositeReason);
-   resolveCancelPromise(cancelResult);
-  }
-  return cancelPromise;
- }
- function startAlgorithm() {
- }
- branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
- branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
- reader._closedPromise.catch(function (r) {
-  ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
-  ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
- });
- return [
-  branch1,
-  branch2
- ];
-}
-var NumberIsInteger = Number.isInteger || function (value) {
- return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
-};
-var ReadableStreamBYOBRequest = function () {
- function ReadableStreamBYOBRequest() {
-  throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
- }
- Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
-  get: function () {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('view');
-   }
-   return this._view;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
-  if (IsReadableStreamBYOBRequest(this) === false) {
-   throw byobRequestBrandCheckException('respond');
-  }
-  if (this._associatedReadableByteStreamController === undefined) {
-   throw new TypeError('This BYOB request has been invalidated');
-  }
-  if (IsDetachedBuffer(this._view.buffer) === true);
-  ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
- };
- ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
-  if (IsReadableStreamBYOBRequest(this) === false) {
-   throw byobRequestBrandCheckException('respond');
-  }
-  if (this._associatedReadableByteStreamController === undefined) {
-   throw new TypeError('This BYOB request has been invalidated');
-  }
-  if (!ArrayBuffer.isView(view)) {
-   throw new TypeError('You can only respond with array buffer views');
-  }
-  if (IsDetachedBuffer(view.buffer) === true);
-  ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
- };
- return ReadableStreamBYOBRequest;
-}();
-var ReadableByteStreamController = function () {
- function ReadableByteStreamController() {
-  throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
- }
- Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
-  get: function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('byobRequest');
-   }
-   if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
-    var firstDescriptor = this._pendingPullIntos.peek();
-    var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + 
firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
-    var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
-    SetUpReadableStreamBYOBRequest(byobRequest, this, view);
-    this._byobRequest = byobRequest;
-   }
-   return this._byobRequest;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
-  get: function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('desiredSize');
-   }
-   return ReadableByteStreamControllerGetDesiredSize(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableByteStreamController.prototype.close = function () {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('close');
-  }
-  if (this._closeRequested === true) {
-   throw new TypeError('The stream has already been closed; do not close it again!');
-  }
-  var state = this._controlledReadableByteStream._state;
-  if (state !== 'readable') {
-   throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be 
closed");
-  }
-  ReadableByteStreamControllerClose(this);
- };
- ReadableByteStreamController.prototype.enqueue = function (chunk) {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('enqueue');
-  }
-  if (this._closeRequested === true) {
-   throw new TypeError('stream is closed or draining');
-  }
-  var state = this._controlledReadableByteStream._state;
-  if (state !== 'readable') {
-   throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be 
enqueued to");
-  }
-  if (!ArrayBuffer.isView(chunk)) {
-   throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
-  }
-  if (IsDetachedBuffer(chunk.buffer) === true);
-  ReadableByteStreamControllerEnqueue(this, chunk);
- };
- ReadableByteStreamController.prototype.error = function (e) {
-  if (IsReadableByteStreamController(this) === false) {
-   throw byteStreamControllerBrandCheckException('error');
-  }
-  ReadableByteStreamControllerError(this, e);
- };
- ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
-  if (this._pendingPullIntos.length > 0) {
-   var firstDescriptor = this._pendingPullIntos.peek();
-   firstDescriptor.bytesFilled = 0;
-  }
-  ResetQueue(this);
-  var result = this._cancelAlgorithm(reason);
-  ReadableByteStreamControllerClearAlgorithms(this);
-  return result;
- };
- ReadableByteStreamController.prototype[PullSteps] = function () {
-  var stream = this._controlledReadableByteStream;
-  if (this._queueTotalSize > 0) {
-   var entry = this._queue.shift();
-   this._queueTotalSize -= entry.byteLength;
-   ReadableByteStreamControllerHandleQueueDrain(this);
-   var view = void 0;
-   try {
-    view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
-   } catch (viewE) {
-    return Promise.reject(viewE);
-   }
-   return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
-  }
-  var autoAllocateChunkSize = this._autoAllocateChunkSize;
-  if (autoAllocateChunkSize !== undefined) {
-   var buffer = void 0;
-   try {
-    buffer = new ArrayBuffer(autoAllocateChunkSize);
-   } catch (bufferE) {
-    return Promise.reject(bufferE);
-   }
-   var pullIntoDescriptor = {
-    buffer: buffer,
-    byteOffset: 0,
-    byteLength: autoAllocateChunkSize,
-    bytesFilled: 0,
-    elementSize: 1,
-    ctor: Uint8Array,
-    readerType: 'default'
-   };
-   this._pendingPullIntos.push(pullIntoDescriptor);
-  }
-  var promise = ReadableStreamAddReadRequest(stream);
-  ReadableByteStreamControllerCallPullIfNeeded(this);
-  return promise;
- };
- return ReadableByteStreamController;
-}();
-function IsReadableByteStreamController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
-  return false;
- }
- return true;
-}
-function IsReadableStreamBYOBRequest(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
-  return false;
- }
- return true;
-}
-function ReadableByteStreamControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
- if (shouldPull === false) {
-  return;
- }
- if (controller._pulling === true) {
-  controller._pullAgain = true;
-  return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
-  controller._pulling = false;
-  if (controller._pullAgain === true) {
-   controller._pullAgain = false;
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }
- }, function (e) {
-  ReadableByteStreamControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableByteStreamControllerClearPendingPullIntos(controller) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- controller._pendingPullIntos = new SimpleQueue();
-}
-function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
- var done = false;
- if (stream._state === 'closed') {
-  done = true;
- }
- var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
- if (pullIntoDescriptor.readerType === 'default') {
-  ReadableStreamFulfillReadRequest(stream, filledView, done);
- } else {
-  ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
- }
-}
-function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
- var bytesFilled = pullIntoDescriptor.bytesFilled;
- var elementSize = pullIntoDescriptor.elementSize;
- return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / 
elementSize);
-}
-function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
- controller._queue.push({
-  buffer: buffer,
-  byteOffset: byteOffset,
-  byteLength: byteLength
- });
- controller._queueTotalSize += byteLength;
-}
-function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
- var elementSize = pullIntoDescriptor.elementSize;
- var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
- var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - 
pullIntoDescriptor.bytesFilled);
- var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
- var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
- var totalBytesToCopyRemaining = maxBytesToCopy;
- var ready = false;
- if (maxAlignedBytes > currentAlignedBytes) {
-  totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
-  ready = true;
- }
- var queue = controller._queue;
- while (totalBytesToCopyRemaining > 0) {
-  var headOfQueue = queue.peek();
-  var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
-  var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-  ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, 
bytesToCopy);
-  if (headOfQueue.byteLength === bytesToCopy) {
-   queue.shift();
-  } else {
-   headOfQueue.byteOffset += bytesToCopy;
-   headOfQueue.byteLength -= bytesToCopy;
-  }
-  controller._queueTotalSize -= bytesToCopy;
-  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
-  totalBytesToCopyRemaining -= bytesToCopy;
- }
- return ready;
-}
-function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- pullIntoDescriptor.bytesFilled += size;
-}
-function ReadableByteStreamControllerHandleQueueDrain(controller) {
- if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamClose(controller._controlledReadableByteStream);
- } else {
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
-}
-function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
- if (controller._byobRequest === undefined) {
-  return;
- }
- controller._byobRequest._associatedReadableByteStreamController = undefined;
- controller._byobRequest._view = undefined;
- controller._byobRequest = undefined;
-}
-function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
- while (controller._pendingPullIntos.length > 0) {
-  if (controller._queueTotalSize === 0) {
-   return;
-  }
-  var pullIntoDescriptor = controller._pendingPullIntos.peek();
-  if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-   ReadableByteStreamControllerShiftPendingPullInto(controller);
-   ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, 
pullIntoDescriptor);
-  }
- }
-}
-function ReadableByteStreamControllerPullInto(controller, view) {
- var stream = controller._controlledReadableByteStream;
- var elementSize = 1;
- if (view.constructor !== DataView) {
-  elementSize = view.constructor.BYTES_PER_ELEMENT;
- }
- var ctor = view.constructor;
- var buffer = TransferArrayBuffer(view.buffer);
- var pullIntoDescriptor = {
-  buffer: buffer,
-  byteOffset: view.byteOffset,
-  byteLength: view.byteLength,
-  bytesFilled: 0,
-  elementSize: elementSize,
-  ctor: ctor,
-  readerType: 'byob'
- };
- if (controller._pendingPullIntos.length > 0) {
-  controller._pendingPullIntos.push(pullIntoDescriptor);
-  return ReadableStreamAddReadIntoRequest(stream);
- }
- if (stream._state === 'closed') {
-  var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
-  return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
- }
- if (controller._queueTotalSize > 0) {
-  if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-   var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-   ReadableByteStreamControllerHandleQueueDrain(controller);
-   return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
-  }
-  if (controller._closeRequested === true) {
-   var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-   ReadableByteStreamControllerError(controller, e);
-   return Promise.reject(e);
-  }
- }
- controller._pendingPullIntos.push(pullIntoDescriptor);
- var promise = ReadableStreamAddReadIntoRequest(stream);
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- return promise;
-}
-function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
- firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
- var stream = controller._controlledReadableByteStream;
- if (ReadableStreamHasBYOBReader(stream) === true) {
-  while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-   var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
-   ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
-  }
- }
-}
-function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
- if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
-  throw new RangeError('bytesWritten out of range');
- }
- ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
- if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
-  return;
- }
- ReadableByteStreamControllerShiftPendingPullInto(controller);
- var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
- if (remainderSize > 0) {
-  var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-  var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
- }
- pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
- pullIntoDescriptor.bytesFilled -= remainderSize;
- ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, 
pullIntoDescriptor);
- ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
-}
-function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- var stream = controller._controlledReadableByteStream;
- if (stream._state === 'closed') {
-  if (bytesWritten !== 0) {
-   throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
-  }
-  ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
- } else {
-  ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerShiftPendingPullInto(controller) {
- var descriptor = controller._pendingPullIntos.shift();
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- return descriptor;
-}
-function ReadableByteStreamControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
-  return false;
- }
- if (controller._closeRequested === true) {
-  return false;
- }
- if (controller._started === false) {
-  return false;
- }
- if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-  return true;
- }
- if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-  return true;
- }
- var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
-  return true;
- }
- return false;
-}
-function ReadableByteStreamControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
-}
-function ReadableByteStreamControllerClose(controller) {
- var stream = controller._controlledReadableByteStream;
- if (controller._queueTotalSize > 0) {
-  controller._closeRequested = true;
-  return;
- }
- if (controller._pendingPullIntos.length > 0) {
-  var firstPendingPullInto = controller._pendingPullIntos.peek();
-  if (firstPendingPullInto.bytesFilled > 0) {
-   var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-   ReadableByteStreamControllerError(controller, e);
-   throw e;
-  }
- }
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamClose(stream);
-}
-function ReadableByteStreamControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableByteStream;
- var buffer = chunk.buffer;
- var byteOffset = chunk.byteOffset;
- var byteLength = chunk.byteLength;
- var transferredBuffer = TransferArrayBuffer(buffer);
- if (ReadableStreamHasDefaultReader(stream) === true) {
-  if (ReadableStreamGetNumReadRequests(stream) === 0) {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  } else {
-   var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
-   ReadableStreamFulfillReadRequest(stream, transferredView, false);
-  }
- } else if (ReadableStreamHasBYOBReader(stream) === true) {
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
- } else {
-  ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerError(controller, e) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
-  return;
- }
- ReadableByteStreamControllerClearPendingPullIntos(controller);
- ResetQueue(controller);
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableByteStreamControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableByteStream;
- var state = stream._state;
- if (state === 'errored') {
-  return null;
- }
- if (state === 'closed') {
-  return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableByteStreamControllerRespond(controller, bytesWritten) {
- bytesWritten = Number(bytesWritten);
- if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
-  throw new RangeError('bytesWritten must be a finite');
- }
- ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
-}
-function ReadableByteStreamControllerRespondWithNewView(controller, view) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
-  throw new RangeError('The region specified by view does not match byobRequest');
- }
- if (firstDescriptor.byteLength !== view.byteLength) {
-  throw new RangeError('The buffer of view has different capacity than byobRequest');
- }
- firstDescriptor.buffer = view.buffer;
- ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
-}
-function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, 
cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
- controller._controlledReadableByteStream = stream;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._byobRequest = undefined;
- controller._queue = controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._closeRequested = false;
- controller._started = false;
- controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- controller._autoAllocateChunkSize = autoAllocateChunkSize;
- controller._pendingPullIntos = new SimpleQueue();
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
-  controller._started = true;
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }, function (r) {
-  ReadableByteStreamControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
- var controller = Object.create(ReadableByteStreamController.prototype);
- function startAlgorithm() {
-  return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
- var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
- if (autoAllocateChunkSize !== undefined) {
-  autoAllocateChunkSize = Number(autoAllocateChunkSize);
-  if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
-   throw new RangeError('autoAllocateChunkSize must be a positive integer');
-  }
- }
- SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, autoAllocateChunkSize);
-}
-function SetUpReadableStreamBYOBRequest(request, controller, view) {
- request._associatedReadableByteStreamController = controller;
- request._view = view;
-}
-function byobRequestBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a 
ReadableStreamBYOBRequest");
-}
-function byteStreamControllerBrandCheckException(name) {
- return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a 
ReadableByteStreamController");
-}
-function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
-  forAuthorCode = false;
- }
- var reader = new ReadableStreamBYOBReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadIntoRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
-  var readIntoRequest = {
-   _resolve: resolve,
-   _reject: reject
-  };
-  stream._reader._readIntoRequests.push(readIntoRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readIntoRequest = reader._readIntoRequests.shift();
- readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadIntoRequests(stream) {
- return stream._reader._readIntoRequests.length;
-}
-function ReadableStreamHasBYOBReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
-  return false;
- }
- if (!IsReadableStreamBYOBReader(reader)) {
-  return false;
- }
- return true;
-}
-var ReadableStreamBYOBReader = function () {
- function ReadableStreamBYOBReader(stream) {
-  if (!IsReadableStream(stream)) {
-   throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance 
given a ' + 'byte source');
-  }
-  if (IsReadableByteStreamController(stream._readableStreamController) === false) {
-   throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte 
' + 'source');
-  }
-  if (IsReadableStreamLocked(stream)) {
-   throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-  }
-  ReadableStreamReaderGenericInitialize(this, stream);
-  this._readIntoRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
-  get: function () {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return Promise.reject(byobReaderBrandCheckException('closed'));
-   }
-   return this._closedPromise;
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStreamBYOBReader.prototype.cancel = function (reason) {
-  if (!IsReadableStreamBYOBReader(this)) {
-   return Promise.reject(byobReaderBrandCheckException('cancel'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('cancel'));
-  }
-  return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamBYOBReader.prototype.read = function (view) {
-  if (!IsReadableStreamBYOBReader(this)) {
-   return Promise.reject(byobReaderBrandCheckException('read'));
-  }
-  if (this._ownerReadableStream === undefined) {
-   return Promise.reject(readerLockException('read from'));
-  }
-  if (!ArrayBuffer.isView(view)) {
-   return Promise.reject(new TypeError('view must be an array buffer view'));
-  }
-  if (IsDetachedBuffer(view.buffer) === true);
-  if (view.byteLength === 0) {
-   return Promise.reject(new TypeError('view must have non-zero byteLength'));
-  }
-  return ReadableStreamBYOBReaderRead(this, view);
- };
- ReadableStreamBYOBReader.prototype.releaseLock = function () {
-  if (!IsReadableStreamBYOBReader(this)) {
-   throw byobReaderBrandCheckException('releaseLock');
-  }
-  if (this._ownerReadableStream === undefined) {
-   return;
-  }
-  if (this._readIntoRequests.length > 0) {
-   throw new TypeError('Tried to release a reader lock when that reader has pending read() calls 
un-settled');
-  }
-  ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamBYOBReader;
-}();
-function IsReadableStreamBYOBReader(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
-  return false;
- }
- return true;
-}
-function ReadableStreamBYOBReaderRead(reader, view) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
-}
-function byobReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a 
ReadableStreamBYOBReader");
-}
-var ReadableStream = function () {
- function ReadableStream(underlyingSource, strategy) {
-  if (underlyingSource === void 0) {
-   underlyingSource = {};
-  }
-  if (strategy === void 0) {
-   strategy = {};
-  }
-  InitializeReadableStream(this);
-  var size = strategy.size;
-  var highWaterMark = strategy.highWaterMark;
-  var type = underlyingSource.type;
-  var typeString = String(type);
-  if (typeString === 'bytes') {
-   if (size !== undefined) {
-    throw new RangeError('The strategy for a byte stream cannot have a size function');
-   }
-   if (highWaterMark === undefined) {
-    highWaterMark = 0;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
-  } else if (type === undefined) {
-   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-   if (highWaterMark === undefined) {
-    highWaterMark = 1;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, 
sizeAlgorithm);
-  } else {
-   throw new RangeError('Invalid type is specified');
-  }
- }
- Object.defineProperty(ReadableStream.prototype, "locked", {
-  get: function () {
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('locked');
-   }
-   return IsReadableStreamLocked(this);
-  },
-  enumerable: true,
-  configurable: true
- });
- ReadableStream.prototype.cancel = function (reason) {
-  if (IsReadableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException$1('cancel'));
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));
-  }
-  return ReadableStreamCancel(this, reason);
- };
- ReadableStream.prototype.getReader = function (_a) {
-  var mode = (_a === void 0 ? {} : _a).mode;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('getReader');
-  }
-  if (mode === undefined) {
-   return AcquireReadableStreamDefaultReader(this, true);
-  }
-  mode = String(mode);
-  if (mode === 'byob') {
-   return AcquireReadableStreamBYOBReader(this, true);
-  }
-  throw new RangeError('Invalid mode is specified');
- };
- ReadableStream.prototype.pipeThrough = function (_a, _b) {
-  var writable = _a.writable, readable = _a.readable;
-  var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, 
preventCancel = _c.preventCancel, signal = _c.signal;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('pipeThrough');
-  }
-  if (IsWritableStream(writable) === false) {
-   throw new TypeError('writable argument to pipeThrough must be a WritableStream');
-  }
-  if (IsReadableStream(readable) === false) {
-   throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
-  }
-  preventClose = Boolean(preventClose);
-  preventAbort = Boolean(preventAbort);
-  preventCancel = Boolean(preventCancel);
-  if (signal !== undefined && !isAbortSignal(signal)) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
-  }
-  if (IsWritableStreamLocked(writable) === true) {
-   throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
-  }
-  var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
-  promise.catch(noop);
-  return readable;
- };
- ReadableStream.prototype.pipeTo = function (dest, _a) {
-  var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, 
preventCancel = _b.preventCancel, signal = _b.signal;
-  if (IsReadableStream(this) === false) {
-   return Promise.reject(streamBrandCheckException$1('pipeTo'));
-  }
-  if (IsWritableStream(dest) === false) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a 
WritableStream'));
-  }
-  preventClose = Boolean(preventClose);
-  preventAbort = Boolean(preventAbort);
-  preventCancel = Boolean(preventCancel);
-  if (signal !== undefined && !isAbortSignal(signal)) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an 
AbortSignal'));
-  }
-  if (IsReadableStreamLocked(this) === true) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked 
ReadableStream'));
-  }
-  if (IsWritableStreamLocked(dest) === true) {
-   return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked 
WritableStream'));
-  }
-  return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
- };
- ReadableStream.prototype.tee = function () {
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('tee');
-  }
-  var branches = ReadableStreamTee(this);
-  return createArrayFromList(branches);
- };
- ReadableStream.prototype.getIterator = function (_a) {
-  var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
-  if (IsReadableStream(this) === false) {
-   throw streamBrandCheckException$1('getIterator');
-  }
-  return AcquireReadableStreamAsyncIterator(this, preventCancel);
- };
- return ReadableStream;
-}();
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
-  value: ReadableStream.prototype.getIterator,
-  enumerable: false,
-  writable: true,
-  configurable: true
- });
-}
-function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- if (highWaterMark === void 0) {
-  highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
-  sizeAlgorithm = function () {
-   return 1;
-  };
- }
- var stream = Object.create(ReadableStream.prototype);
- InitializeReadableStream(stream);
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 
highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeReadableStream(stream) {
- stream._state = 'readable';
- stream._reader = undefined;
- stream._storedError = undefined;
- stream._disturbed = false;
-}
-function IsReadableStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
-  return false;
- }
- return true;
-}
-function IsReadableStreamLocked(stream) {
- if (stream._reader === undefined) {
-  return false;
- }
- return true;
-}
-function ReadableStreamCancel(stream, reason) {
- stream._disturbed = true;
- if (stream._state === 'closed') {
-  return Promise.resolve(undefined);
- }
- if (stream._state === 'errored') {
-  return Promise.reject(stream._storedError);
- }
- ReadableStreamClose(stream);
- var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
- return sourceCancelPromise.then(function () {
-  return undefined;
- });
-}
-function ReadableStreamClose(stream) {
- stream._state = 'closed';
- var reader = stream._reader;
- if (reader === undefined) {
-  return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
-  reader._readRequests.forEach(function (readRequest) {
-   readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-  });
-  reader._readRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseResolve(reader);
-}
-function ReadableStreamError(stream, e) {
- stream._state = 'errored';
- stream._storedError = e;
- var reader = stream._reader;
- if (reader === undefined) {
-  return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
-  reader._readRequests.forEach(function (readRequest) {
-   readRequest._reject(e);
-  });
-  reader._readRequests = new SimpleQueue();
- } else {
-  reader._readIntoRequests.forEach(function (readIntoRequest) {
-   readIntoRequest._reject(e);
-  });
-  reader._readIntoRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseReject(reader, e);
-}
-function isAbortSignal(value) {
- if (typeof value !== 'object' || value === null) {
-  return false;
- }
- var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;
- try {
-  aborted.call(value);
-  return true;
- } catch (e) {
-  return false;
- }
-}
-function streamBrandCheckException$1(name) {
- return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
-}
-var ByteLengthQueuingStrategy = function () {
- function ByteLengthQueuingStrategy(_a) {
-  var highWaterMark = _a.highWaterMark;
-  this.highWaterMark = highWaterMark;
- }
- ByteLengthQueuingStrategy.prototype.size = function (chunk) {
-  return chunk.byteLength;
- };
- return ByteLengthQueuingStrategy;
-}();
-var CountQueuingStrategy = function () {
- function CountQueuingStrategy(_a) {
-  var highWaterMark = _a.highWaterMark;
-  this.highWaterMark = highWaterMark;
- }
- CountQueuingStrategy.prototype.size = function () {
-  return 1;
- };
- return CountQueuingStrategy;
-}();
-var TransformStream = function () {
- function TransformStream(transformer, writableStrategy, readableStrategy) {
-  if (transformer === void 0) {
-   transformer = {};
-  }
-  if (writableStrategy === void 0) {
-   writableStrategy = {};
-  }
-  if (readableStrategy === void 0) {
-   readableStrategy = {};
-  }
-  var writableSizeFunction = writableStrategy.size;
-  var writableHighWaterMark = writableStrategy.highWaterMark;
-  var readableSizeFunction = readableStrategy.size;
-  var readableHighWaterMark = readableStrategy.highWaterMark;
-  var writableType = transformer.writableType;
-  if (writableType !== undefined) {
-   throw new RangeError('Invalid writable type specified');
-  }
-  var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
-  if (writableHighWaterMark === undefined) {
-   writableHighWaterMark = 1;
-  }
-  writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
-  var readableType = transformer.readableType;
-  if (readableType !== undefined) {
-   throw new RangeError('Invalid readable type specified');
-  }
-  var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
-  if (readableHighWaterMark === undefined) {
-   readableHighWaterMark = 0;
-  }
-  readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
-  var startPromise_resolve;
-  var startPromise = new Promise(function (resolve) {
-   startPromise_resolve = resolve;
-  });
-  InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm);
-  SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
-  var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
-  startPromise_resolve(startResult);
- }
- Object.defineProperty(TransformStream.prototype, "readable", {
-  get: function () {
-   if (IsTransformStream(this) === false) {
-    throw streamBrandCheckException$2('readable');
-   }
-   return this._readable;
-  },
-  enumerable: true,
-  configurable: true
- });
- Object.defineProperty(TransformStream.prototype, "writable", {
-  get: function () {
-   if (IsTransformStream(this) === false) {
-    throw streamBrandCheckException$2('writable');
-   }
-   return this._writable;
-  },
-  enumerable: true,
-  configurable: true
- });
- return TransformStream;
-}();
-function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm) {
- function startAlgorithm() {
-  return startPromise;
- }
- function writeAlgorithm(chunk) {
-  return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
- }
- function abortAlgorithm(reason) {
-  return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
- }
- function closeAlgorithm() {
-  return TransformStreamDefaultSinkCloseAlgorithm(stream);
- }
- stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, 
writableHighWaterMark, writableSizeAlgorithm);
- function pullAlgorithm() {
-  return TransformStreamDefaultSourcePullAlgorithm(stream);
- }
- function cancelAlgorithm(reason) {
-  TransformStreamErrorWritableAndUnblockWrite(stream, reason);
-  return Promise.resolve();
- }
- stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 
readableHighWaterMark, readableSizeAlgorithm);
- stream._backpressure = undefined;
- stream._backpressureChangePromise = undefined;
- stream._backpressureChangePromise_resolve = undefined;
- TransformStreamSetBackpressure(stream, true);
- stream._transformStreamController = undefined;
-}
-function IsTransformStream(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
-  return false;
- }
- return true;
-}
-function TransformStreamError(stream, e) {
- ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
- TransformStreamErrorWritableAndUnblockWrite(stream, e);
-}
-function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
- TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
- WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
- if (stream._backpressure === true) {
-  TransformStreamSetBackpressure(stream, false);
- }
-}
-function TransformStreamSetBackpressure(stream, backpressure) {
- if (stream._backpressureChangePromise !== undefined) {
-  stream._backpressureChangePromise_resolve();
- }
- stream._backpressureChangePromise = new Promise(function (resolve) {
-  stream._backpressureChangePromise_resolve = resolve;
- });
- stream._backpressure = backpressure;
-}
-var TransformStreamDefaultController = function () {
- function TransformStreamDefaultController() {
-  throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
- }
- Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
-  get: function () {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('desiredSize');
-   }
-   var readableController = this._controlledTransformStream._readable._readableStreamController;
-   return ReadableStreamDefaultControllerGetDesiredSize(readableController);
-  },
-  enumerable: true,
-  configurable: true
- });
- TransformStreamDefaultController.prototype.enqueue = function (chunk) {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('enqueue');
-  }
-  TransformStreamDefaultControllerEnqueue(this, chunk);
- };
- TransformStreamDefaultController.prototype.error = function (reason) {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('error');
-  }
-  TransformStreamDefaultControllerError(this, reason);
- };
- TransformStreamDefaultController.prototype.terminate = function () {
-  if (IsTransformStreamDefaultController(this) === false) {
-   throw defaultControllerBrandCheckException$1('terminate');
-  }
-  TransformStreamDefaultControllerTerminate(this);
- };
- return TransformStreamDefaultController;
-}();
-function IsTransformStreamDefaultController(x) {
- if (!typeIsObject(x)) {
-  return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
-  return false;
- }
- return true;
-}
-function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
- controller._controlledTransformStream = stream;
- stream._transformStreamController = controller;
- controller._transformAlgorithm = transformAlgorithm;
- controller._flushAlgorithm = flushAlgorithm;
-}
-function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
- var controller = Object.create(TransformStreamDefaultController.prototype);
- var transformAlgorithm = function (chunk) {
-  try {
-   TransformStreamDefaultControllerEnqueue(controller, chunk);
-   return Promise.resolve();
-  } catch (transformResultE) {
-   return Promise.reject(transformResultE);
-  }
- };
- var transformMethod = transformer.transform;
- if (transformMethod !== undefined) {
-  if (typeof transformMethod !== 'function') {
-   throw new TypeError('transform is not a method');
-  }
-  transformAlgorithm = function (chunk) {
-   return PromiseCall(transformMethod, transformer, [
-    chunk,
-    controller
-   ]);
-  };
- }
- var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
- SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
-}
-function TransformStreamDefaultControllerClearAlgorithms(controller) {
- controller._transformAlgorithm = undefined;
- controller._flushAlgorithm = undefined;
-}
-function TransformStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
-  throw new TypeError('Readable side is not in a state that permits enqueue');
- }
- try {
-  ReadableStreamDefaultControllerEnqueue(readableController, chunk);
- } catch (e) {
-  TransformStreamErrorWritableAndUnblockWrite(stream, e);
-  throw stream._readable._storedError;
- }
- var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
- if (backpressure !== stream._backpressure) {
-  TransformStreamSetBackpressure(stream, true);
- }
-}
-function TransformStreamDefaultControllerError(controller, e) {
- TransformStreamError(controller._controlledTransformStream, e);
-}
-function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
- var transformPromise = controller._transformAlgorithm(chunk);
- return transformPromise.catch(function (r) {
-  TransformStreamError(controller._controlledTransformStream, r);
-  throw r;
- });
-}
-function TransformStreamDefaultControllerTerminate(controller) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-  ReadableStreamDefaultControllerClose(readableController);
- }
- var error = new TypeError('TransformStream terminated');
- TransformStreamErrorWritableAndUnblockWrite(stream, error);
-}
-function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
- var controller = stream._transformStreamController;
- if (stream._backpressure === true) {
-  var backpressureChangePromise = stream._backpressureChangePromise;
-  return backpressureChangePromise.then(function () {
-   var writable = stream._writable;
-   var state = writable._state;
-   if (state === 'erroring') {
-    throw writable._storedError;
-   }
-   return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-  });
- }
- return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-}
-function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
- TransformStreamError(stream, reason);
- return Promise.resolve();
-}
-function TransformStreamDefaultSinkCloseAlgorithm(stream) {
- var readable = stream._readable;
- var controller = stream._transformStreamController;
- var flushPromise = controller._flushAlgorithm();
- TransformStreamDefaultControllerClearAlgorithms(controller);
- return flushPromise.then(function () {
-  if (readable._state === 'errored') {
-   throw readable._storedError;
-  }
-  var readableController = readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-   ReadableStreamDefaultControllerClose(readableController);
-  }
- }).catch(function (r) {
-  TransformStreamError(stream, r);
-  throw readable._storedError;
- });
-}
-function TransformStreamDefaultSourcePullAlgorithm(stream) {
- TransformStreamSetBackpressure(stream, false);
- return stream._backpressureChangePromise;
-}
-function defaultControllerBrandCheckException$1(name) {
- return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a 
TransformStreamDefaultController");
-}
-function streamBrandCheckException$2(name) {
- return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
-}
-
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.clearPrimitiveCaches = clearPrimitiveCaches;
-exports.isEOF = isEOF;
-exports.isCmd = isCmd;
-exports.isDict = isDict;
-exports.isName = isName;
-exports.isRef = isRef;
-exports.isRefsEqual = isRefsEqual;
-exports.isStream = isStream;
-exports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF 
= void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); }); }; }
+var _util = __w_pdfjs_require__(2);
 
 var EOF = {};
 exports.EOF = EOF;
 
 var Name = function NameClosure() {
-  var nameCache = Object.create(null);
+  let nameCache = Object.create(null);
 
   function Name(name) {
     this.name = name;
@@ -10959,7 +1546,7 @@ var Name = function NameClosure() {
 exports.Name = Name;
 
 var Cmd = function CmdClosure() {
-  var cmdCache = Object.create(null);
+  let cmdCache = Object.create(null);
 
   function Cmd(cmd) {
     this.cmd = cmd;
@@ -10998,13 +1585,14 @@ var Dict = function DictClosure() {
     assignXref: function Dict_assignXref(newXref) {
       this.xref = newXref;
     },
-    get: function get(key1, key2, key3) {
-      var value = this._map[key1];
 
-      if (value === undefined && !(key1 in this._map) && key2 !== undefined) {
+    get(key1, key2, key3) {
+      let value = this._map[key1];
+
+      if (value === undefined && key2 !== undefined) {
         value = this._map[key2];
 
-        if (value === undefined && !(key2 in this._map) && key3 !== undefined) {
+        if (value === undefined && key3 !== undefined) {
           value = this._map[key3];
         }
       }
@@ -11015,51 +1603,27 @@ var Dict = function DictClosure() {
 
       return value;
     },
-    getAsync: function () {
-      var _getAsync = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(key1, key2, key3) {
-        var value;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                value = this._map[key1];
-
-                if (value === undefined && !(key1 in this._map) && key2 !== undefined) {
-                  value = this._map[key2];
-
-                  if (value === undefined && !(key2 in this._map) && key3 !== undefined) {
-                    value = this._map[key3];
-                  }
-                }
-
-                if (!(value instanceof Ref && this.xref)) {
-                  _context.next = 4;
-                  break;
-                }
 
-                return _context.abrupt("return", this.xref.fetchAsync(value, this.suppressEncryption));
+    async getAsync(key1, key2, key3) {
+      let value = this._map[key1];
 
-              case 4:
-                return _context.abrupt("return", value);
+      if (value === undefined && key2 !== undefined) {
+        value = this._map[key2];
 
-              case 5:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+        if (value === undefined && key3 !== undefined) {
+          value = this._map[key3];
+        }
+      }
 
-      function getAsync(_x, _x2, _x3) {
-        return _getAsync.apply(this, arguments);
+      if (value instanceof Ref && this.xref) {
+        return this.xref.fetchAsync(value, this.suppressEncryption);
       }
 
-      return getAsync;
-    }(),
-    getArray: function getArray(key1, key2, key3) {
-      var value = this.get(key1, key2, key3);
+      return value;
+    },
+
+    getArray(key1, key2, key3) {
+      let value = this.get(key1, key2, key3);
 
       if (!Array.isArray(value) || !this.xref) {
         return value;
@@ -11067,7 +1631,7 @@ var Dict = function DictClosure() {
 
       value = value.slice();
 
-      for (var i = 0, ii = value.length; i < ii; i++) {
+      for (let i = 0, ii = value.length; i < ii; i++) {
         if (!(value[i] instanceof Ref)) {
           continue;
         }
@@ -11077,6 +1641,7 @@ var Dict = function DictClosure() {
 
       return value;
     },
+
     getRaw: function Dict_getRaw(key) {
       return this._map[key];
     },
@@ -11087,7 +1652,7 @@ var Dict = function DictClosure() {
       this._map[key] = value;
     },
     has: function Dict_has(key) {
-      return key in this._map;
+      return this._map[key] !== undefined;
     },
     forEach: function Dict_forEach(callback) {
       for (var key in this._map) {
@@ -11098,16 +1663,16 @@ var Dict = function DictClosure() {
   Dict.empty = new Dict(null);
 
   Dict.merge = function (xref, dictArray) {
-    var mergedDict = new Dict(xref);
+    const mergedDict = new Dict(xref);
 
-    for (var i = 0, ii = dictArray.length; i < ii; i++) {
-      var dict = dictArray[i];
+    for (let i = 0, ii = dictArray.length; i < ii; i++) {
+      const dict = dictArray[i];
 
       if (!isDict(dict)) {
         continue;
       }
 
-      for (var keyName in dict._map) {
+      for (const keyName in dict._map) {
         if (mergedDict._map[keyName] !== undefined) {
           continue;
         }
@@ -11125,7 +1690,7 @@ var Dict = function DictClosure() {
 exports.Dict = Dict;
 
 var Ref = function RefClosure() {
-  var refCache = Object.create(null);
+  let refCache = Object.create(null);
 
   function Ref(num, gen) {
     this.num = num;
@@ -11135,16 +1700,16 @@ var Ref = function RefClosure() {
   Ref.prototype = {
     toString: function Ref_toString() {
       if (this.gen === 0) {
-        return "".concat(this.num, "R");
+        return `${this.num}R`;
       }
 
-      return "".concat(this.num, "R").concat(this.gen);
+      return `${this.num}R${this.gen}`;
     }
   };
 
   Ref.get = function (num, gen) {
-    var key = gen === 0 ? "".concat(num, "R") : "".concat(num, "R").concat(gen);
-    var refValue = refCache[key];
+    const key = gen === 0 ? `${num}R` : `${num}R${gen}`;
+    const refValue = refCache[key];
     return refValue ? refValue : refCache[key] = new Ref(num, gen);
   };
 
@@ -11196,9 +1761,9 @@ var RefSetCache = function RefSetCacheClosure() {
     putAlias: function RefSetCache_putAlias(ref, aliasRef) {
       this.dict[ref.toString()] = this.get(aliasRef);
     },
-    forEach: function RefSetCache_forEach(fn, thisArg) {
-      for (var i in this.dict) {
-        fn.call(thisArg, this.dict[i]);
+    forEach: function RefSetCache_forEach(callback) {
+      for (const i in this.dict) {
+        callback(this.dict[i]);
       }
     },
     clear: function RefSetCache_clear() {
@@ -11223,7 +1788,7 @@ function isCmd(v, cmd) {
 }
 
 function isDict(v, type) {
-  return v instanceof Dict && (type === undefined || isName(v.get('Type'), type));
+  return v instanceof Dict && (type === undefined || isName(v.get("Type"), type));
 }
 
 function isRef(v) {
@@ -11235,7 +1800,7 @@ function isRefsEqual(v1, v2) {
 }
 
 function isStream(v) {
-  return _typeof(v) === 'object' && v !== null && v.getBytes !== undefined;
+  return typeof v === "object" && v !== null && v.getBytes !== undefined;
 }
 
 function clearPrimitiveCaches() {
@@ -11247,7 +1812,7 @@ function clearPrimitiveCaches() {
 }
 
 /***/ }),
-/* 184 */
+/* 5 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -11258,370 +1823,203 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.NetworkPdfManager = exports.LocalPdfManager = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
+var _util = __w_pdfjs_require__(2);
 
-var _util = __w_pdfjs_require__(5);
+var _chunked_stream = __w_pdfjs_require__(6);
 
-var _chunked_stream = __w_pdfjs_require__(185);
+var _core_utils = __w_pdfjs_require__(7);
 
-var _core_utils = __w_pdfjs_require__(186);
+var _document = __w_pdfjs_require__(8);
 
-var _document = __w_pdfjs_require__(187);
+var _stream = __w_pdfjs_require__(11);
 
-var _stream = __w_pdfjs_require__(190);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+class BasePdfManager {
+  constructor() {
+    if (this.constructor === BasePdfManager) {
+      (0, _util.unreachable)("Cannot initialize BasePdfManager.");
+    }
+  }
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+  get docId() {
+    return this._docId;
+  }
 
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } return _assertThisInitialized(self); }
+  get password() {
+    return this._password;
+  }
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+  get docBaseUrl() {
+    let docBaseUrl = null;
 
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been 
initialised - super() hasn't been called"); } return self; }
+    if (this._docBaseUrl) {
+      const absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+      if (absoluteUrl) {
+        docBaseUrl = absoluteUrl.href;
+      } else {
+        (0, _util.warn)(`Invalid absolute docBaseUrl: "${this._docBaseUrl}".`);
+      }
+    }
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+    return (0, _util.shadow)(this, "docBaseUrl", docBaseUrl);
+  }
 
-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); } }
+  onLoadedStream() {
+    (0, _util.unreachable)("Abstract method `onLoadedStream` called");
+  }
 
-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); }); }; }
+  ensureDoc(prop, args) {
+    return this.ensure(this.pdfDocument, prop, args);
+  }
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+  ensureXRef(prop, args) {
+    return this.ensure(this.pdfDocument.xref, prop, args);
+  }
 
-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); } }
+  ensureCatalog(prop, args) {
+    return this.ensure(this.pdfDocument.catalog, prop, args);
+  }
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+  getPage(pageIndex) {
+    return this.pdfDocument.getPage(pageIndex);
+  }
 
-var BasePdfManager =
-/*#__PURE__*/
-function () {
-  function BasePdfManager() {
-    _classCallCheck(this, BasePdfManager);
+  fontFallback(id, handler) {
+    return this.pdfDocument.fontFallback(id, handler);
+  }
 
-    if (this.constructor === BasePdfManager) {
-      (0, _util.unreachable)('Cannot initialize BasePdfManager.');
-    }
+  cleanup() {
+    return this.pdfDocument.cleanup();
   }
 
-  _createClass(BasePdfManager, [{
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      (0, _util.unreachable)('Abstract method `onLoadedStream` called');
-    }
-  }, {
-    key: "ensureDoc",
-    value: function ensureDoc(prop, args) {
-      return this.ensure(this.pdfDocument, prop, args);
-    }
-  }, {
-    key: "ensureXRef",
-    value: function ensureXRef(prop, args) {
-      return this.ensure(this.pdfDocument.xref, prop, args);
-    }
-  }, {
-    key: "ensureCatalog",
-    value: function ensureCatalog(prop, args) {
-      return this.ensure(this.pdfDocument.catalog, prop, args);
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageIndex) {
-      return this.pdfDocument.getPage(pageIndex);
-    }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      return this.pdfDocument.fontFallback(id, handler);
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      return this.pdfDocument.cleanup();
-    }
-  }, {
-    key: "ensure",
-    value: function () {
-      var _ensure = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(obj, prop, args) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                (0, _util.unreachable)('Abstract method `ensure` called');
+  async ensure(obj, prop, args) {
+    (0, _util.unreachable)("Abstract method `ensure` called");
+  }
 
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
+  requestRange(begin, end) {
+    (0, _util.unreachable)("Abstract method `requestRange` called");
+  }
 
-      function ensure(_x, _x2, _x3) {
-        return _ensure.apply(this, arguments);
-      }
+  requestLoadedStream() {
+    (0, _util.unreachable)("Abstract method `requestLoadedStream` called");
+  }
 
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      (0, _util.unreachable)('Abstract method `requestRange` called');
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {
-      (0, _util.unreachable)('Abstract method `requestLoadedStream` called');
-    }
-  }, {
-    key: "sendProgressiveData",
-    value: function sendProgressiveData(chunk) {
-      (0, _util.unreachable)('Abstract method `sendProgressiveData` called');
-    }
-  }, {
-    key: "updatePassword",
-    value: function updatePassword(password) {
-      this._password = password;
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {
-      (0, _util.unreachable)('Abstract method `terminate` called');
-    }
-  }, {
-    key: "docId",
-    get: function get() {
-      return this._docId;
-    }
-  }, {
-    key: "password",
-    get: function get() {
-      return this._password;
-    }
-  }, {
-    key: "docBaseUrl",
-    get: function get() {
-      var docBaseUrl = null;
+  sendProgressiveData(chunk) {
+    (0, _util.unreachable)("Abstract method `sendProgressiveData` called");
+  }
 
-      if (this._docBaseUrl) {
-        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);
+  updatePassword(password) {
+    this._password = password;
+  }
 
-        if (absoluteUrl) {
-          docBaseUrl = absoluteUrl.href;
-        } else {
-          (0, _util.warn)("Invalid absolute docBaseUrl: \"".concat(this._docBaseUrl, "\"."));
-        }
-      }
+  terminate(reason) {
+    (0, _util.unreachable)("Abstract method `terminate` called");
+  }
 
-      return (0, _util.shadow)(this, 'docBaseUrl', docBaseUrl);
-    }
-  }]);
+}
 
-  return BasePdfManager;
-}();
+class LocalPdfManager extends BasePdfManager {
+  constructor(docId, data, password, evaluatorOptions, docBaseUrl) {
+    super();
+    this._docId = docId;
+    this._password = password;
+    this._docBaseUrl = docBaseUrl;
+    this.evaluatorOptions = evaluatorOptions;
+    const stream = new _stream.Stream(data);
+    this.pdfDocument = new _document.PDFDocument(this, stream);
+    this._loadedStreamPromise = Promise.resolve(stream);
+  }
 
-var LocalPdfManager =
-/*#__PURE__*/
-function (_BasePdfManager) {
-  _inherits(LocalPdfManager, _BasePdfManager);
-
-  function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {
-    var _this;
-
-    _classCallCheck(this, LocalPdfManager);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(LocalPdfManager).call(this));
-    _this._docId = docId;
-    _this._password = password;
-    _this._docBaseUrl = docBaseUrl;
-    _this.evaluatorOptions = evaluatorOptions;
-    var stream = new _stream.Stream(data);
-    _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);
-    _this._loadedStreamPromise = Promise.resolve(stream);
-    return _this;
-  }
-
-  _createClass(LocalPdfManager, [{
-    key: "ensure",
-    value: function () {
-      var _ensure2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(obj, prop, args) {
-        var value;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                value = obj[prop];
+  async ensure(obj, prop, args) {
+    const value = obj[prop];
 
-                if (!(typeof value === 'function')) {
-                  _context2.next = 3;
-                  break;
-                }
+    if (typeof value === "function") {
+      return value.apply(obj, args);
+    }
 
-                return _context2.abrupt("return", value.apply(obj, args));
+    return value;
+  }
 
-              case 3:
-                return _context2.abrupt("return", value);
+  requestRange(begin, end) {
+    return Promise.resolve();
+  }
 
-              case 4:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
+  requestLoadedStream() {}
 
-      function ensure(_x4, _x5, _x6) {
-        return _ensure2.apply(this, arguments);
-      }
+  onLoadedStream() {
+    return this._loadedStreamPromise;
+  }
 
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      return Promise.resolve();
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {}
-  }, {
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this._loadedStreamPromise;
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {}
-  }]);
+  terminate(reason) {}
 
-  return LocalPdfManager;
-}(BasePdfManager);
+}
 
 exports.LocalPdfManager = LocalPdfManager;
 
-var NetworkPdfManager =
-/*#__PURE__*/
-function (_BasePdfManager2) {
-  _inherits(NetworkPdfManager, _BasePdfManager2);
-
-  function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {
-    var _this2;
-
-    _classCallCheck(this, NetworkPdfManager);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NetworkPdfManager).call(this));
-    _this2._docId = docId;
-    _this2._password = args.password;
-    _this2._docBaseUrl = docBaseUrl;
-    _this2.msgHandler = args.msgHandler;
-    _this2.evaluatorOptions = evaluatorOptions;
-    _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {
+class NetworkPdfManager extends BasePdfManager {
+  constructor(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {
+    super();
+    this._docId = docId;
+    this._password = args.password;
+    this._docBaseUrl = docBaseUrl;
+    this.msgHandler = args.msgHandler;
+    this.evaluatorOptions = evaluatorOptions;
+    this.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {
       msgHandler: args.msgHandler,
       length: args.length,
       disableAutoFetch: args.disableAutoFetch,
       rangeChunkSize: args.rangeChunkSize
     });
-    _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), 
_this2.streamManager.getStream());
-    return _this2;
-  }
-
-  _createClass(NetworkPdfManager, [{
-    key: "ensure",
-    value: function () {
-      var _ensure3 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3(obj, prop, args) {
-        var value;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.prev = 0;
-                value = obj[prop];
-
-                if (!(typeof value === 'function')) {
-                  _context3.next = 4;
-                  break;
-                }
-
-                return _context3.abrupt("return", value.apply(obj, args));
+    this.pdfDocument = new _document.PDFDocument(this, this.streamManager.getStream());
+  }
 
-              case 4:
-                return _context3.abrupt("return", value);
+  async ensure(obj, prop, args) {
+    try {
+      const value = obj[prop];
 
-              case 7:
-                _context3.prev = 7;
-                _context3.t0 = _context3["catch"](0);
+      if (typeof value === "function") {
+        return value.apply(obj, args);
+      }
 
-                if (_context3.t0 instanceof _core_utils.MissingDataException) {
-                  _context3.next = 11;
-                  break;
-                }
+      return value;
+    } catch (ex) {
+      if (!(ex instanceof _core_utils.MissingDataException)) {
+        throw ex;
+      }
 
-                throw _context3.t0;
+      await this.requestRange(ex.begin, ex.end);
+      return this.ensure(obj, prop, args);
+    }
+  }
 
-              case 11:
-                _context3.next = 13;
-                return this.requestRange(_context3.t0.begin, _context3.t0.end);
+  requestRange(begin, end) {
+    return this.streamManager.requestRange(begin, end);
+  }
 
-              case 13:
-                return _context3.abrupt("return", this.ensure(obj, prop, args));
+  requestLoadedStream() {
+    this.streamManager.requestAllChunks();
+  }
 
-              case 14:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this, [[0, 7]]);
-      }));
+  sendProgressiveData(chunk) {
+    this.streamManager.onReceiveData({
+      chunk
+    });
+  }
 
-      function ensure(_x7, _x8, _x9) {
-        return _ensure3.apply(this, arguments);
-      }
+  onLoadedStream() {
+    return this.streamManager.onLoadedStream();
+  }
 
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      return this.streamManager.requestRange(begin, end);
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {
-      this.streamManager.requestAllChunks();
-    }
-  }, {
-    key: "sendProgressiveData",
-    value: function sendProgressiveData(chunk) {
-      this.streamManager.onReceiveData({
-        chunk: chunk
-      });
-    }
-  }, {
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this.streamManager.onLoadedStream();
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {
-      this.streamManager.abort(reason);
-    }
-  }]);
+  terminate(reason) {
+    this.streamManager.abort(reason);
+  }
 
-  return NetworkPdfManager;
-}(BasePdfManager);
+}
 
 exports.NetworkPdfManager = NetworkPdfManager;
 
 /***/ }),
-/* 185 */
+/* 6 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -11632,22 +2030,12 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.ChunkedStreamManager = exports.ChunkedStream = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _core_utils = __w_pdfjs_require__(186);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _util = __w_pdfjs_require__(2);
 
-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); return Constructor; }
-
-var ChunkedStream =
-/*#__PURE__*/
-function () {
-  function ChunkedStream(length, chunkSize, manager) {
-    _classCallCheck(this, ChunkedStream);
+var _core_utils = __w_pdfjs_require__(7);
 
+class ChunkedStream {
+  constructor(length, chunkSize, manager) {
     this.bytes = new Uint8Array(length);
     this.start = 0;
     this.pos = 0;
@@ -11661,312 +2049,292 @@ function () {
     this.lastSuccessfulEnsureByteChunk = -1;
   }
 
-  _createClass(ChunkedStream, [{
-    key: "getMissingChunks",
-    value: function getMissingChunks() {
-      var chunks = [];
+  getMissingChunks() {
+    const chunks = [];
 
-      for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {
-        if (!this.loadedChunks[chunk]) {
-          chunks.push(chunk);
-        }
+    for (let chunk = 0, n = this.numChunks; chunk < n; ++chunk) {
+      if (!this.loadedChunks[chunk]) {
+        chunks.push(chunk);
       }
-
-      return chunks;
     }
-  }, {
-    key: "getBaseStreams",
-    value: function getBaseStreams() {
-      return [this];
+
+    return chunks;
+  }
+
+  getBaseStreams() {
+    return [this];
+  }
+
+  allChunksLoaded() {
+    return this.numChunksLoaded === this.numChunks;
+  }
+
+  onReceiveData(begin, chunk) {
+    const chunkSize = this.chunkSize;
+
+    if (begin % chunkSize !== 0) {
+      throw new Error(`Bad begin offset: ${begin}`);
     }
-  }, {
-    key: "allChunksLoaded",
-    value: function allChunksLoaded() {
-      return this.numChunksLoaded === this.numChunks;
+
+    const end = begin + chunk.byteLength;
+
+    if (end % chunkSize !== 0 && end !== this.bytes.length) {
+      throw new Error(`Bad end offset: ${end}`);
     }
-  }, {
-    key: "onReceiveData",
-    value: function onReceiveData(begin, chunk) {
-      var chunkSize = this.chunkSize;
 
-      if (begin % chunkSize !== 0) {
-        throw new Error("Bad begin offset: ".concat(begin));
+    this.bytes.set(new Uint8Array(chunk), begin);
+    const beginChunk = Math.floor(begin / chunkSize);
+    const endChunk = Math.floor((end - 1) / chunkSize) + 1;
+
+    for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
+      if (!this.loadedChunks[curChunk]) {
+        this.loadedChunks[curChunk] = true;
+        ++this.numChunksLoaded;
       }
+    }
+  }
 
-      var end = begin + chunk.byteLength;
+  onReceiveProgressiveData(data) {
+    let position = this.progressiveDataLength;
+    const beginChunk = Math.floor(position / this.chunkSize);
+    this.bytes.set(new Uint8Array(data), position);
+    position += data.byteLength;
+    this.progressiveDataLength = position;
+    const endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);
 
-      if (end % chunkSize !== 0 && end !== this.bytes.length) {
-        throw new Error("Bad end offset: ".concat(end));
+    for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
+      if (!this.loadedChunks[curChunk]) {
+        this.loadedChunks[curChunk] = true;
+        ++this.numChunksLoaded;
       }
+    }
+  }
+
+  ensureByte(pos) {
+    if (pos < this.progressiveDataLength) {
+      return;
+    }
+
+    const chunk = Math.floor(pos / this.chunkSize);
+
+    if (chunk === this.lastSuccessfulEnsureByteChunk) {
+      return;
+    }
+
+    if (!this.loadedChunks[chunk]) {
+      throw new _core_utils.MissingDataException(pos, pos + 1);
+    }
+
+    this.lastSuccessfulEnsureByteChunk = chunk;
+  }
 
-      this.bytes.set(new Uint8Array(chunk), begin);
-      var beginChunk = Math.floor(begin / chunkSize);
-      var endChunk = Math.floor((end - 1) / chunkSize) + 1;
+  ensureRange(begin, end) {
+    if (begin >= end) {
+      return;
+    }
 
-      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
-        if (!this.loadedChunks[curChunk]) {
-          this.loadedChunks[curChunk] = true;
-          ++this.numChunksLoaded;
-        }
-      }
+    if (end <= this.progressiveDataLength) {
+      return;
     }
-  }, {
-    key: "onReceiveProgressiveData",
-    value: function onReceiveProgressiveData(data) {
-      var position = this.progressiveDataLength;
-      var beginChunk = Math.floor(position / this.chunkSize);
-      this.bytes.set(new Uint8Array(data), position);
-      position += data.byteLength;
-      this.progressiveDataLength = position;
-      var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);
 
-      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
-        if (!this.loadedChunks[curChunk]) {
-          this.loadedChunks[curChunk] = true;
-          ++this.numChunksLoaded;
-        }
+    const chunkSize = this.chunkSize;
+    const beginChunk = Math.floor(begin / chunkSize);
+    const endChunk = Math.floor((end - 1) / chunkSize) + 1;
+
+    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {
+      if (!this.loadedChunks[chunk]) {
+        throw new _core_utils.MissingDataException(begin, end);
       }
     }
-  }, {
-    key: "ensureByte",
-    value: function ensureByte(pos) {
-      if (pos < this.progressiveDataLength) {
-        return;
-      }
+  }
 
-      var chunk = Math.floor(pos / this.chunkSize);
+  nextEmptyChunk(beginChunk) {
+    const numChunks = this.numChunks;
 
-      if (chunk === this.lastSuccessfulEnsureByteChunk) {
-        return;
-      }
+    for (let i = 0; i < numChunks; ++i) {
+      const chunk = (beginChunk + i) % numChunks;
 
       if (!this.loadedChunks[chunk]) {
-        throw new _core_utils.MissingDataException(pos, pos + 1);
+        return chunk;
       }
-
-      this.lastSuccessfulEnsureByteChunk = chunk;
     }
-  }, {
-    key: "ensureRange",
-    value: function ensureRange(begin, end) {
-      if (begin >= end) {
-        return;
-      }
 
-      if (end <= this.progressiveDataLength) {
-        return;
-      }
+    return null;
+  }
 
-      var chunkSize = this.chunkSize;
-      var beginChunk = Math.floor(begin / chunkSize);
-      var endChunk = Math.floor((end - 1) / chunkSize) + 1;
+  hasChunk(chunk) {
+    return !!this.loadedChunks[chunk];
+  }
 
-      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-        if (!this.loadedChunks[chunk]) {
-          throw new _core_utils.MissingDataException(begin, end);
-        }
-      }
-    }
-  }, {
-    key: "nextEmptyChunk",
-    value: function nextEmptyChunk(beginChunk) {
-      var numChunks = this.numChunks;
+  get length() {
+    return this.end - this.start;
+  }
 
-      for (var i = 0; i < numChunks; ++i) {
-        var chunk = (beginChunk + i) % numChunks;
+  get isEmpty() {
+    return this.length === 0;
+  }
 
-        if (!this.loadedChunks[chunk]) {
-          return chunk;
-        }
-      }
+  getByte() {
+    const pos = this.pos;
 
-      return null;
+    if (pos >= this.end) {
+      return -1;
     }
-  }, {
-    key: "hasChunk",
-    value: function hasChunk(chunk) {
-      return !!this.loadedChunks[chunk];
+
+    if (pos >= this.progressiveDataLength) {
+      this.ensureByte(pos);
     }
-  }, {
-    key: "getByte",
-    value: function getByte() {
-      var pos = this.pos;
 
-      if (pos >= this.end) {
-        return -1;
-      }
+    return this.bytes[this.pos++];
+  }
 
-      if (pos >= this.progressiveDataLength) {
-        this.ensureByte(pos);
-      }
+  getUint16() {
+    const b0 = this.getByte();
+    const b1 = this.getByte();
 
-      return this.bytes[this.pos++];
+    if (b0 === -1 || b1 === -1) {
+      return -1;
     }
-  }, {
-    key: "getUint16",
-    value: function getUint16() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-
-      if (b0 === -1 || b1 === -1) {
-        return -1;
-      }
 
-      return (b0 << 8) + b1;
-    }
-  }, {
-    key: "getInt32",
-    value: function getInt32() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-      var b2 = this.getByte();
-      var b3 = this.getByte();
-      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
-    }
-  }, {
-    key: "getBytes",
-    value: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.bytes;
-      var pos = this.pos;
-      var strEnd = this.end;
+    return (b0 << 8) + b1;
+  }
 
-      if (!length) {
-        if (strEnd > this.progressiveDataLength) {
-          this.ensureRange(pos, strEnd);
-        }
+  getInt32() {
+    const b0 = this.getByte();
+    const b1 = this.getByte();
+    const b2 = this.getByte();
+    const b3 = this.getByte();
+    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
+  }
 
-        var _subarray = bytes.subarray(pos, strEnd);
+  getBytes(length, forceClamped = false) {
+    const bytes = this.bytes;
+    const pos = this.pos;
+    const strEnd = this.end;
 
-        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;
+    if (!length) {
+      if (strEnd > this.progressiveDataLength) {
+        this.ensureRange(pos, strEnd);
       }
 
-      var end = pos + length;
+      const subarray = bytes.subarray(pos, strEnd);
+      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
+    }
 
-      if (end > strEnd) {
-        end = strEnd;
-      }
+    let end = pos + length;
 
-      if (end > this.progressiveDataLength) {
-        this.ensureRange(pos, end);
-      }
+    if (end > strEnd) {
+      end = strEnd;
+    }
 
-      this.pos = end;
-      var subarray = bytes.subarray(pos, end);
-      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
+    if (end > this.progressiveDataLength) {
+      this.ensureRange(pos, end);
     }
-  }, {
-    key: "peekByte",
-    value: function peekByte() {
-      var peekedByte = this.getByte();
+
+    this.pos = end;
+    const subarray = bytes.subarray(pos, end);
+    return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
+  }
+
+  peekByte() {
+    const peekedByte = this.getByte();
+
+    if (peekedByte !== -1) {
       this.pos--;
-      return peekedByte;
-    }
-  }, {
-    key: "peekBytes",
-    value: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.getBytes(length, forceClamped);
-      this.pos -= bytes.length;
-      return bytes;
     }
-  }, {
-    key: "getByteRange",
-    value: function getByteRange(begin, end) {
-      if (begin < 0) {
-        begin = 0;
-      }
 
-      if (end > this.end) {
-        end = this.end;
-      }
+    return peekedByte;
+  }
 
-      if (end > this.progressiveDataLength) {
-        this.ensureRange(begin, end);
-      }
+  peekBytes(length, forceClamped = false) {
+    const bytes = this.getBytes(length, forceClamped);
+    this.pos -= bytes.length;
+    return bytes;
+  }
 
-      return this.bytes.subarray(begin, end);
+  getByteRange(begin, end) {
+    if (begin < 0) {
+      begin = 0;
     }
-  }, {
-    key: "skip",
-    value: function skip(n) {
-      if (!n) {
-        n = 1;
-      }
 
-      this.pos += n;
+    if (end > this.end) {
+      end = this.end;
     }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pos = this.start;
+
+    if (end > this.progressiveDataLength) {
+      this.ensureRange(begin, end);
     }
-  }, {
-    key: "moveStart",
-    value: function moveStart() {
-      this.start = this.pos;
+
+    return this.bytes.subarray(begin, end);
+  }
+
+  skip(n) {
+    if (!n) {
+      n = 1;
     }
-  }, {
-    key: "makeSubStream",
-    value: function makeSubStream(start, length, dict) {
-      if (length) {
-        if (start + length > this.progressiveDataLength) {
-          this.ensureRange(start, start + length);
-        }
-      } else {
-        if (start >= this.progressiveDataLength) {
-          this.ensureByte(start);
-        }
+
+    this.pos += n;
+  }
+
+  reset() {
+    this.pos = this.start;
+  }
+
+  moveStart() {
+    this.start = this.pos;
+  }
+
+  makeSubStream(start, length, dict) {
+    if (length) {
+      if (start + length > this.progressiveDataLength) {
+        this.ensureRange(start, start + length);
+      }
+    } else {
+      if (start >= this.progressiveDataLength) {
+        this.ensureByte(start);
       }
+    }
 
-      function ChunkedStreamSubstream() {}
+    function ChunkedStreamSubstream() {}
 
-      ChunkedStreamSubstream.prototype = Object.create(this);
+    ChunkedStreamSubstream.prototype = Object.create(this);
 
-      ChunkedStreamSubstream.prototype.getMissingChunks = function () {
-        var chunkSize = this.chunkSize;
-        var beginChunk = Math.floor(this.start / chunkSize);
-        var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;
-        var missingChunks = [];
+    ChunkedStreamSubstream.prototype.getMissingChunks = function () {
+      const chunkSize = this.chunkSize;
+      const beginChunk = Math.floor(this.start / chunkSize);
+      const endChunk = Math.floor((this.end - 1) / chunkSize) + 1;
+      const missingChunks = [];
 
-        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-          if (!this.loadedChunks[chunk]) {
-            missingChunks.push(chunk);
-          }
+      for (let chunk = beginChunk; chunk < endChunk; ++chunk) {
+        if (!this.loadedChunks[chunk]) {
+          missingChunks.push(chunk);
         }
+      }
 
-        return missingChunks;
-      };
+      return missingChunks;
+    };
 
-      var subStream = new ChunkedStreamSubstream();
-      subStream.pos = subStream.start = start;
-      subStream.end = start + length || this.end;
-      subStream.dict = dict;
-      return subStream;
-    }
-  }, {
-    key: "length",
-    get: function get() {
-      return this.end - this.start;
-    }
-  }, {
-    key: "isEmpty",
-    get: function get() {
-      return this.length === 0;
-    }
-  }]);
+    ChunkedStreamSubstream.prototype.allChunksLoaded = function () {
+      if (this.numChunksLoaded === this.numChunks) {
+        return true;
+      }
 
-  return ChunkedStream;
-}();
+      return this.getMissingChunks().length === 0;
+    };
 
-exports.ChunkedStream = ChunkedStream;
+    const subStream = new ChunkedStreamSubstream();
+    subStream.pos = subStream.start = start;
+    subStream.end = start + length || this.end;
+    subStream.dict = dict;
+    return subStream;
+  }
 
-var ChunkedStreamManager =
-/*#__PURE__*/
-function () {
-  function ChunkedStreamManager(pdfNetworkStream, args) {
-    _classCallCheck(this, ChunkedStreamManager);
+}
+
+exports.ChunkedStream = ChunkedStream;
 
+class ChunkedStreamManager {
+  constructor(pdfNetworkStream, args) {
     this.length = args.length;
     this.chunkSize = args.rangeChunkSize;
     this.stream = new ChunkedStream(this.length, this.chunkSize, this);
@@ -11982,387 +2350,289 @@ function () {
     this._loadedStreamCapability = (0, _util.createPromiseCapability)();
   }
 
-  _createClass(ChunkedStreamManager, [{
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this._loadedStreamCapability.promise;
-    }
-  }, {
-    key: "sendRequest",
-    value: function sendRequest(begin, end) {
-      var _this = this;
+  onLoadedStream() {
+    return this._loadedStreamCapability.promise;
+  }
 
-      var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);
+  sendRequest(begin, end) {
+    const rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);
 
-      if (!rangeReader.isStreamingSupported) {
-        rangeReader.onProgress = this.onProgress.bind(this);
-      }
+    if (!rangeReader.isStreamingSupported) {
+      rangeReader.onProgress = this.onProgress.bind(this);
+    }
 
-      var chunks = [],
-          loaded = 0;
-      var promise = new Promise(function (resolve, reject) {
-        var readChunk = function readChunk(chunk) {
-          try {
-            if (!chunk.done) {
-              var data = chunk.value;
-              chunks.push(data);
-              loaded += (0, _util.arrayByteLength)(data);
-
-              if (rangeReader.isStreamingSupported) {
-                _this.onProgress({
-                  loaded: loaded
-                });
-              }
+    let chunks = [],
+        loaded = 0;
+    const promise = new Promise((resolve, reject) => {
+      const readChunk = chunk => {
+        try {
+          if (!chunk.done) {
+            const data = chunk.value;
+            chunks.push(data);
+            loaded += (0, _util.arrayByteLength)(data);
 
-              rangeReader.read().then(readChunk, reject);
-              return;
+            if (rangeReader.isStreamingSupported) {
+              this.onProgress({
+                loaded
+              });
             }
 
-            var chunkData = (0, _util.arraysToBytes)(chunks);
-            chunks = null;
-            resolve(chunkData);
-          } catch (e) {
-            reject(e);
+            rangeReader.read().then(readChunk, reject);
+            return;
           }
-        };
 
-        rangeReader.read().then(readChunk, reject);
-      });
-      promise.then(function (data) {
-        if (_this.aborted) {
-          return;
+          const chunkData = (0, _util.arraysToBytes)(chunks);
+          chunks = null;
+          resolve(chunkData);
+        } catch (e) {
+          reject(e);
         }
+      };
 
-        _this.onReceiveData({
-          chunk: data,
-          begin: begin
-        });
+      rangeReader.read().then(readChunk, reject);
+    });
+    promise.then(data => {
+      if (this.aborted) {
+        return;
+      }
+
+      this.onReceiveData({
+        chunk: data,
+        begin
       });
-    }
-  }, {
-    key: "requestAllChunks",
-    value: function requestAllChunks() {
-      var missingChunks = this.stream.getMissingChunks();
+    });
+  }
 
-      this._requestChunks(missingChunks);
+  requestAllChunks() {
+    const missingChunks = this.stream.getMissingChunks();
 
-      return this._loadedStreamCapability.promise;
-    }
-  }, {
-    key: "_requestChunks",
-    value: function _requestChunks(chunks) {
-      var requestId = this.currRequestId++;
-      var chunksNeeded = Object.create(null);
-      this.chunksNeededByRequest[requestId] = chunksNeeded;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
+    this._requestChunks(missingChunks);
 
-      try {
-        for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-          var _chunk = _step.value;
+    return this._loadedStreamCapability.promise;
+  }
 
-          if (!this.stream.hasChunk(_chunk)) {
-            chunksNeeded[_chunk] = true;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
+  _requestChunks(chunks) {
+    const requestId = this.currRequestId++;
+    const chunksNeeded = Object.create(null);
+    this.chunksNeededByRequest[requestId] = chunksNeeded;
 
-      if ((0, _util.isEmptyObj)(chunksNeeded)) {
-        return Promise.resolve();
+    for (const chunk of chunks) {
+      if (!this.stream.hasChunk(chunk)) {
+        chunksNeeded[chunk] = true;
       }
+    }
 
-      var capability = (0, _util.createPromiseCapability)();
-      this.promisesByRequest[requestId] = capability;
-      var chunksToRequest = [];
-
-      for (var chunk in chunksNeeded) {
-        chunk = chunk | 0;
+    if ((0, _util.isEmptyObj)(chunksNeeded)) {
+      return Promise.resolve();
+    }
 
-        if (!(chunk in this.requestsByChunk)) {
-          this.requestsByChunk[chunk] = [];
-          chunksToRequest.push(chunk);
-        }
+    const capability = (0, _util.createPromiseCapability)();
+    this.promisesByRequest[requestId] = capability;
+    const chunksToRequest = [];
 
-        this.requestsByChunk[chunk].push(requestId);
-      }
+    for (let chunk in chunksNeeded) {
+      chunk = chunk | 0;
 
-      if (!chunksToRequest.length) {
-        return capability.promise;
+      if (!(chunk in this.requestsByChunk)) {
+        this.requestsByChunk[chunk] = [];
+        chunksToRequest.push(chunk);
       }
 
-      var groupedChunksToRequest = this.groupChunks(chunksToRequest);
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = groupedChunksToRequest[Symbol.iterator](), _step2; 
!(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var groupedChunk = _step2.value;
-          var begin = groupedChunk.beginChunk * this.chunkSize;
-          var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);
-          this.sendRequest(begin, end);
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
+      this.requestsByChunk[chunk].push(requestId);
+    }
 
+    if (!chunksToRequest.length) {
       return capability.promise;
     }
-  }, {
-    key: "getStream",
-    value: function getStream() {
-      return this.stream;
-    }
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      end = Math.min(end, this.length);
-      var beginChunk = this.getBeginChunk(begin);
-      var endChunk = this.getEndChunk(end);
-      var chunks = [];
-
-      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-        chunks.push(chunk);
-      }
 
-      return this._requestChunks(chunks);
+    const groupedChunksToRequest = this.groupChunks(chunksToRequest);
+
+    for (const groupedChunk of groupedChunksToRequest) {
+      const begin = groupedChunk.beginChunk * this.chunkSize;
+      const end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);
+      this.sendRequest(begin, end);
     }
-  }, {
-    key: "requestRanges",
-    value: function requestRanges() {
-      var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-      var chunksToRequest = [];
-      var _iteratorNormalCompletion3 = true;
-      var _didIteratorError3 = false;
-      var _iteratorError3 = undefined;
 
-      try {
-        for (var _iterator3 = ranges[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = 
_iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-          var range = _step3.value;
-          var beginChunk = this.getBeginChunk(range.begin);
-          var endChunk = this.getEndChunk(range.end);
-
-          for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-            if (!chunksToRequest.includes(chunk)) {
-              chunksToRequest.push(chunk);
-            }
-          }
-        }
-      } catch (err) {
-        _didIteratorError3 = true;
-        _iteratorError3 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-            _iterator3["return"]();
-          }
-        } finally {
-          if (_didIteratorError3) {
-            throw _iteratorError3;
-          }
-        }
-      }
+    return capability.promise;
+  }
 
-      chunksToRequest.sort(function (a, b) {
-        return a - b;
-      });
-      return this._requestChunks(chunksToRequest);
+  getStream() {
+    return this.stream;
+  }
+
+  requestRange(begin, end) {
+    end = Math.min(end, this.length);
+    const beginChunk = this.getBeginChunk(begin);
+    const endChunk = this.getEndChunk(end);
+    const chunks = [];
+
+    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {
+      chunks.push(chunk);
     }
-  }, {
-    key: "groupChunks",
-    value: function groupChunks(chunks) {
-      var groupedChunks = [];
-      var beginChunk = -1;
-      var prevChunk = -1;
 
-      for (var i = 0, ii = chunks.length; i < ii; ++i) {
-        var chunk = chunks[i];
+    return this._requestChunks(chunks);
+  }
 
-        if (beginChunk < 0) {
-          beginChunk = chunk;
-        }
+  requestRanges(ranges = []) {
+    const chunksToRequest = [];
 
-        if (prevChunk >= 0 && prevChunk + 1 !== chunk) {
-          groupedChunks.push({
-            beginChunk: beginChunk,
-            endChunk: prevChunk + 1
-          });
-          beginChunk = chunk;
-        }
+    for (const range of ranges) {
+      const beginChunk = this.getBeginChunk(range.begin);
+      const endChunk = this.getEndChunk(range.end);
 
-        if (i + 1 === chunks.length) {
-          groupedChunks.push({
-            beginChunk: beginChunk,
-            endChunk: chunk + 1
-          });
+      for (let chunk = beginChunk; chunk < endChunk; ++chunk) {
+        if (!chunksToRequest.includes(chunk)) {
+          chunksToRequest.push(chunk);
         }
+      }
+    }
+
+    chunksToRequest.sort(function (a, b) {
+      return a - b;
+    });
+    return this._requestChunks(chunksToRequest);
+  }
 
-        prevChunk = chunk;
+  groupChunks(chunks) {
+    const groupedChunks = [];
+    let beginChunk = -1;
+    let prevChunk = -1;
+
+    for (let i = 0, ii = chunks.length; i < ii; ++i) {
+      const chunk = chunks[i];
+
+      if (beginChunk < 0) {
+        beginChunk = chunk;
       }
 
-      return groupedChunks;
-    }
-  }, {
-    key: "onProgress",
-    value: function onProgress(args) {
-      this.msgHandler.send('DocProgress', {
-        loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,
-        total: this.length
-      });
-    }
-  }, {
-    key: "onReceiveData",
-    value: function onReceiveData(args) {
-      var chunk = args.chunk;
-      var isProgressive = args.begin === undefined;
-      var begin = isProgressive ? this.progressiveDataLength : args.begin;
-      var end = begin + chunk.byteLength;
-      var beginChunk = Math.floor(begin / this.chunkSize);
-      var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);
-
-      if (isProgressive) {
-        this.stream.onReceiveProgressiveData(chunk);
-        this.progressiveDataLength = end;
-      } else {
-        this.stream.onReceiveData(begin, chunk);
+      if (prevChunk >= 0 && prevChunk + 1 !== chunk) {
+        groupedChunks.push({
+          beginChunk,
+          endChunk: prevChunk + 1
+        });
+        beginChunk = chunk;
       }
 
-      if (this.stream.allChunksLoaded()) {
-        this._loadedStreamCapability.resolve(this.stream);
+      if (i + 1 === chunks.length) {
+        groupedChunks.push({
+          beginChunk,
+          endChunk: chunk + 1
+        });
       }
 
-      var loadedRequests = [];
+      prevChunk = chunk;
+    }
+
+    return groupedChunks;
+  }
 
-      for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {
-        var requestIds = this.requestsByChunk[_chunk2] || [];
-        delete this.requestsByChunk[_chunk2];
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
+  onProgress(args) {
+    this.msgHandler.send("DocProgress", {
+      loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,
+      total: this.length
+    });
+  }
 
-        try {
-          for (var _iterator4 = requestIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = 
(_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var requestId = _step4.value;
-            var chunksNeeded = this.chunksNeededByRequest[requestId];
+  onReceiveData(args) {
+    const chunk = args.chunk;
+    const isProgressive = args.begin === undefined;
+    const begin = isProgressive ? this.progressiveDataLength : args.begin;
+    const end = begin + chunk.byteLength;
+    const beginChunk = Math.floor(begin / this.chunkSize);
+    const endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);
 
-            if (_chunk2 in chunksNeeded) {
-              delete chunksNeeded[_chunk2];
-            }
+    if (isProgressive) {
+      this.stream.onReceiveProgressiveData(chunk);
+      this.progressiveDataLength = end;
+    } else {
+      this.stream.onReceiveData(begin, chunk);
+    }
 
-            if (!(0, _util.isEmptyObj)(chunksNeeded)) {
-              continue;
-            }
+    if (this.stream.allChunksLoaded()) {
+      this._loadedStreamCapability.resolve(this.stream);
+    }
 
-            loadedRequests.push(requestId);
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-      }
+    const loadedRequests = [];
 
-      if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {
-        var nextEmptyChunk;
+    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {
+      const requestIds = this.requestsByChunk[chunk] || [];
+      delete this.requestsByChunk[chunk];
 
-        if (this.stream.numChunksLoaded === 1) {
-          var lastChunk = this.stream.numChunks - 1;
+      for (const requestId of requestIds) {
+        const chunksNeeded = this.chunksNeededByRequest[requestId];
 
-          if (!this.stream.hasChunk(lastChunk)) {
-            nextEmptyChunk = lastChunk;
-          }
-        } else {
-          nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);
+        if (chunk in chunksNeeded) {
+          delete chunksNeeded[chunk];
         }
 
-        if (Number.isInteger(nextEmptyChunk)) {
-          this._requestChunks([nextEmptyChunk]);
+        if (!(0, _util.isEmptyObj)(chunksNeeded)) {
+          continue;
         }
+
+        loadedRequests.push(requestId);
       }
+    }
+
+    if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {
+      let nextEmptyChunk;
+
+      if (this.stream.numChunksLoaded === 1) {
+        const lastChunk = this.stream.numChunks - 1;
 
-      for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {
-        var _requestId = _loadedRequests[_i];
-        var capability = this.promisesByRequest[_requestId];
-        delete this.promisesByRequest[_requestId];
-        capability.resolve();
+        if (!this.stream.hasChunk(lastChunk)) {
+          nextEmptyChunk = lastChunk;
+        }
+      } else {
+        nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);
       }
 
-      this.msgHandler.send('DocProgress', {
-        loaded: this.stream.numChunksLoaded * this.chunkSize,
-        total: this.length
-      });
-    }
-  }, {
-    key: "onError",
-    value: function onError(err) {
-      this._loadedStreamCapability.reject(err);
-    }
-  }, {
-    key: "getBeginChunk",
-    value: function getBeginChunk(begin) {
-      return Math.floor(begin / this.chunkSize);
+      if (Number.isInteger(nextEmptyChunk)) {
+        this._requestChunks([nextEmptyChunk]);
+      }
     }
-  }, {
-    key: "getEndChunk",
-    value: function getEndChunk(end) {
-      return Math.floor((end - 1) / this.chunkSize) + 1;
+
+    for (const requestId of loadedRequests) {
+      const capability = this.promisesByRequest[requestId];
+      delete this.promisesByRequest[requestId];
+      capability.resolve();
     }
-  }, {
-    key: "abort",
-    value: function abort(reason) {
-      this.aborted = true;
 
-      if (this.pdfNetworkStream) {
-        this.pdfNetworkStream.cancelAllRequests(reason);
-      }
+    this.msgHandler.send("DocProgress", {
+      loaded: this.stream.numChunksLoaded * this.chunkSize,
+      total: this.length
+    });
+  }
 
-      for (var requestId in this.promisesByRequest) {
-        this.promisesByRequest[requestId].reject(reason);
-      }
+  onError(err) {
+    this._loadedStreamCapability.reject(err);
+  }
+
+  getBeginChunk(begin) {
+    return Math.floor(begin / this.chunkSize);
+  }
+
+  getEndChunk(end) {
+    return Math.floor((end - 1) / this.chunkSize) + 1;
+  }
+
+  abort(reason) {
+    this.aborted = true;
+
+    if (this.pdfNetworkStream) {
+      this.pdfNetworkStream.cancelAllRequests(reason);
     }
-  }]);
 
-  return ChunkedStreamManager;
-}();
+    for (const requestId in this.promisesByRequest) {
+      this.promisesByRequest[requestId].reject(reason);
+    }
+  }
+
+}
 
 exports.ChunkedStreamManager = ChunkedStreamManager;
 
 /***/ }),
-/* 186 */
+/* 7 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -12374,26 +2644,17 @@ Object.defineProperty(exports, "__esModule", {
 exports.getLookupTableFactory = getLookupTableFactory;
 exports.getInheritableProperty = getInheritableProperty;
 exports.toRomanNumerals = toRomanNumerals;
+exports.log2 = log2;
+exports.readInt8 = readInt8;
+exports.readUint16 = readUint16;
+exports.readUint32 = readUint32;
+exports.isWhiteSpace = isWhiteSpace;
 exports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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); }
+var _util = __w_pdfjs_require__(2);
 
 function getLookupTableFactory(initializer) {
-  var lookup;
+  let lookup;
   return function () {
     if (initializer) {
       lookup = Object.create(null);
@@ -12405,72 +2666,37 @@ function getLookupTableFactory(initializer) {
   };
 }
 
-var MissingDataException =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(MissingDataException, _BaseException);
-
-  function MissingDataException(begin, end) {
-    var _this;
-
-    _classCallCheck(this, MissingDataException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(MissingDataException).call(this, "Missing data 
[".concat(begin, ", ").concat(end, ")")));
-    _this.begin = begin;
-    _this.end = end;
-    return _this;
+class MissingDataException extends _util.BaseException {
+  constructor(begin, end) {
+    super(`Missing data [${begin}, ${end})`);
+    this.begin = begin;
+    this.end = end;
   }
 
-  return MissingDataException;
-}(_util.BaseException);
+}
 
 exports.MissingDataException = MissingDataException;
 
-var XRefEntryException =
-/*#__PURE__*/
-function (_BaseException2) {
-  _inherits(XRefEntryException, _BaseException2);
-
-  function XRefEntryException() {
-    _classCallCheck(this, XRefEntryException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(XRefEntryException).apply(this, arguments));
-  }
-
-  return XRefEntryException;
-}(_util.BaseException);
+class XRefEntryException extends _util.BaseException {}
 
 exports.XRefEntryException = XRefEntryException;
 
-var XRefParseException =
-/*#__PURE__*/
-function (_BaseException3) {
-  _inherits(XRefParseException, _BaseException3);
-
-  function XRefParseException() {
-    _classCallCheck(this, XRefParseException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(XRefParseException).apply(this, arguments));
-  }
-
-  return XRefParseException;
-}(_util.BaseException);
+class XRefParseException extends _util.BaseException {}
 
 exports.XRefParseException = XRefParseException;
 
-function getInheritableProperty(_ref) {
-  var dict = _ref.dict,
-      key = _ref.key,
-      _ref$getArray = _ref.getArray,
-      getArray = _ref$getArray === void 0 ? false : _ref$getArray,
-      _ref$stopWhenFound = _ref.stopWhenFound,
-      stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;
-  var LOOP_LIMIT = 100;
-  var loopCount = 0;
-  var values;
+function getInheritableProperty({
+  dict,
+  key,
+  getArray = false,
+  stopWhenFound = true
+}) {
+  const LOOP_LIMIT = 100;
+  let loopCount = 0;
+  let values;
 
   while (dict) {
-    var value = getArray ? dict.getArray(key) : dict.get(key);
+    const value = getArray ? dict.getArray(key) : dict.get(key);
 
     if (value !== undefined) {
       if (stopWhenFound) {
@@ -12485,27 +2711,26 @@ function getInheritableProperty(_ref) {
     }
 
     if (++loopCount > LOOP_LIMIT) {
-      (0, _util.warn)("getInheritableProperty: maximum loop count exceeded for \"".concat(key, "\""));
+      (0, _util.warn)(`getInheritableProperty: maximum loop count exceeded for "${key}"`);
       break;
     }
 
-    dict = dict.get('Parent');
+    dict = dict.get("Parent");
   }
 
   return values;
 }
 
-var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 
'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];
+const ROMAN_NUMBER_MAP = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", "", "X", "XX", "XXX", 
"XL", "L", "LX", "LXX", "LXXX", "XC", "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
 
-function toRomanNumerals(number) {
-  var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-  (0, _util.assert)(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');
-  var pos,
-      romanBuf = [];
+function toRomanNumerals(number, lowerCase = false) {
+  (0, _util.assert)(Number.isInteger(number) && number > 0, "The number should be a positive integer.");
+  const romanBuf = [];
+  let pos;
 
   while (number >= 1000) {
     number -= 1000;
-    romanBuf.push('M');
+    romanBuf.push("M");
   }
 
   pos = number / 100 | 0;
@@ -12515,12 +2740,36 @@ function toRomanNumerals(number) {
   number %= 10;
   romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);
   romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);
-  var romanStr = romanBuf.join('');
+  const romanStr = romanBuf.join("");
   return lowerCase ? romanStr.toLowerCase() : romanStr;
 }
 
+function log2(x) {
+  if (x <= 0) {
+    return 0;
+  }
+
+  return Math.ceil(Math.log2(x));
+}
+
+function readInt8(data, offset) {
+  return data[offset] << 24 >> 24;
+}
+
+function readUint16(data, offset) {
+  return data[offset] << 8 | data[offset + 1];
+}
+
+function readUint32(data, offset) {
+  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;
+}
+
+function isWhiteSpace(ch) {
+  return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;
+}
+
 /***/ }),
-/* 187 */
+/* 8 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -12531,64 +2780,46 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFDocument = exports.Page = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _obj = __w_pdfjs_require__(188);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _core_utils = __w_pdfjs_require__(186);
-
-var _stream2 = __w_pdfjs_require__(190);
-
-var _annotation = __w_pdfjs_require__(202);
-
-var _crypto = __w_pdfjs_require__(200);
-
-var _parser = __w_pdfjs_require__(189);
+var _util = __w_pdfjs_require__(2);
 
-var _operator_list = __w_pdfjs_require__(203);
+var _obj = __w_pdfjs_require__(9);
 
-var _evaluator = __w_pdfjs_require__(204);
+var _primitives = __w_pdfjs_require__(4);
 
-var _function = __w_pdfjs_require__(218);
+var _core_utils = __w_pdfjs_require__(7);
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
+var _stream = __w_pdfjs_require__(11);
 
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
+var _annotation = __w_pdfjs_require__(23);
 
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
+var _crypto = __w_pdfjs_require__(21);
 
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+var _parser = __w_pdfjs_require__(10);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _operator_list = __w_pdfjs_require__(24);
 
-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); } }
+var _evaluator = __w_pdfjs_require__(25);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _function = __w_pdfjs_require__(39);
 
-var DEFAULT_USER_UNIT = 1.0;
-var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
+const DEFAULT_USER_UNIT = 1.0;
+const LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
 
 function isAnnotationRenderable(annotation, intent) {
-  return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable;
-}
-
-var Page =
-/*#__PURE__*/
-function () {
-  function Page(_ref) {
-    var pdfManager = _ref.pdfManager,
-        xref = _ref.xref,
-        pageIndex = _ref.pageIndex,
-        pageDict = _ref.pageDict,
-        ref = _ref.ref,
-        fontCache = _ref.fontCache,
-        builtInCMapCache = _ref.builtInCMapCache,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-
-    _classCallCheck(this, Page);
-
+  return intent === "display" && annotation.viewable || intent === "print" && annotation.printable;
+}
+
+class Page {
+  constructor({
+    pdfManager,
+    xref,
+    pageIndex,
+    pageDict,
+    ref,
+    fontCache,
+    builtInCMapCache,
+    pdfFunctionFactory
+  }) {
     this.pdfManager = pdfManager;
     this.pageIndex = pageIndex;
     this.pageDict = pageDict;
@@ -12599,416 +2830,361 @@ function () {
     this.pdfFunctionFactory = pdfFunctionFactory;
     this.evaluatorOptions = pdfManager.evaluatorOptions;
     this.resourcesPromise = null;
-    var idCounters = {
+    const idCounters = {
       obj: 0
     };
     this.idFactory = {
-      createObjId: function createObjId() {
-        return "p".concat(pageIndex, "_").concat(++idCounters.obj);
+      createObjId() {
+        return `p${pageIndex}_${++idCounters.obj}`;
       },
-      getDocId: function getDocId() {
-        return "g_".concat(pdfManager.docId);
+
+      getDocId() {
+        return `g_${pdfManager.docId}`;
       }
+
     };
   }
 
-  _createClass(Page, [{
-    key: "_getInheritableProperty",
-    value: function _getInheritableProperty(key) {
-      var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var value = (0, _core_utils.getInheritableProperty)({
-        dict: this.pageDict,
-        key: key,
-        getArray: getArray,
-        stopWhenFound: false
-      });
+  _getInheritableProperty(key, getArray = false) {
+    const value = (0, _core_utils.getInheritableProperty)({
+      dict: this.pageDict,
+      key,
+      getArray,
+      stopWhenFound: false
+    });
 
-      if (!Array.isArray(value)) {
-        return value;
-      }
+    if (!Array.isArray(value)) {
+      return value;
+    }
+
+    if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {
+      return value[0];
+    }
+
+    return _primitives.Dict.merge(this.xref, value);
+  }
+
+  get content() {
+    return this.pageDict.get("Contents");
+  }
+
+  get resources() {
+    return (0, _util.shadow)(this, "resources", this._getInheritableProperty("Resources") || 
_primitives.Dict.empty);
+  }
+
+  _getBoundingBox(name) {
+    const box = this._getInheritableProperty(name, true);
 
-      if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {
-        return value[0];
+    if (Array.isArray(box) && box.length === 4) {
+      if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
+        return box;
       }
 
-      return _primitives.Dict.merge(this.xref, value);
+      (0, _util.warn)(`Empty /${name} entry.`);
     }
-  }, {
-    key: "_getBoundingBox",
-    value: function _getBoundingBox(name) {
-      var box = this._getInheritableProperty(name, true);
 
-      if (Array.isArray(box) && box.length === 4) {
-        if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
-          return box;
-        }
+    return null;
+  }
 
-        (0, _util.warn)("Empty /".concat(name, " entry."));
-      }
+  get mediaBox() {
+    return (0, _util.shadow)(this, "mediaBox", this._getBoundingBox("MediaBox") || LETTER_SIZE_MEDIABOX);
+  }
 
-      return null;
+  get cropBox() {
+    return (0, _util.shadow)(this, "cropBox", this._getBoundingBox("CropBox") || this.mediaBox);
+  }
+
+  get userUnit() {
+    let obj = this.pageDict.get("UserUnit");
+
+    if (!(0, _util.isNum)(obj) || obj <= 0) {
+      obj = DEFAULT_USER_UNIT;
     }
-  }, {
-    key: "getContentStream",
-    value: function getContentStream() {
-      var content = this.content;
-      var stream;
 
-      if (Array.isArray(content)) {
-        var xref = this.xref;
-        var streams = [];
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
+    return (0, _util.shadow)(this, "userUnit", obj);
+  }
 
-        try {
-          for (var _iterator = content[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-            var _stream = _step.value;
-            streams.push(xref.fetchIfRef(_stream));
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
+  get view() {
+    const {
+      cropBox,
+      mediaBox
+    } = this;
+    let view;
+
+    if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {
+      view = mediaBox;
+    } else {
+      const box = _util.Util.intersect(cropBox, mediaBox);
 
-        stream = new _stream2.StreamsSequenceStream(streams);
-      } else if ((0, _primitives.isStream)(content)) {
-        stream = content;
+      if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
+        view = box;
       } else {
-        stream = new _stream2.NullStream();
+        (0, _util.warn)("Empty /CropBox and /MediaBox intersection.");
       }
+    }
 
-      return stream;
+    return (0, _util.shadow)(this, "view", view || mediaBox);
+  }
+
+  get rotate() {
+    let rotate = this._getInheritableProperty("Rotate") || 0;
+
+    if (rotate % 90 !== 0) {
+      rotate = 0;
+    } else if (rotate >= 360) {
+      rotate = rotate % 360;
+    } else if (rotate < 0) {
+      rotate = (rotate % 360 + 360) % 360;
     }
-  }, {
-    key: "loadResources",
-    value: function loadResources(keys) {
-      var _this = this;
 
-      if (!this.resourcesPromise) {
-        this.resourcesPromise = this.pdfManager.ensure(this, 'resources');
+    return (0, _util.shadow)(this, "rotate", rotate);
+  }
+
+  getContentStream() {
+    const content = this.content;
+    let stream;
+
+    if (Array.isArray(content)) {
+      const xref = this.xref;
+      const streams = [];
+
+      for (const stream of content) {
+        streams.push(xref.fetchIfRef(stream));
       }
 
-      return this.resourcesPromise.then(function () {
-        var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);
-        return objectLoader.load();
-      });
+      stream = new _stream.StreamsSequenceStream(streams);
+    } else if ((0, _primitives.isStream)(content)) {
+      stream = content;
+    } else {
+      stream = new _stream.NullStream();
     }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(_ref2) {
-      var _this2 = this;
-
-      var handler = _ref2.handler,
-          sink = _ref2.sink,
-          task = _ref2.task,
-          intent = _ref2.intent,
-          renderInteractiveForms = _ref2.renderInteractiveForms;
-      var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');
-      var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 
'Font']);
-      var partialEvaluator = new _evaluator.PartialEvaluator({
-        xref: this.xref,
-        handler: handler,
+
+    return stream;
+  }
+
+  loadResources(keys) {
+    if (!this.resourcesPromise) {
+      this.resourcesPromise = this.pdfManager.ensure(this, "resources");
+    }
+
+    return this.resourcesPromise.then(() => {
+      const objectLoader = new _obj.ObjectLoader(this.resources, keys, this.xref);
+      return objectLoader.load();
+    });
+  }
+
+  getOperatorList({
+    handler,
+    sink,
+    task,
+    intent,
+    renderInteractiveForms
+  }) {
+    const contentStreamPromise = this.pdfManager.ensure(this, "getContentStream");
+    const resourcesPromise = this.loadResources(["ExtGState", "ColorSpace", "Pattern", "Shading", "XObject", 
"Font"]);
+    const partialEvaluator = new _evaluator.PartialEvaluator({
+      xref: this.xref,
+      handler,
+      pageIndex: this.pageIndex,
+      idFactory: this.idFactory,
+      fontCache: this.fontCache,
+      builtInCMapCache: this.builtInCMapCache,
+      options: this.evaluatorOptions,
+      pdfFunctionFactory: this.pdfFunctionFactory
+    });
+    const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
+    const pageListPromise = dataPromises.then(([contentStream]) => {
+      const opList = new _operator_list.OperatorList(intent, sink, this.pageIndex);
+      handler.send("StartRenderPage", {
+        transparency: partialEvaluator.hasBlendModes(this.resources),
         pageIndex: this.pageIndex,
-        idFactory: this.idFactory,
-        fontCache: this.fontCache,
-        builtInCMapCache: this.builtInCMapCache,
-        options: this.evaluatorOptions,
-        pdfFunctionFactory: this.pdfFunctionFactory
+        intent
       });
-      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
-      var pageListPromise = dataPromises.then(function (_ref3) {
-        var _ref4 = _slicedToArray(_ref3, 1),
-            contentStream = _ref4[0];
-
-        var opList = new _operator_list.OperatorList(intent, sink, _this2.pageIndex);
-        handler.send('StartRenderPage', {
-          transparency: partialEvaluator.hasBlendModes(_this2.resources),
-          pageIndex: _this2.pageIndex,
-          intent: intent
-        });
-        return partialEvaluator.getOperatorList({
-          stream: contentStream,
-          task: task,
-          resources: _this2.resources,
-          operatorList: opList
-        }).then(function () {
-          return opList;
-        });
+      return partialEvaluator.getOperatorList({
+        stream: contentStream,
+        task,
+        resources: this.resources,
+        operatorList: opList
+      }).then(function () {
+        return opList;
       });
-      return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {
-        var _ref6 = _slicedToArray(_ref5, 2),
-            pageOpList = _ref6[0],
-            annotations = _ref6[1];
+    });
+    return Promise.all([pageListPromise, this._parsedAnnotations]).then(function ([pageOpList, annotations]) 
{
+      if (annotations.length === 0) {
+        pageOpList.flush(true);
+        return {
+          length: pageOpList.totalLength
+        };
+      }
 
-        if (annotations.length === 0) {
-          pageOpList.flush(true);
-          return {
-            length: pageOpList.totalLength
-          };
-        }
+      const opListPromises = [];
 
-        var opListPromises = [];
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
+      for (const annotation of annotations) {
+        if (isAnnotationRenderable(annotation, intent)) {
+          opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));
+        }
+      }
 
-        try {
-          for (var _iterator2 = annotations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = 
(_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var annotation = _step2.value;
+      return Promise.all(opListPromises).then(function (opLists) {
+        pageOpList.addOp(_util.OPS.beginAnnotations, []);
 
-            if (isAnnotationRenderable(annotation, intent)) {
-              opListPromises.push(annotation.getOperatorList(partialEvaluator, task, 
renderInteractiveForms));
-            }
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
+        for (const opList of opLists) {
+          pageOpList.addOpList(opList);
         }
 
-        return Promise.all(opListPromises).then(function (opLists) {
-          pageOpList.addOp(_util.OPS.beginAnnotations, []);
-          var _iteratorNormalCompletion3 = true;
-          var _didIteratorError3 = false;
-          var _iteratorError3 = undefined;
-
-          try {
-            for (var _iterator3 = opLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 
= _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-              var opList = _step3.value;
-              pageOpList.addOpList(opList);
-            }
-          } catch (err) {
-            _didIteratorError3 = true;
-            _iteratorError3 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-                _iterator3["return"]();
-              }
-            } finally {
-              if (_didIteratorError3) {
-                throw _iteratorError3;
-              }
-            }
-          }
+        pageOpList.addOp(_util.OPS.endAnnotations, []);
+        pageOpList.flush(true);
+        return {
+          length: pageOpList.totalLength
+        };
+      });
+    });
+  }
 
-          pageOpList.addOp(_util.OPS.endAnnotations, []);
-          pageOpList.flush(true);
-          return {
-            length: pageOpList.totalLength
-          };
-        });
+  extractTextContent({
+    handler,
+    task,
+    normalizeWhitespace,
+    sink,
+    combineTextItems
+  }) {
+    const contentStreamPromise = this.pdfManager.ensure(this, "getContentStream");
+    const resourcesPromise = this.loadResources(["ExtGState", "XObject", "Font"]);
+    const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
+    return dataPromises.then(([contentStream]) => {
+      const partialEvaluator = new _evaluator.PartialEvaluator({
+        xref: this.xref,
+        handler,
+        pageIndex: this.pageIndex,
+        idFactory: this.idFactory,
+        fontCache: this.fontCache,
+        builtInCMapCache: this.builtInCMapCache,
+        options: this.evaluatorOptions,
+        pdfFunctionFactory: this.pdfFunctionFactory
       });
-    }
-  }, {
-    key: "extractTextContent",
-    value: function extractTextContent(_ref7) {
-      var _this3 = this;
-
-      var handler = _ref7.handler,
-          task = _ref7.task,
-          normalizeWhitespace = _ref7.normalizeWhitespace,
-          sink = _ref7.sink,
-          combineTextItems = _ref7.combineTextItems;
-      var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');
-      var resourcesPromise = this.loadResources(['ExtGState', 'XObject', 'Font']);
-      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
-      return dataPromises.then(function (_ref8) {
-        var _ref9 = _slicedToArray(_ref8, 1),
-            contentStream = _ref9[0];
-
-        var partialEvaluator = new _evaluator.PartialEvaluator({
-          xref: _this3.xref,
-          handler: handler,
-          pageIndex: _this3.pageIndex,
-          idFactory: _this3.idFactory,
-          fontCache: _this3.fontCache,
-          builtInCMapCache: _this3.builtInCMapCache,
-          options: _this3.evaluatorOptions,
-          pdfFunctionFactory: _this3.pdfFunctionFactory
-        });
-        return partialEvaluator.getTextContent({
-          stream: contentStream,
-          task: task,
-          resources: _this3.resources,
-          normalizeWhitespace: normalizeWhitespace,
-          combineTextItems: combineTextItems,
-          sink: sink
-        });
+      return partialEvaluator.getTextContent({
+        stream: contentStream,
+        task,
+        resources: this.resources,
+        normalizeWhitespace,
+        combineTextItems,
+        sink
       });
-    }
-  }, {
-    key: "getAnnotationsData",
-    value: function getAnnotationsData(intent) {
-      return this._parsedAnnotations.then(function (annotations) {
-        var annotationsData = [];
+    });
+  }
 
-        for (var i = 0, ii = annotations.length; i < ii; i++) {
-          if (!intent || isAnnotationRenderable(annotations[i], intent)) {
-            annotationsData.push(annotations[i].data);
-          }
+  getAnnotationsData(intent) {
+    return this._parsedAnnotations.then(function (annotations) {
+      const annotationsData = [];
+
+      for (let i = 0, ii = annotations.length; i < ii; i++) {
+        if (!intent || isAnnotationRenderable(annotations[i], intent)) {
+          annotationsData.push(annotations[i].data);
         }
+      }
 
-        return annotationsData;
-      });
-    }
-  }, {
-    key: "content",
-    get: function get() {
-      return this.pageDict.get('Contents');
-    }
-  }, {
-    key: "resources",
-    get: function get() {
-      return (0, _util.shadow)(this, 'resources', this._getInheritableProperty('Resources') || 
_primitives.Dict.empty);
-    }
-  }, {
-    key: "mediaBox",
-    get: function get() {
-      return (0, _util.shadow)(this, 'mediaBox', this._getBoundingBox('MediaBox') || LETTER_SIZE_MEDIABOX);
-    }
-  }, {
-    key: "cropBox",
-    get: function get() {
-      return (0, _util.shadow)(this, 'cropBox', this._getBoundingBox('CropBox') || this.mediaBox);
-    }
-  }, {
-    key: "userUnit",
-    get: function get() {
-      var obj = this.pageDict.get('UserUnit');
+      return annotationsData;
+    });
+  }
 
-      if (!(0, _util.isNum)(obj) || obj <= 0) {
-        obj = DEFAULT_USER_UNIT;
-      }
+  get annotations() {
+    return (0, _util.shadow)(this, "annotations", this._getInheritableProperty("Annots") || []);
+  }
 
-      return (0, _util.shadow)(this, 'userUnit', obj);
-    }
-  }, {
-    key: "view",
-    get: function get() {
-      var cropBox = this.cropBox,
-          mediaBox = this.mediaBox;
-      var view;
-
-      if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {
-        view = mediaBox;
-      } else {
-        var box = _util.Util.intersect(cropBox, mediaBox);
+  get _parsedAnnotations() {
+    const parsedAnnotations = this.pdfManager.ensure(this, "annotations").then(() => {
+      const annotationRefs = this.annotations;
+      const annotationPromises = [];
 
-        if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
-          view = box;
-        } else {
-          (0, _util.warn)('Empty /CropBox and /MediaBox intersection.');
-        }
+      for (let i = 0, ii = annotationRefs.length; i < ii; i++) {
+        annotationPromises.push(_annotation.AnnotationFactory.create(this.xref, annotationRefs[i], 
this.pdfManager, this.idFactory));
       }
 
-      return (0, _util.shadow)(this, 'view', view || mediaBox);
-    }
-  }, {
-    key: "rotate",
-    get: function get() {
-      var rotate = this._getInheritableProperty('Rotate') || 0;
+      return Promise.all(annotationPromises).then(function (annotations) {
+        return annotations.filter(function isDefined(annotation) {
+          return !!annotation;
+        });
+      }, function (reason) {
+        (0, _util.warn)(`_parsedAnnotations: "${reason}".`);
+        return [];
+      });
+    });
+    return (0, _util.shadow)(this, "_parsedAnnotations", parsedAnnotations);
+  }
+
+}
+
+exports.Page = Page;
+const PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);
+const STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);
+const ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);
+const FINGERPRINT_FIRST_BYTES = 1024;
+const EMPTY_FINGERPRINT = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
+const PDF_HEADER_VERSION_REGEXP = /^[1-9]\.[0-9]$/;
+
+function find(stream, signature, limit = 1024, backwards = false) {
+  const signatureLength = signature.length;
+  const scanBytes = stream.peekBytes(limit);
+  const scanLength = scanBytes.length - signatureLength;
+
+  if (scanLength <= 0) {
+    return false;
+  }
 
-      if (rotate % 90 !== 0) {
-        rotate = 0;
-      } else if (rotate >= 360) {
-        rotate = rotate % 360;
-      } else if (rotate < 0) {
-        rotate = (rotate % 360 + 360) % 360;
-      }
+  if (backwards) {
+    const signatureEnd = signatureLength - 1;
+    let pos = scanBytes.length - 1;
 
-      return (0, _util.shadow)(this, 'rotate', rotate);
-    }
-  }, {
-    key: "annotations",
-    get: function get() {
-      return (0, _util.shadow)(this, 'annotations', this._getInheritableProperty('Annots') || []);
-    }
-  }, {
-    key: "_parsedAnnotations",
-    get: function get() {
-      var _this4 = this;
+    while (pos >= signatureEnd) {
+      let j = 0;
 
-      var parsedAnnotations = this.pdfManager.ensure(this, 'annotations').then(function () {
-        var annotationRefs = _this4.annotations;
-        var annotationPromises = [];
+      while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {
+        j++;
+      }
 
-        for (var i = 0, ii = annotationRefs.length; i < ii; i++) {
-          annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRefs[i], 
_this4.pdfManager, _this4.idFactory));
-        }
+      if (j >= signatureLength) {
+        stream.pos += pos - signatureEnd;
+        return true;
+      }
 
-        return Promise.all(annotationPromises).then(function (annotations) {
-          return annotations.filter(function isDefined(annotation) {
-            return !!annotation;
-          });
-        }, function (reason) {
-          (0, _util.warn)("_parsedAnnotations: \"".concat(reason, "\"."));
-          return [];
-        });
-      });
-      return (0, _util.shadow)(this, '_parsedAnnotations', parsedAnnotations);
+      pos--;
     }
-  }]);
+  } else {
+    let pos = 0;
 
-  return Page;
-}();
+    while (pos <= scanLength) {
+      let j = 0;
 
-exports.Page = Page;
-var FINGERPRINT_FIRST_BYTES = 1024;
-var EMPTY_FINGERPRINT = '\x00\x00\x00\x00\x00\x00\x00' + '\x00\x00\x00\x00\x00\x00\x00\x00\x00';
+      while (j < signatureLength && scanBytes[pos + j] === signature[j]) {
+        j++;
+      }
 
-function find(stream, needle, limit) {
-  var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-  (0, _util.assert)(limit > 0, 'The "limit" must be a positive integer.');
-  var str = (0, _util.bytesToString)(stream.peekBytes(limit));
-  var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);
+      if (j >= signatureLength) {
+        stream.pos += pos;
+        return true;
+      }
 
-  if (index === -1) {
-    return false;
+      pos++;
+    }
   }
 
-  stream.pos += index;
-  return true;
+  return false;
 }
 
-var PDFDocument =
-/*#__PURE__*/
-function () {
-  function PDFDocument(pdfManager, arg) {
-    _classCallCheck(this, PDFDocument);
-
-    var stream;
+class PDFDocument {
+  constructor(pdfManager, arg) {
+    let stream;
 
     if ((0, _primitives.isStream)(arg)) {
       stream = arg;
     } else if ((0, _util.isArrayBuffer)(arg)) {
-      stream = new _stream2.Stream(arg);
+      stream = new _stream.Stream(arg);
     } else {
-      throw new Error('PDFDocument: Unknown argument type');
+      throw new Error("PDFDocument: Unknown argument type");
     }
 
     if (stream.length <= 0) {
-      throw new Error('PDFDocument: Stream must have data');
+      throw new _util.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");
     }
 
     this.pdfManager = pdfManager;
@@ -13021,360 +3197,324 @@ function () {
     this._pagePromises = [];
   }
 
-  _createClass(PDFDocument, [{
-    key: "parse",
-    value: function parse(recoveryMode) {
-      this.setup(recoveryMode);
-      var version = this.catalog.catDict.get('Version');
+  parse(recoveryMode) {
+    this.setup(recoveryMode);
+    const version = this.catalog.catDict.get("Version");
 
-      if ((0, _primitives.isName)(version)) {
-        this.pdfFormatVersion = version.name;
-      }
+    if ((0, _primitives.isName)(version)) {
+      this.pdfFormatVersion = version.name;
+    }
 
-      try {
-        this.acroForm = this.catalog.catDict.get('AcroForm');
+    try {
+      this.acroForm = this.catalog.catDict.get("AcroForm");
 
-        if (this.acroForm) {
-          this.xfa = this.acroForm.get('XFA');
-          var fields = this.acroForm.get('Fields');
+      if (this.acroForm) {
+        this.xfa = this.acroForm.get("XFA");
+        const fields = this.acroForm.get("Fields");
 
-          if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {
-            this.acroForm = null;
-          }
-        }
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
+        if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {
+          this.acroForm = null;
         }
+      }
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
+      }
+
+      (0, _util.info)("Cannot fetch AcroForm entry; assuming no AcroForms are present");
+      this.acroForm = null;
+    }
+
+    try {
+      const collection = this.catalog.catDict.get("Collection");
 
-        (0, _util.info)('Cannot fetch AcroForm entry; assuming no AcroForms are present');
-        this.acroForm = null;
+      if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {
+        this.collection = collection;
+      }
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
       }
 
-      try {
-        var collection = this.catalog.catDict.get('Collection');
+      (0, _util.info)("Cannot fetch Collection dictionary.");
+    }
+  }
 
-        if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {
-          this.collection = collection;
-        }
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
+  get linearization() {
+    let linearization = null;
 
-        (0, _util.info)('Cannot fetch Collection dictionary.');
+    try {
+      linearization = _parser.Linearization.create(this.stream);
+    } catch (err) {
+      if (err instanceof _core_utils.MissingDataException) {
+        throw err;
       }
+
+      (0, _util.info)(err);
     }
-  }, {
-    key: "checkHeader",
-    value: function checkHeader() {
-      var stream = this.stream;
+
+    return (0, _util.shadow)(this, "linearization", linearization);
+  }
+
+  get startXRef() {
+    const stream = this.stream;
+    let startXRef = 0;
+
+    if (this.linearization) {
       stream.reset();
 
-      if (!find(stream, '%PDF-', 1024)) {
-        return;
+      if (find(stream, ENDOBJ_SIGNATURE)) {
+        startXRef = stream.pos + 6 - stream.start;
       }
+    } else {
+      const step = 1024;
+      const startXRefLength = STARTXREF_SIGNATURE.length;
+      let found = false,
+          pos = stream.end;
 
-      stream.moveStart();
-      var MAX_PDF_VERSION_LENGTH = 12;
-      var version = '',
-          ch;
+      while (!found && pos > 0) {
+        pos -= step - startXRefLength;
 
-      while ((ch = stream.getByte()) > 0x20) {
-        if (version.length >= MAX_PDF_VERSION_LENGTH) {
-          break;
+        if (pos < 0) {
+          pos = 0;
         }
 
-        version += String.fromCharCode(ch);
+        stream.pos = pos;
+        found = find(stream, STARTXREF_SIGNATURE, step, true);
       }
 
-      if (!this.pdfFormatVersion) {
-        this.pdfFormatVersion = version.substring(5);
-      }
-    }
-  }, {
-    key: "parseStartXRef",
-    value: function parseStartXRef() {
-      this.xref.setStartXRef(this.startXRef);
-    }
-  }, {
-    key: "setup",
-    value: function setup(recoveryMode) {
-      this.xref.parse(recoveryMode);
-      this.catalog = new _obj.Catalog(this.pdfManager, this.xref);
-    }
-  }, {
-    key: "_getLinearizationPage",
-    value: function _getLinearizationPage(pageIndex) {
-      var catalog = this.catalog,
-          linearization = this.linearization;
-      (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);
+      if (found) {
+        stream.skip(9);
+        let ch;
 
-      var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);
+        do {
+          ch = stream.getByte();
+        } while ((0, _core_utils.isWhiteSpace)(ch));
 
-      return this.xref.fetchAsync(ref).then(function (obj) {
-        if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Type') && 
obj.has('Contents')) {
-          if (ref && !catalog.pageKidsCountCache.has(ref)) {
-            catalog.pageKidsCountCache.put(ref, 1);
-          }
+        let str = "";
 
-          return [obj, ref];
+        while (ch >= 0x20 && ch <= 0x39) {
+          str += String.fromCharCode(ch);
+          ch = stream.getByte();
         }
 
-        throw new _util.FormatError('The Linearization dictionary doesn\'t point ' + 'to a valid Page 
dictionary.');
-      })["catch"](function (reason) {
-        (0, _util.info)(reason);
-        return catalog.getPageDict(pageIndex);
-      });
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageIndex) {
-      var _this5 = this;
-
-      if (this._pagePromises[pageIndex] !== undefined) {
-        return this._pagePromises[pageIndex];
-      }
-
-      var catalog = this.catalog,
-          linearization = this.linearization;
-      var promise = linearization && linearization.pageFirst === pageIndex ? 
this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);
-      return this._pagePromises[pageIndex] = promise.then(function (_ref10) {
-        var _ref11 = _slicedToArray(_ref10, 2),
-            pageDict = _ref11[0],
-            ref = _ref11[1];
-
-        return new Page({
-          pdfManager: _this5.pdfManager,
-          xref: _this5.xref,
-          pageIndex: pageIndex,
-          pageDict: pageDict,
-          ref: ref,
-          fontCache: catalog.fontCache,
-          builtInCMapCache: catalog.builtInCMapCache,
-          pdfFunctionFactory: _this5.pdfFunctionFactory
-        });
-      });
+        startXRef = parseInt(str, 10);
+
+        if (isNaN(startXRef)) {
+          startXRef = 0;
+        }
+      }
     }
-  }, {
-    key: "checkFirstPage",
-    value: function checkFirstPage() {
-      var _this6 = this;
 
-      return this.getPage(0)["catch"](function (reason) {
-        if (reason instanceof _core_utils.XRefEntryException) {
-          _this6._pagePromises.length = 0;
+    return (0, _util.shadow)(this, "startXRef", startXRef);
+  }
 
-          _this6.cleanup();
+  checkHeader() {
+    const stream = this.stream;
+    stream.reset();
 
-          throw new _core_utils.XRefParseException();
-        }
-      });
-    }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      return this.catalog.fontFallback(id, handler);
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      return this.catalog.cleanup();
+    if (!find(stream, PDF_HEADER_SIGNATURE)) {
+      return;
     }
-  }, {
-    key: "linearization",
-    get: function get() {
-      var linearization = null;
 
-      try {
-        linearization = _parser.Linearization.create(this.stream);
-      } catch (err) {
-        if (err instanceof _core_utils.MissingDataException) {
-          throw err;
-        }
+    stream.moveStart();
+    const MAX_PDF_VERSION_LENGTH = 12;
+    let version = "",
+        ch;
 
-        (0, _util.info)(err);
+    while ((ch = stream.getByte()) > 0x20) {
+      if (version.length >= MAX_PDF_VERSION_LENGTH) {
+        break;
       }
 
-      return (0, _util.shadow)(this, 'linearization', linearization);
+      version += String.fromCharCode(ch);
     }
-  }, {
-    key: "startXRef",
-    get: function get() {
-      var stream = this.stream;
-      var startXRef = 0;
 
-      if (this.linearization) {
-        stream.reset();
+    if (!this.pdfFormatVersion) {
+      this.pdfFormatVersion = version.substring(5);
+    }
+  }
 
-        if (find(stream, 'endobj', 1024)) {
-          startXRef = stream.pos + 6;
-        }
-      } else {
-        var step = 1024;
-        var startXRefLength = 'startxref'.length;
-        var found = false,
-            pos = stream.end;
+  parseStartXRef() {
+    this.xref.setStartXRef(this.startXRef);
+  }
 
-        while (!found && pos > 0) {
-          pos -= step - startXRefLength;
+  setup(recoveryMode) {
+    this.xref.parse(recoveryMode);
+    this.catalog = new _obj.Catalog(this.pdfManager, this.xref);
+  }
 
-          if (pos < 0) {
-            pos = 0;
-          }
+  get numPages() {
+    const linearization = this.linearization;
+    const num = linearization ? linearization.numPages : this.catalog.numPages;
+    return (0, _util.shadow)(this, "numPages", num);
+  }
 
-          stream.pos = pos;
-          found = find(stream, 'startxref', step, true);
-        }
+  get documentInfo() {
+    const DocumentInfoValidators = {
+      Title: _util.isString,
+      Author: _util.isString,
+      Subject: _util.isString,
+      Keywords: _util.isString,
+      Creator: _util.isString,
+      Producer: _util.isString,
+      CreationDate: _util.isString,
+      ModDate: _util.isString,
+      Trapped: _primitives.isName
+    };
+    let version = this.pdfFormatVersion;
 
-        if (found) {
-          stream.skip(9);
-          var ch;
+    if (typeof version !== "string" || !PDF_HEADER_VERSION_REGEXP.test(version)) {
+      (0, _util.warn)(`Invalid PDF header version number: ${version}`);
+      version = null;
+    }
 
-          do {
-            ch = stream.getByte();
-          } while ((0, _util.isSpace)(ch));
+    const docInfo = {
+      PDFFormatVersion: version,
+      IsLinearized: !!this.linearization,
+      IsAcroFormPresent: !!this.acroForm,
+      IsXFAPresent: !!this.xfa,
+      IsCollectionPresent: !!this.collection
+    };
+    let infoDict;
+
+    try {
+      infoDict = this.xref.trailer.get("Info");
+    } catch (err) {
+      if (err instanceof _core_utils.MissingDataException) {
+        throw err;
+      }
+
+      (0, _util.info)("The document information dictionary is invalid.");
+    }
 
-          var str = '';
+    if ((0, _primitives.isDict)(infoDict)) {
+      for (const key of infoDict.getKeys()) {
+        const value = infoDict.get(key);
 
-          while (ch >= 0x20 && ch <= 0x39) {
-            str += String.fromCharCode(ch);
-            ch = stream.getByte();
+        if (DocumentInfoValidators[key]) {
+          if (DocumentInfoValidators[key](value)) {
+            docInfo[key] = typeof value !== "string" ? value : (0, _util.stringToPDFString)(value);
+          } else {
+            (0, _util.info)(`Bad value in document info for "${key}".`);
           }
+        } else if (typeof key === "string") {
+          let customValue;
 
-          startXRef = parseInt(str, 10);
+          if ((0, _util.isString)(value)) {
+            customValue = (0, _util.stringToPDFString)(value);
+          } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {
+            customValue = value;
+          } else {
+            (0, _util.info)(`Unsupported value in document info for (custom) "${key}".`);
+            continue;
+          }
 
-          if (isNaN(startXRef)) {
-            startXRef = 0;
+          if (!docInfo["Custom"]) {
+            docInfo["Custom"] = Object.create(null);
           }
+
+          docInfo["Custom"][key] = customValue;
         }
       }
-
-      return (0, _util.shadow)(this, 'startXRef', startXRef);
-    }
-  }, {
-    key: "numPages",
-    get: function get() {
-      var linearization = this.linearization;
-      var num = linearization ? linearization.numPages : this.catalog.numPages;
-      return (0, _util.shadow)(this, 'numPages', num);
     }
-  }, {
-    key: "documentInfo",
-    get: function get() {
-      var DocumentInfoValidators = {
-        Title: _util.isString,
-        Author: _util.isString,
-        Subject: _util.isString,
-        Keywords: _util.isString,
-        Creator: _util.isString,
-        Producer: _util.isString,
-        CreationDate: _util.isString,
-        ModDate: _util.isString,
-        Trapped: _primitives.isName
-      };
-      var docInfo = {
-        PDFFormatVersion: this.pdfFormatVersion,
-        IsLinearized: !!this.linearization,
-        IsAcroFormPresent: !!this.acroForm,
-        IsXFAPresent: !!this.xfa,
-        IsCollectionPresent: !!this.collection
-      };
-      var infoDict;
 
-      try {
-        infoDict = this.xref.trailer.get('Info');
-      } catch (err) {
-        if (err instanceof _core_utils.MissingDataException) {
-          throw err;
-        }
+    return (0, _util.shadow)(this, "documentInfo", docInfo);
+  }
 
-        (0, _util.info)('The document information dictionary is invalid.');
-      }
+  get fingerprint() {
+    let hash;
+    const idArray = this.xref.trailer.get("ID");
+
+    if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== 
EMPTY_FINGERPRINT) {
+      hash = (0, _util.stringToBytes)(idArray[0]);
+    } else {
+      hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, 
FINGERPRINT_FIRST_BYTES);
+    }
 
-      if ((0, _primitives.isDict)(infoDict)) {
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
+    const fingerprintBuf = [];
 
-        try {
-          for (var _iterator4 = infoDict.getKeys()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 
= (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var key = _step4.value;
-            var value = infoDict.get(key);
+    for (let i = 0, ii = hash.length; i < ii; i++) {
+      const hex = hash[i].toString(16);
+      fingerprintBuf.push(hex.padStart(2, "0"));
+    }
 
-            if (DocumentInfoValidators[key]) {
-              if (DocumentInfoValidators[key](value)) {
-                docInfo[key] = typeof value !== 'string' ? value : (0, _util.stringToPDFString)(value);
-              } else {
-                (0, _util.info)("Bad value in document info for \"".concat(key, "\"."));
-              }
-            } else if (typeof key === 'string') {
-              var customValue = void 0;
+    return (0, _util.shadow)(this, "fingerprint", fingerprintBuf.join(""));
+  }
 
-              if ((0, _util.isString)(value)) {
-                customValue = (0, _util.stringToPDFString)(value);
-              } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, 
_util.isBool)(value)) {
-                customValue = value;
-              } else {
-                (0, _util.info)("Unsupported value in document info for (custom) \"".concat(key, "\"."));
-                continue;
-              }
+  _getLinearizationPage(pageIndex) {
+    const {
+      catalog,
+      linearization
+    } = this;
+    (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);
 
-              if (!docInfo['Custom']) {
-                docInfo['Custom'] = Object.create(null);
-              }
+    const ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);
 
-              docInfo['Custom'][key] = customValue;
-            }
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
+    return this.xref.fetchAsync(ref).then(obj => {
+      if ((0, _primitives.isDict)(obj, "Page") || (0, _primitives.isDict)(obj) && !obj.has("Type") && 
obj.has("Contents")) {
+        if (ref && !catalog.pageKidsCountCache.has(ref)) {
+          catalog.pageKidsCountCache.put(ref, 1);
         }
+
+        return [obj, ref];
       }
 
-      return (0, _util.shadow)(this, 'documentInfo', docInfo);
-    }
-  }, {
-    key: "fingerprint",
-    get: function get() {
-      var hash;
-      var idArray = this.xref.trailer.get('ID');
+      throw new _util.FormatError("The Linearization dictionary doesn't point " + "to a valid Page 
dictionary.");
+    }).catch(reason => {
+      (0, _util.info)(reason);
+      return catalog.getPageDict(pageIndex);
+    });
+  }
 
-      if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== 
EMPTY_FINGERPRINT) {
-        hash = (0, _util.stringToBytes)(idArray[0]);
-      } else {
-        hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, 
FINGERPRINT_FIRST_BYTES);
-      }
+  getPage(pageIndex) {
+    if (this._pagePromises[pageIndex] !== undefined) {
+      return this._pagePromises[pageIndex];
+    }
 
-      var fingerprintBuf = [];
+    const {
+      catalog,
+      linearization
+    } = this;
+    const promise = linearization && linearization.pageFirst === pageIndex ? 
this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);
+    return this._pagePromises[pageIndex] = promise.then(([pageDict, ref]) => {
+      return new Page({
+        pdfManager: this.pdfManager,
+        xref: this.xref,
+        pageIndex,
+        pageDict,
+        ref,
+        fontCache: catalog.fontCache,
+        builtInCMapCache: catalog.builtInCMapCache,
+        pdfFunctionFactory: this.pdfFunctionFactory
+      });
+    });
+  }
 
-      for (var i = 0, ii = hash.length; i < ii; i++) {
-        var hex = hash[i].toString(16);
-        fingerprintBuf.push(hex.padStart(2, '0'));
+  checkFirstPage() {
+    return this.getPage(0).catch(async reason => {
+      if (reason instanceof _core_utils.XRefEntryException) {
+        this._pagePromises.length = 0;
+        await this.cleanup();
+        throw new _core_utils.XRefParseException();
       }
+    });
+  }
 
-      return (0, _util.shadow)(this, 'fingerprint', fingerprintBuf.join(''));
-    }
-  }]);
+  fontFallback(id, handler) {
+    return this.catalog.fontFallback(id, handler);
+  }
 
-  return PDFDocument;
-}();
+  async cleanup() {
+    return this.catalog ? this.catalog.cleanup() : (0, _primitives.clearPrimitiveCaches)();
+  }
+
+}
 
 exports.PDFDocument = PDFDocument;
 
 /***/ }),
-/* 188 */
+/* 9 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -13385,70 +3525,30 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _parser = __w_pdfjs_require__(189);
-
-var _core_utils = __w_pdfjs_require__(186);
-
-var _chunked_stream = __w_pdfjs_require__(185);
-
-var _crypto = __w_pdfjs_require__(200);
-
-var _colorspace = __w_pdfjs_require__(201);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+var _util = __w_pdfjs_require__(2);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+var _primitives = __w_pdfjs_require__(4);
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+var _parser = __w_pdfjs_require__(10);
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+var _core_utils = __w_pdfjs_require__(7);
 
-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); } }
+var _crypto = __w_pdfjs_require__(21);
 
-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) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = 
_i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = 
true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw 
_e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); return Constructor; }
+var _colorspace = __w_pdfjs_require__(22);
 
 function fetchDestination(dest) {
-  return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;
+  return (0, _primitives.isDict)(dest) ? dest.get("D") : dest;
 }
 
-var Catalog =
-/*#__PURE__*/
-function () {
-  function Catalog(pdfManager, xref) {
-    _classCallCheck(this, Catalog);
-
+class Catalog {
+  constructor(pdfManager, xref) {
     this.pdfManager = pdfManager;
     this.xref = xref;
     this.catDict = xref.getCatalogObj();
 
     if (!(0, _primitives.isDict)(this.catDict)) {
-      throw new _util.FormatError('Catalog object is not a dictionary.');
+      throw new _util.FormatError("Catalog object is not a dictionary.");
     }
 
     this.fontCache = new _primitives.RefSetCache();
@@ -13456,1129 +3556,1063 @@ function () {
     this.pageKidsCountCache = new _primitives.RefSetCache();
   }
 
-  _createClass(Catalog, [{
-    key: "_readDocumentOutline",
-    value: function _readDocumentOutline() {
-      var obj = this.catDict.get('Outlines');
+  get metadata() {
+    const streamRef = this.catDict.getRaw("Metadata");
 
-      if (!(0, _primitives.isDict)(obj)) {
-        return null;
+    if (!(0, _primitives.isRef)(streamRef)) {
+      return (0, _util.shadow)(this, "metadata", null);
+    }
+
+    const suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);
+    const stream = this.xref.fetch(streamRef, suppressEncryption);
+    let metadata;
+
+    if (stream && (0, _primitives.isDict)(stream.dict)) {
+      const type = stream.dict.get("Type");
+      const subtype = stream.dict.get("Subtype");
+
+      if ((0, _primitives.isName)(type, "Metadata") && (0, _primitives.isName)(subtype, "XML")) {
+        try {
+          metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));
+        } catch (e) {
+          if (e instanceof _core_utils.MissingDataException) {
+            throw e;
+          }
+
+          (0, _util.info)("Skipping invalid metadata.");
+        }
       }
+    }
+
+    return (0, _util.shadow)(this, "metadata", metadata);
+  }
 
-      obj = obj.getRaw('First');
+  get toplevelPagesDict() {
+    const pagesObj = this.catDict.get("Pages");
 
-      if (!(0, _primitives.isRef)(obj)) {
-        return null;
+    if (!(0, _primitives.isDict)(pagesObj)) {
+      throw new _util.FormatError("Invalid top-level pages dictionary.");
+    }
+
+    return (0, _util.shadow)(this, "toplevelPagesDict", pagesObj);
+  }
+
+  get documentOutline() {
+    let obj = null;
+
+    try {
+      obj = this._readDocumentOutline();
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
       }
 
-      var root = {
-        items: []
-      };
-      var queue = [{
-        obj: obj,
-        parent: root
-      }];
-      var processed = new _primitives.RefSet();
-      processed.put(obj);
-      var xref = this.xref,
-          blackColor = new Uint8ClampedArray(3);
+      (0, _util.warn)("Unable to read document outline.");
+    }
 
-      while (queue.length > 0) {
-        var i = queue.shift();
-        var outlineDict = xref.fetchIfRef(i.obj);
+    return (0, _util.shadow)(this, "documentOutline", obj);
+  }
 
-        if (outlineDict === null) {
-          continue;
-        }
+  _readDocumentOutline() {
+    let obj = this.catDict.get("Outlines");
 
-        if (!outlineDict.has('Title')) {
-          throw new _util.FormatError('Invalid outline item encountered.');
-        }
+    if (!(0, _primitives.isDict)(obj)) {
+      return null;
+    }
 
-        var data = {
-          url: null,
-          dest: null
-        };
-        Catalog.parseDestDictionary({
-          destDict: outlineDict,
-          resultObj: data,
-          docBaseUrl: this.pdfManager.docBaseUrl
-        });
-        var title = outlineDict.get('Title');
-        var flags = outlineDict.get('F') || 0;
-        var color = outlineDict.getArray('C');
-        var count = outlineDict.get('Count');
-        var rgbColor = blackColor;
-
-        if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 
0)) {
-          rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);
-        }
-
-        var outlineItem = {
-          dest: data.dest,
-          url: data.url,
-          unsafeUrl: data.unsafeUrl,
-          newWindow: data.newWindow,
-          title: (0, _util.stringToPDFString)(title),
-          color: rgbColor,
-          count: Number.isInteger(count) ? count : undefined,
-          bold: !!(flags & 2),
-          italic: !!(flags & 1),
-          items: []
-        };
-        i.parent.items.push(outlineItem);
-        obj = outlineDict.getRaw('First');
+    obj = obj.getRaw("First");
 
-        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
-          queue.push({
-            obj: obj,
-            parent: outlineItem
-          });
-          processed.put(obj);
-        }
+    if (!(0, _primitives.isRef)(obj)) {
+      return null;
+    }
 
-        obj = outlineDict.getRaw('Next');
+    const root = {
+      items: []
+    };
+    const queue = [{
+      obj,
+      parent: root
+    }];
+    const processed = new _primitives.RefSet();
+    processed.put(obj);
+    const xref = this.xref,
+          blackColor = new Uint8ClampedArray(3);
 
-        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
-          queue.push({
-            obj: obj,
-            parent: i.parent
-          });
-          processed.put(obj);
-        }
+    while (queue.length > 0) {
+      const i = queue.shift();
+      const outlineDict = xref.fetchIfRef(i.obj);
+
+      if (outlineDict === null) {
+        continue;
       }
 
-      return root.items.length > 0 ? root.items : null;
-    }
-  }, {
-    key: "_readPermissions",
-    value: function _readPermissions() {
-      var encrypt = this.xref.trailer.get('Encrypt');
+      if (!outlineDict.has("Title")) {
+        throw new _util.FormatError("Invalid outline item encountered.");
+      }
+
+      const data = {
+        url: null,
+        dest: null
+      };
+      Catalog.parseDestDictionary({
+        destDict: outlineDict,
+        resultObj: data,
+        docBaseUrl: this.pdfManager.docBaseUrl
+      });
+      const title = outlineDict.get("Title");
+      const flags = outlineDict.get("F") || 0;
+      const color = outlineDict.getArray("C");
+      const count = outlineDict.get("Count");
+      let rgbColor = blackColor;
+
+      if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 
0)) {
+        rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);
+      }
+
+      const outlineItem = {
+        dest: data.dest,
+        url: data.url,
+        unsafeUrl: data.unsafeUrl,
+        newWindow: data.newWindow,
+        title: (0, _util.stringToPDFString)(title),
+        color: rgbColor,
+        count: Number.isInteger(count) ? count : undefined,
+        bold: !!(flags & 2),
+        italic: !!(flags & 1),
+        items: []
+      };
+      i.parent.items.push(outlineItem);
+      obj = outlineDict.getRaw("First");
 
-      if (!(0, _primitives.isDict)(encrypt)) {
-        return null;
+      if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
+        queue.push({
+          obj,
+          parent: outlineItem
+        });
+        processed.put(obj);
       }
 
-      var flags = encrypt.get('P');
+      obj = outlineDict.getRaw("Next");
 
-      if (!(0, _util.isNum)(flags)) {
-        return null;
+      if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
+        queue.push({
+          obj,
+          parent: i.parent
+        });
+        processed.put(obj);
       }
+    }
 
-      flags += Math.pow(2, 32);
-      var permissions = [];
+    return root.items.length > 0 ? root.items : null;
+  }
 
-      for (var key in _util.PermissionFlag) {
-        var value = _util.PermissionFlag[key];
+  get permissions() {
+    let permissions = null;
 
-        if (flags & value) {
-          permissions.push(value);
-        }
+    try {
+      permissions = this._readPermissions();
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
       }
 
-      return permissions;
+      (0, _util.warn)("Unable to read permissions.");
     }
-  }, {
-    key: "getDestination",
-    value: function getDestination(destinationId) {
-      var obj = this._readDests();
 
-      if (obj instanceof NameTree || obj instanceof _primitives.Dict) {
-        return fetchDestination(obj.get(destinationId) || null);
-      }
+    return (0, _util.shadow)(this, "permissions", permissions);
+  }
+
+  _readPermissions() {
+    const encrypt = this.xref.trailer.get("Encrypt");
 
+    if (!(0, _primitives.isDict)(encrypt)) {
       return null;
     }
-  }, {
-    key: "_readDests",
-    value: function _readDests() {
-      var obj = this.catDict.get('Names');
 
-      if (obj && obj.has('Dests')) {
-        return new NameTree(obj.getRaw('Dests'), this.xref);
-      } else if (this.catDict.has('Dests')) {
-        return this.catDict.get('Dests');
-      }
+    let flags = encrypt.get("P");
 
-      return undefined;
+    if (!(0, _util.isNum)(flags)) {
+      return null;
     }
-  }, {
-    key: "_readPageLabels",
-    value: function _readPageLabels() {
-      var obj = this.catDict.getRaw('PageLabels');
 
-      if (!obj) {
-        return null;
-      }
+    flags += 2 ** 32;
+    const permissions = [];
 
-      var pageLabels = new Array(this.numPages);
-      var style = null,
-          prefix = '';
-      var numberTree = new NumberTree(obj, this.xref);
-      var nums = numberTree.getAll();
-      var currentLabel = '',
-          currentIndex = 1;
+    for (const key in _util.PermissionFlag) {
+      const value = _util.PermissionFlag[key];
 
-      for (var i = 0, ii = this.numPages; i < ii; i++) {
-        if (i in nums) {
-          var labelDict = nums[i];
+      if (flags & value) {
+        permissions.push(value);
+      }
+    }
 
-          if (!(0, _primitives.isDict)(labelDict)) {
-            throw new _util.FormatError('PageLabel is not a dictionary.');
-          }
+    return permissions;
+  }
 
-          if (labelDict.has('Type') && !(0, _primitives.isName)(labelDict.get('Type'), 'PageLabel')) {
-            throw new _util.FormatError('Invalid type in PageLabel dictionary.');
-          }
+  get numPages() {
+    const obj = this.toplevelPagesDict.get("Count");
 
-          if (labelDict.has('S')) {
-            var s = labelDict.get('S');
+    if (!Number.isInteger(obj)) {
+      throw new _util.FormatError("Page count in top-level pages dictionary is not an integer.");
+    }
 
-            if (!(0, _primitives.isName)(s)) {
-              throw new _util.FormatError('Invalid style in PageLabel dictionary.');
-            }
+    return (0, _util.shadow)(this, "numPages", obj);
+  }
 
-            style = s.name;
-          } else {
-            style = null;
-          }
+  get destinations() {
+    const obj = this._readDests(),
+          dests = Object.create(null);
 
-          if (labelDict.has('P')) {
-            var p = labelDict.get('P');
+    if (obj instanceof NameTree) {
+      const names = obj.getAll();
 
-            if (!(0, _util.isString)(p)) {
-              throw new _util.FormatError('Invalid prefix in PageLabel dictionary.');
-            }
+      for (const name in names) {
+        dests[name] = fetchDestination(names[name]);
+      }
+    } else if (obj instanceof _primitives.Dict) {
+      obj.forEach(function (key, value) {
+        if (value) {
+          dests[key] = fetchDestination(value);
+        }
+      });
+    }
 
-            prefix = (0, _util.stringToPDFString)(p);
-          } else {
-            prefix = '';
-          }
+    return (0, _util.shadow)(this, "destinations", dests);
+  }
 
-          if (labelDict.has('St')) {
-            var st = labelDict.get('St');
+  getDestination(destinationId) {
+    const obj = this._readDests();
 
-            if (!(Number.isInteger(st) && st >= 1)) {
-              throw new _util.FormatError('Invalid start in PageLabel dictionary.');
-            }
+    if (obj instanceof NameTree || obj instanceof _primitives.Dict) {
+      return fetchDestination(obj.get(destinationId) || null);
+    }
 
-            currentIndex = st;
-          } else {
-            currentIndex = 1;
-          }
-        }
+    return null;
+  }
 
-        switch (style) {
-          case 'D':
-            currentLabel = currentIndex;
-            break;
+  _readDests() {
+    const obj = this.catDict.get("Names");
 
-          case 'R':
-          case 'r':
-            currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === 'r');
-            break;
+    if (obj && obj.has("Dests")) {
+      return new NameTree(obj.getRaw("Dests"), this.xref);
+    } else if (this.catDict.has("Dests")) {
+      return this.catDict.get("Dests");
+    }
 
-          case 'A':
-          case 'a':
-            var LIMIT = 26;
-            var A_UPPER_CASE = 0x41,
-                A_LOWER_CASE = 0x61;
-            var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE;
-            var letterIndex = currentIndex - 1;
-            var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);
-            var charBuf = [];
+    return undefined;
+  }
 
-            for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {
-              charBuf.push(character);
-            }
+  get pageLabels() {
+    let obj = null;
 
-            currentLabel = charBuf.join('');
-            break;
+    try {
+      obj = this._readPageLabels();
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
+      }
 
-          default:
-            if (style) {
-              throw new _util.FormatError("Invalid style \"".concat(style, "\" in PageLabel dictionary."));
-            }
+      (0, _util.warn)("Unable to read page labels.");
+    }
 
-            currentLabel = '';
-        }
+    return (0, _util.shadow)(this, "pageLabels", obj);
+  }
 
-        pageLabels[i] = prefix + currentLabel;
-        currentIndex++;
-      }
+  _readPageLabels() {
+    const obj = this.catDict.getRaw("PageLabels");
 
-      return pageLabels;
+    if (!obj) {
+      return null;
     }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      var promises = [];
-      this.fontCache.forEach(function (promise) {
-        promises.push(promise);
-      });
-      return Promise.all(promises).then(function (translatedFonts) {
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
 
-        try {
-          for (var _iterator = translatedFonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = 
(_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-            var translatedFont = _step.value;
+    const pageLabels = new Array(this.numPages);
+    let style = null,
+        prefix = "";
+    const numberTree = new NumberTree(obj, this.xref);
+    const nums = numberTree.getAll();
+    let currentLabel = "",
+        currentIndex = 1;
 
-            if (translatedFont.loadedName === id) {
-              translatedFont.fallback(handler);
-              return;
-            }
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      var _this = this;
-
-      (0, _primitives.clearPrimitiveCaches)();
-      this.pageKidsCountCache.clear();
-      var promises = [];
-      this.fontCache.forEach(function (promise) {
-        promises.push(promise);
-      });
-      return Promise.all(promises).then(function (translatedFonts) {
-        for (var i = 0, ii = translatedFonts.length; i < ii; i++) {
-          var font = translatedFonts[i].dict;
-          delete font.translated;
+    for (let i = 0, ii = this.numPages; i < ii; i++) {
+      if (i in nums) {
+        const labelDict = nums[i];
+
+        if (!(0, _primitives.isDict)(labelDict)) {
+          throw new _util.FormatError("PageLabel is not a dictionary.");
         }
 
-        _this.fontCache.clear();
+        if (labelDict.has("Type") && !(0, _primitives.isName)(labelDict.get("Type"), "PageLabel")) {
+          throw new _util.FormatError("Invalid type in PageLabel dictionary.");
+        }
 
-        _this.builtInCMapCache.clear();
-      });
-    }
-  }, {
-    key: "getPageDict",
-    value: function getPageDict(pageIndex) {
-      var capability = (0, _util.createPromiseCapability)();
-      var nodesToVisit = [this.catDict.getRaw('Pages')];
-      var xref = this.xref,
-          pageKidsCountCache = this.pageKidsCountCache;
-      var count,
-          currentPageIndex = 0;
+        if (labelDict.has("S")) {
+          const s = labelDict.get("S");
 
-      function next() {
-        var _loop = function _loop() {
-          var currentNode = nodesToVisit.pop();
+          if (!(0, _primitives.isName)(s)) {
+            throw new _util.FormatError("Invalid style in PageLabel dictionary.");
+          }
 
-          if ((0, _primitives.isRef)(currentNode)) {
-            count = pageKidsCountCache.get(currentNode);
+          style = s.name;
+        } else {
+          style = null;
+        }
 
-            if (count > 0 && currentPageIndex + count < pageIndex) {
-              currentPageIndex += count;
-              return "continue";
-            }
+        if (labelDict.has("P")) {
+          const p = labelDict.get("P");
 
-            xref.fetchAsync(currentNode).then(function (obj) {
-              if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Kids')) {
-                if (pageIndex === currentPageIndex) {
-                  if (currentNode && !pageKidsCountCache.has(currentNode)) {
-                    pageKidsCountCache.put(currentNode, 1);
-                  }
+          if (!(0, _util.isString)(p)) {
+            throw new _util.FormatError("Invalid prefix in PageLabel dictionary.");
+          }
 
-                  capability.resolve([obj, currentNode]);
-                } else {
-                  currentPageIndex++;
-                  next();
-                }
+          prefix = (0, _util.stringToPDFString)(p);
+        } else {
+          prefix = "";
+        }
 
-                return;
-              }
+        if (labelDict.has("St")) {
+          const st = labelDict.get("St");
 
-              nodesToVisit.push(obj);
-              next();
-            }, capability.reject);
-            return {
-              v: void 0
-            };
+          if (!(Number.isInteger(st) && st >= 1)) {
+            throw new _util.FormatError("Invalid start in PageLabel dictionary.");
           }
 
-          if (!(0, _primitives.isDict)(currentNode)) {
-            capability.reject(new _util.FormatError('Page dictionary kid reference points to wrong type of 
object.'));
-            return {
-              v: void 0
-            };
-          }
+          currentIndex = st;
+        } else {
+          currentIndex = 1;
+        }
+      }
 
-          count = currentNode.get('Count');
+      switch (style) {
+        case "D":
+          currentLabel = currentIndex;
+          break;
 
-          if (Number.isInteger(count) && count >= 0) {
-            var objId = currentNode.objId;
+        case "R":
+        case "r":
+          currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === "r");
+          break;
 
-            if (objId && !pageKidsCountCache.has(objId)) {
-              pageKidsCountCache.put(objId, count);
-            }
+        case "A":
+        case "a":
+          const LIMIT = 26;
+          const A_UPPER_CASE = 0x41,
+                A_LOWER_CASE = 0x61;
+          const baseCharCode = style === "a" ? A_LOWER_CASE : A_UPPER_CASE;
+          const letterIndex = currentIndex - 1;
+          const character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);
+          const charBuf = [];
 
-            if (currentPageIndex + count <= pageIndex) {
-              currentPageIndex += count;
-              return "continue";
-            }
+          for (let j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {
+            charBuf.push(character);
           }
 
-          var kids = currentNode.get('Kids');
-
-          if (!Array.isArray(kids)) {
-            if ((0, _primitives.isName)(currentNode.get('Type'), 'Page') || !currentNode.has('Type') && 
currentNode.has('Contents')) {
-              if (currentPageIndex === pageIndex) {
-                capability.resolve([currentNode, null]);
-                return {
-                  v: void 0
-                };
-              }
-
-              currentPageIndex++;
-              return "continue";
-            }
+          currentLabel = charBuf.join("");
+          break;
 
-            capability.reject(new _util.FormatError('Page dictionary kids object is not an array.'));
-            return {
-              v: void 0
-            };
+        default:
+          if (style) {
+            throw new _util.FormatError(`Invalid style "${style}" in PageLabel dictionary.`);
           }
 
-          for (var last = kids.length - 1; last >= 0; last--) {
-            nodesToVisit.push(kids[last]);
-          }
-        };
+          currentLabel = "";
+      }
 
-        while (nodesToVisit.length) {
-          var _ret = _loop();
+      pageLabels[i] = prefix + currentLabel;
+      currentIndex++;
+    }
 
-          switch (_ret) {
-            case "continue":
-              continue;
+    return pageLabels;
+  }
 
-            default:
-              if (_typeof(_ret) === "object") return _ret.v;
-          }
-        }
+  get pageLayout() {
+    const obj = this.catDict.get("PageLayout");
+    let pageLayout = "";
 
-        capability.reject(new Error("Page index ".concat(pageIndex, " not found.")));
+    if ((0, _primitives.isName)(obj)) {
+      switch (obj.name) {
+        case "SinglePage":
+        case "OneColumn":
+        case "TwoColumnLeft":
+        case "TwoColumnRight":
+        case "TwoPageLeft":
+        case "TwoPageRight":
+          pageLayout = obj.name;
       }
-
-      next();
-      return capability.promise;
     }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(pageRef) {
-      var xref = this.xref;
 
-      function pagesBeforeRef(kidRef) {
-        var total = 0,
-            parentRef;
-        return xref.fetchAsync(kidRef).then(function (node) {
-          if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, 'Page') && 
!((0, _primitives.isDict)(node) && !node.has('Type') && node.has('Contents'))) {
-            throw new _util.FormatError('The reference does not point to a /Page dictionary.');
-          }
+    return (0, _util.shadow)(this, "pageLayout", pageLayout);
+  }
 
-          if (!node) {
-            return null;
-          }
+  get pageMode() {
+    const obj = this.catDict.get("PageMode");
+    let pageMode = "UseNone";
 
-          if (!(0, _primitives.isDict)(node)) {
-            throw new _util.FormatError('Node must be a dictionary.');
-          }
+    if ((0, _primitives.isName)(obj)) {
+      switch (obj.name) {
+        case "UseNone":
+        case "UseOutlines":
+        case "UseThumbs":
+        case "FullScreen":
+        case "UseOC":
+        case "UseAttachments":
+          pageMode = obj.name;
+      }
+    }
 
-          parentRef = node.getRaw('Parent');
-          return node.getAsync('Parent');
-        }).then(function (parent) {
-          if (!parent) {
-            return null;
-          }
+    return (0, _util.shadow)(this, "pageMode", pageMode);
+  }
 
-          if (!(0, _primitives.isDict)(parent)) {
-            throw new _util.FormatError('Parent must be a dictionary.');
-          }
+  get viewerPreferences() {
+    const ViewerPreferencesValidators = {
+      HideToolbar: _util.isBool,
+      HideMenubar: _util.isBool,
+      HideWindowUI: _util.isBool,
+      FitWindow: _util.isBool,
+      CenterWindow: _util.isBool,
+      DisplayDocTitle: _util.isBool,
+      NonFullScreenPageMode: _primitives.isName,
+      Direction: _primitives.isName,
+      ViewArea: _primitives.isName,
+      ViewClip: _primitives.isName,
+      PrintArea: _primitives.isName,
+      PrintClip: _primitives.isName,
+      PrintScaling: _primitives.isName,
+      Duplex: _primitives.isName,
+      PickTrayByPDFSize: _util.isBool,
+      PrintPageRange: Array.isArray,
+      NumCopies: Number.isInteger
+    };
+    const obj = this.catDict.get("ViewerPreferences");
+    const prefs = Object.create(null);
 
-          return parent.getAsync('Kids');
-        }).then(function (kids) {
-          if (!kids) {
-            return null;
-          }
+    if ((0, _primitives.isDict)(obj)) {
+      for (const key in ViewerPreferencesValidators) {
+        if (!obj.has(key)) {
+          continue;
+        }
 
-          var kidPromises = [];
-          var found = false;
+        const value = obj.get(key);
+
+        if (!ViewerPreferencesValidators[key](value)) {
+          (0, _util.info)(`Bad value in ViewerPreferences for "${key}".`);
+          continue;
+        }
 
-          for (var i = 0, ii = kids.length; i < ii; i++) {
-            var kid = kids[i];
+        let prefValue;
 
-            if (!(0, _primitives.isRef)(kid)) {
-              throw new _util.FormatError('Kid must be a reference.');
-            }
+        switch (key) {
+          case "NonFullScreenPageMode":
+            switch (value.name) {
+              case "UseNone":
+              case "UseOutlines":
+              case "UseThumbs":
+              case "UseOC":
+                prefValue = value.name;
+                break;
 
-            if ((0, _primitives.isRefsEqual)(kid, kidRef)) {
-              found = true;
-              break;
+              default:
+                prefValue = "UseNone";
             }
 
-            kidPromises.push(xref.fetchAsync(kid).then(function (kid) {
-              if (!(0, _primitives.isDict)(kid)) {
-                throw new _util.FormatError('Kid node must be a dictionary.');
-              }
-
-              if (kid.has('Count')) {
-                total += kid.get('Count');
-              } else {
-                total++;
-              }
-            }));
-          }
+            break;
 
-          if (!found) {
-            throw new _util.FormatError('Kid reference not found in parent\'s kids.');
-          }
+          case "Direction":
+            switch (value.name) {
+              case "L2R":
+              case "R2L":
+                prefValue = value.name;
+                break;
 
-          return Promise.all(kidPromises).then(function () {
-            return [total, parentRef];
-          });
-        });
-      }
+              default:
+                prefValue = "L2R";
+            }
 
-      var total = 0;
+            break;
 
-      function next(ref) {
-        return pagesBeforeRef(ref).then(function (args) {
-          if (!args) {
-            return total;
-          }
+          case "ViewArea":
+          case "ViewClip":
+          case "PrintArea":
+          case "PrintClip":
+            switch (value.name) {
+              case "MediaBox":
+              case "CropBox":
+              case "BleedBox":
+              case "TrimBox":
+              case "ArtBox":
+                prefValue = value.name;
+                break;
 
-          var _args = _slicedToArray(args, 2),
-              count = _args[0],
-              parentRef = _args[1];
+              default:
+                prefValue = "CropBox";
+            }
 
-          total += count;
-          return next(parentRef);
-        });
-      }
+            break;
 
-      return next(pageRef);
-    }
-  }, {
-    key: "metadata",
-    get: function get() {
-      var streamRef = this.catDict.getRaw('Metadata');
+          case "PrintScaling":
+            switch (value.name) {
+              case "None":
+              case "AppDefault":
+                prefValue = value.name;
+                break;
 
-      if (!(0, _primitives.isRef)(streamRef)) {
-        return (0, _util.shadow)(this, 'metadata', null);
-      }
+              default:
+                prefValue = "AppDefault";
+            }
 
-      var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);
-      var stream = this.xref.fetch(streamRef, suppressEncryption);
-      var metadata;
+            break;
 
-      if (stream && (0, _primitives.isDict)(stream.dict)) {
-        var type = stream.dict.get('Type');
-        var subtype = stream.dict.get('Subtype');
+          case "Duplex":
+            switch (value.name) {
+              case "Simplex":
+              case "DuplexFlipShortEdge":
+              case "DuplexFlipLongEdge":
+                prefValue = value.name;
+                break;
 
-        if ((0, _primitives.isName)(type, 'Metadata') && (0, _primitives.isName)(subtype, 'XML')) {
-          try {
-            metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));
-          } catch (e) {
-            if (e instanceof _core_utils.MissingDataException) {
-              throw e;
+              default:
+                prefValue = "None";
             }
 
-            (0, _util.info)('Skipping invalid metadata.');
-          }
-        }
-      }
+            break;
 
-      return (0, _util.shadow)(this, 'metadata', metadata);
-    }
-  }, {
-    key: "toplevelPagesDict",
-    get: function get() {
-      var pagesObj = this.catDict.get('Pages');
+          case "PrintPageRange":
+            const length = value.length;
 
-      if (!(0, _primitives.isDict)(pagesObj)) {
-        throw new _util.FormatError('Invalid top-level pages dictionary.');
-      }
+            if (length % 2 !== 0) {
+              break;
+            }
 
-      return (0, _util.shadow)(this, 'toplevelPagesDict', pagesObj);
-    }
-  }, {
-    key: "documentOutline",
-    get: function get() {
-      var obj = null;
+            const isValid = value.every((page, i, arr) => {
+              return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= 
this.numPages;
+            });
 
-      try {
-        obj = this._readDocumentOutline();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
+            if (isValid) {
+              prefValue = value;
+            }
 
-        (0, _util.warn)('Unable to read document outline.');
-      }
+            break;
 
-      return (0, _util.shadow)(this, 'documentOutline', obj);
-    }
-  }, {
-    key: "permissions",
-    get: function get() {
-      var permissions = null;
+          case "NumCopies":
+            if (value > 0) {
+              prefValue = value;
+            }
 
-      try {
-        permissions = this._readPermissions();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
+            break;
+
+          default:
+            (0, _util.assert)(typeof value === "boolean");
+            prefValue = value;
         }
 
-        (0, _util.warn)('Unable to read permissions.');
+        if (prefValue !== undefined) {
+          prefs[key] = prefValue;
+        } else {
+          (0, _util.info)(`Bad value in ViewerPreferences for "${key}".`);
+        }
       }
-
-      return (0, _util.shadow)(this, 'permissions', permissions);
     }
-  }, {
-    key: "numPages",
-    get: function get() {
-      var obj = this.toplevelPagesDict.get('Count');
 
-      if (!Number.isInteger(obj)) {
-        throw new _util.FormatError('Page count in top-level pages dictionary is not an integer.');
-      }
+    return (0, _util.shadow)(this, "viewerPreferences", prefs);
+  }
 
-      return (0, _util.shadow)(this, 'numPages', obj);
-    }
-  }, {
-    key: "destinations",
-    get: function get() {
-      var obj = this._readDests(),
-          dests = Object.create(null);
+  get openAction() {
+    const obj = this.catDict.get("OpenAction");
+    let openAction = null;
 
-      if (obj instanceof NameTree) {
-        var names = obj.getAll();
+    if ((0, _primitives.isDict)(obj)) {
+      const destDict = new _primitives.Dict(this.xref);
+      destDict.set("A", obj);
+      const resultObj = {
+        url: null,
+        dest: null,
+        action: null
+      };
+      Catalog.parseDestDictionary({
+        destDict,
+        resultObj
+      });
 
-        for (var name in names) {
-          dests[name] = fetchDestination(names[name]);
+      if (Array.isArray(resultObj.dest)) {
+        if (!openAction) {
+          openAction = Object.create(null);
         }
-      } else if (obj instanceof _primitives.Dict) {
-        obj.forEach(function (key, value) {
-          if (value) {
-            dests[key] = fetchDestination(value);
-          }
-        });
+
+        openAction.dest = resultObj.dest;
+      } else if (resultObj.action) {
+        if (!openAction) {
+          openAction = Object.create(null);
+        }
+
+        openAction.action = resultObj.action;
+      }
+    } else if (Array.isArray(obj)) {
+      if (!openAction) {
+        openAction = Object.create(null);
       }
 
-      return (0, _util.shadow)(this, 'destinations', dests);
+      openAction.dest = obj;
     }
-  }, {
-    key: "pageLabels",
-    get: function get() {
-      var obj = null;
 
-      try {
-        obj = this._readPageLabels();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
+    return (0, _util.shadow)(this, "openAction", openAction);
+  }
+
+  get attachments() {
+    const obj = this.catDict.get("Names");
+    let attachments = null;
 
-        (0, _util.warn)('Unable to read page labels.');
-      }
+    if (obj && obj.has("EmbeddedFiles")) {
+      const nameTree = new NameTree(obj.getRaw("EmbeddedFiles"), this.xref);
+      const names = nameTree.getAll();
 
-      return (0, _util.shadow)(this, 'pageLabels', obj);
-    }
-  }, {
-    key: "pageLayout",
-    get: function get() {
-      var obj = this.catDict.get('PageLayout');
-      var pageLayout = '';
+      for (const name in names) {
+        const fs = new FileSpec(names[name], this.xref);
 
-      if ((0, _primitives.isName)(obj)) {
-        switch (obj.name) {
-          case 'SinglePage':
-          case 'OneColumn':
-          case 'TwoColumnLeft':
-          case 'TwoColumnRight':
-          case 'TwoPageLeft':
-          case 'TwoPageRight':
-            pageLayout = obj.name;
+        if (!attachments) {
+          attachments = Object.create(null);
         }
-      }
 
-      return (0, _util.shadow)(this, 'pageLayout', pageLayout);
+        attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;
+      }
     }
-  }, {
-    key: "pageMode",
-    get: function get() {
-      var obj = this.catDict.get('PageMode');
-      var pageMode = 'UseNone';
 
-      if ((0, _primitives.isName)(obj)) {
-        switch (obj.name) {
-          case 'UseNone':
-          case 'UseOutlines':
-          case 'UseThumbs':
-          case 'FullScreen':
-          case 'UseOC':
-          case 'UseAttachments':
-            pageMode = obj.name;
-        }
-      }
+    return (0, _util.shadow)(this, "attachments", attachments);
+  }
 
-      return (0, _util.shadow)(this, 'pageMode', pageMode);
-    }
-  }, {
-    key: "viewerPreferences",
-    get: function get() {
-      var _this2 = this;
-
-      var ViewerPreferencesValidators = {
-        HideToolbar: _util.isBool,
-        HideMenubar: _util.isBool,
-        HideWindowUI: _util.isBool,
-        FitWindow: _util.isBool,
-        CenterWindow: _util.isBool,
-        DisplayDocTitle: _util.isBool,
-        NonFullScreenPageMode: _primitives.isName,
-        Direction: _primitives.isName,
-        ViewArea: _primitives.isName,
-        ViewClip: _primitives.isName,
-        PrintArea: _primitives.isName,
-        PrintClip: _primitives.isName,
-        PrintScaling: _primitives.isName,
-        Duplex: _primitives.isName,
-        PickTrayByPDFSize: _util.isBool,
-        PrintPageRange: Array.isArray,
-        NumCopies: Number.isInteger
-      };
-      var obj = this.catDict.get('ViewerPreferences');
-      var prefs = Object.create(null);
+  get javaScript() {
+    const obj = this.catDict.get("Names");
+    let javaScript = null;
 
-      if ((0, _primitives.isDict)(obj)) {
-        for (var key in ViewerPreferencesValidators) {
-          if (!obj.has(key)) {
-            continue;
-          }
+    function appendIfJavaScriptDict(jsDict) {
+      const type = jsDict.get("S");
 
-          var value = obj.get(key);
+      if (!(0, _primitives.isName)(type, "JavaScript")) {
+        return;
+      }
 
-          if (!ViewerPreferencesValidators[key](value)) {
-            (0, _util.info)("Bad value in ViewerPreferences for \"".concat(key, "\"."));
-            continue;
-          }
+      let js = jsDict.get("JS");
 
-          var prefValue = void 0;
+      if ((0, _primitives.isStream)(js)) {
+        js = (0, _util.bytesToString)(js.getBytes());
+      } else if (!(0, _util.isString)(js)) {
+        return;
+      }
 
-          switch (key) {
-            case 'NonFullScreenPageMode':
-              switch (value.name) {
-                case 'UseNone':
-                case 'UseOutlines':
-                case 'UseThumbs':
-                case 'UseOC':
-                  prefValue = value.name;
-                  break;
+      if (!javaScript) {
+        javaScript = [];
+      }
 
-                default:
-                  prefValue = 'UseNone';
-              }
+      javaScript.push((0, _util.stringToPDFString)(js));
+    }
 
-              break;
+    if (obj && obj.has("JavaScript")) {
+      const nameTree = new NameTree(obj.getRaw("JavaScript"), this.xref);
+      const names = nameTree.getAll();
 
-            case 'Direction':
-              switch (value.name) {
-                case 'L2R':
-                case 'R2L':
-                  prefValue = value.name;
-                  break;
+      for (const name in names) {
+        const jsDict = names[name];
 
-                default:
-                  prefValue = 'L2R';
-              }
+        if ((0, _primitives.isDict)(jsDict)) {
+          appendIfJavaScriptDict(jsDict);
+        }
+      }
+    }
 
-              break;
+    const openAction = this.catDict.get("OpenAction");
 
-            case 'ViewArea':
-            case 'ViewClip':
-            case 'PrintArea':
-            case 'PrintClip':
-              switch (value.name) {
-                case 'MediaBox':
-                case 'CropBox':
-                case 'BleedBox':
-                case 'TrimBox':
-                case 'ArtBox':
-                  prefValue = value.name;
-                  break;
+    if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get("S"), "JavaScript")) {
+      appendIfJavaScriptDict(openAction);
+    }
 
-                default:
-                  prefValue = 'CropBox';
-              }
+    return (0, _util.shadow)(this, "javaScript", javaScript);
+  }
 
-              break;
+  fontFallback(id, handler) {
+    const promises = [];
+    this.fontCache.forEach(function (promise) {
+      promises.push(promise);
+    });
+    return Promise.all(promises).then(translatedFonts => {
+      for (const translatedFont of translatedFonts) {
+        if (translatedFont.loadedName === id) {
+          translatedFont.fallback(handler);
+          return;
+        }
+      }
+    });
+  }
 
-            case 'PrintScaling':
-              switch (value.name) {
-                case 'None':
-                case 'AppDefault':
-                  prefValue = value.name;
-                  break;
+  cleanup() {
+    (0, _primitives.clearPrimitiveCaches)();
+    this.pageKidsCountCache.clear();
+    const promises = [];
+    this.fontCache.forEach(function (promise) {
+      promises.push(promise);
+    });
+    return Promise.all(promises).then(translatedFonts => {
+      for (const {
+        dict
+      } of translatedFonts) {
+        delete dict.translated;
+      }
 
-                default:
-                  prefValue = 'AppDefault';
-              }
+      this.fontCache.clear();
+      this.builtInCMapCache.clear();
+    });
+  }
 
-              break;
+  getPageDict(pageIndex) {
+    const capability = (0, _util.createPromiseCapability)();
+    const nodesToVisit = [this.catDict.getRaw("Pages")];
+    const visitedNodes = new _primitives.RefSet();
+    const xref = this.xref,
+          pageKidsCountCache = this.pageKidsCountCache;
+    let count,
+        currentPageIndex = 0;
 
-            case 'Duplex':
-              switch (value.name) {
-                case 'Simplex':
-                case 'DuplexFlipShortEdge':
-                case 'DuplexFlipLongEdge':
-                  prefValue = value.name;
-                  break;
+    function next() {
+      while (nodesToVisit.length) {
+        const currentNode = nodesToVisit.pop();
 
-                default:
-                  prefValue = 'None';
-              }
+        if ((0, _primitives.isRef)(currentNode)) {
+          count = pageKidsCountCache.get(currentNode);
 
-              break;
+          if (count > 0 && currentPageIndex + count < pageIndex) {
+            currentPageIndex += count;
+            continue;
+          }
+
+          if (visitedNodes.has(currentNode)) {
+            capability.reject(new _util.FormatError("Pages tree contains circular reference."));
+            return;
+          }
 
-            case 'PrintPageRange':
-              var length = value.length;
+          visitedNodes.put(currentNode);
+          xref.fetchAsync(currentNode).then(function (obj) {
+            if ((0, _primitives.isDict)(obj, "Page") || (0, _primitives.isDict)(obj) && !obj.has("Kids")) {
+              if (pageIndex === currentPageIndex) {
+                if (currentNode && !pageKidsCountCache.has(currentNode)) {
+                  pageKidsCountCache.put(currentNode, 1);
+                }
 
-              if (length % 2 !== 0) {
-                break;
+                capability.resolve([obj, currentNode]);
+              } else {
+                currentPageIndex++;
+                next();
               }
 
-              var isValid = value.every(function (page, i, arr) {
-                return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= 
_this2.numPages;
-              });
+              return;
+            }
 
-              if (isValid) {
-                prefValue = value;
-              }
+            nodesToVisit.push(obj);
+            next();
+          }, capability.reject);
+          return;
+        }
 
-              break;
+        if (!(0, _primitives.isDict)(currentNode)) {
+          capability.reject(new _util.FormatError("Page dictionary kid reference points to wrong type of 
object."));
+          return;
+        }
 
-            case 'NumCopies':
-              if (value > 0) {
-                prefValue = value;
-              }
+        count = currentNode.get("Count");
 
-              break;
+        if (Number.isInteger(count) && count >= 0) {
+          const objId = currentNode.objId;
 
-            default:
-              (0, _util.assert)(typeof value === 'boolean');
-              prefValue = value;
+          if (objId && !pageKidsCountCache.has(objId)) {
+            pageKidsCountCache.put(objId, count);
           }
 
-          if (prefValue !== undefined) {
-            prefs[key] = prefValue;
-          } else {
-            (0, _util.info)("Bad value in ViewerPreferences for \"".concat(key, "\"."));
+          if (currentPageIndex + count <= pageIndex) {
+            currentPageIndex += count;
+            continue;
           }
         }
-      }
-
-      return (0, _util.shadow)(this, 'viewerPreferences', prefs);
-    }
-  }, {
-    key: "openActionDestination",
-    get: function get() {
-      var obj = this.catDict.get('OpenAction');
-      var openActionDest = null;
-
-      if ((0, _primitives.isDict)(obj)) {
-        var destDict = new _primitives.Dict(this.xref);
-        destDict.set('A', obj);
-        var resultObj = {
-          url: null,
-          dest: null
-        };
-        Catalog.parseDestDictionary({
-          destDict: destDict,
-          resultObj: resultObj
-        });
-
-        if (Array.isArray(resultObj.dest)) {
-          openActionDest = resultObj.dest;
-        }
-      } else if (Array.isArray(obj)) {
-        openActionDest = obj;
-      }
 
-      return (0, _util.shadow)(this, 'openActionDestination', openActionDest);
-    }
-  }, {
-    key: "attachments",
-    get: function get() {
-      var obj = this.catDict.get('Names');
-      var attachments = null;
+        const kids = currentNode.get("Kids");
 
-      if (obj && obj.has('EmbeddedFiles')) {
-        var nameTree = new NameTree(obj.getRaw('EmbeddedFiles'), this.xref);
-        var names = nameTree.getAll();
-
-        for (var name in names) {
-          var fs = new FileSpec(names[name], this.xref);
+        if (!Array.isArray(kids)) {
+          if ((0, _primitives.isName)(currentNode.get("Type"), "Page") || !currentNode.has("Type") && 
currentNode.has("Contents")) {
+            if (currentPageIndex === pageIndex) {
+              capability.resolve([currentNode, null]);
+              return;
+            }
 
-          if (!attachments) {
-            attachments = Object.create(null);
+            currentPageIndex++;
+            continue;
           }
 
-          attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;
+          capability.reject(new _util.FormatError("Page dictionary kids object is not an array."));
+          return;
+        }
+
+        for (let last = kids.length - 1; last >= 0; last--) {
+          nodesToVisit.push(kids[last]);
         }
       }
 
-      return (0, _util.shadow)(this, 'attachments', attachments);
+      capability.reject(new Error(`Page index ${pageIndex} not found.`));
     }
-  }, {
-    key: "javaScript",
-    get: function get() {
-      var obj = this.catDict.get('Names');
-      var javaScript = null;
 
-      function appendIfJavaScriptDict(jsDict) {
-        var type = jsDict.get('S');
+    next();
+    return capability.promise;
+  }
+
+  getPageIndex(pageRef) {
+    const xref = this.xref;
 
-        if (!(0, _primitives.isName)(type, 'JavaScript')) {
-          return;
+    function pagesBeforeRef(kidRef) {
+      let total = 0,
+          parentRef;
+      return xref.fetchAsync(kidRef).then(function (node) {
+        if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, "Page") && !((0, 
_primitives.isDict)(node) && !node.has("Type") && node.has("Contents"))) {
+          throw new _util.FormatError("The reference does not point to a /Page dictionary.");
         }
 
-        var js = jsDict.get('JS');
+        if (!node) {
+          return null;
+        }
 
-        if ((0, _primitives.isStream)(js)) {
-          js = (0, _util.bytesToString)(js.getBytes());
-        } else if (!(0, _util.isString)(js)) {
-          return;
+        if (!(0, _primitives.isDict)(node)) {
+          throw new _util.FormatError("Node must be a dictionary.");
+        }
+
+        parentRef = node.getRaw("Parent");
+        return node.getAsync("Parent");
+      }).then(function (parent) {
+        if (!parent) {
+          return null;
         }
 
-        if (!javaScript) {
-          javaScript = [];
+        if (!(0, _primitives.isDict)(parent)) {
+          throw new _util.FormatError("Parent must be a dictionary.");
         }
 
-        javaScript.push((0, _util.stringToPDFString)(js));
-      }
+        return parent.getAsync("Kids");
+      }).then(function (kids) {
+        if (!kids) {
+          return null;
+        }
 
-      if (obj && obj.has('JavaScript')) {
-        var nameTree = new NameTree(obj.getRaw('JavaScript'), this.xref);
-        var names = nameTree.getAll();
+        const kidPromises = [];
+        let found = false;
 
-        for (var name in names) {
-          var jsDict = names[name];
+        for (let i = 0, ii = kids.length; i < ii; i++) {
+          const kid = kids[i];
 
-          if ((0, _primitives.isDict)(jsDict)) {
-            appendIfJavaScriptDict(jsDict);
+          if (!(0, _primitives.isRef)(kid)) {
+            throw new _util.FormatError("Kid must be a reference.");
           }
-        }
-      }
-
-      var openActionDict = this.catDict.get('OpenAction');
 
-      if ((0, _primitives.isDict)(openActionDict, 'Action')) {
-        var actionType = openActionDict.get('S');
+          if ((0, _primitives.isRefsEqual)(kid, kidRef)) {
+            found = true;
+            break;
+          }
 
-        if ((0, _primitives.isName)(actionType, 'Named')) {
-          var action = openActionDict.get('N');
+          kidPromises.push(xref.fetchAsync(kid).then(function (kid) {
+            if (!(0, _primitives.isDict)(kid)) {
+              throw new _util.FormatError("Kid node must be a dictionary.");
+            }
 
-          if ((0, _primitives.isName)(action, 'Print')) {
-            if (!javaScript) {
-              javaScript = [];
+            if (kid.has("Count")) {
+              total += kid.get("Count");
+            } else {
+              total++;
             }
+          }));
+        }
 
-            javaScript.push('print({});');
-          }
-        } else {
-          appendIfJavaScriptDict(openActionDict);
+        if (!found) {
+          throw new _util.FormatError("Kid reference not found in parent's kids.");
         }
-      }
 
-      return (0, _util.shadow)(this, 'javaScript', javaScript);
+        return Promise.all(kidPromises).then(function () {
+          return [total, parentRef];
+        });
+      });
     }
-  }], [{
-    key: "parseDestDictionary",
-    value: function parseDestDictionary(params) {
-      function addDefaultProtocolToUrl(url) {
-        return url.startsWith('www.') ? "http://".concat(url) : url;
-      }
 
-      function tryConvertUrlEncoding(url) {
-        try {
-          return (0, _util.stringToUTF8String)(url);
-        } catch (e) {
-          return url;
+    let total = 0;
+
+    function next(ref) {
+      return pagesBeforeRef(ref).then(function (args) {
+        if (!args) {
+          return total;
         }
-      }
 
-      var destDict = params.destDict;
+        const [count, parentRef] = args;
+        total += count;
+        return next(parentRef);
+      });
+    }
 
-      if (!(0, _primitives.isDict)(destDict)) {
-        (0, _util.warn)('parseDestDictionary: `destDict` must be a dictionary.');
-        return;
-      }
+    return next(pageRef);
+  }
 
-      var resultObj = params.resultObj;
+  static parseDestDictionary(params) {
+    function addDefaultProtocolToUrl(url) {
+      return url.startsWith("www.") ? `http://${url}` : url;
+    }
 
-      if (_typeof(resultObj) !== 'object') {
-        (0, _util.warn)('parseDestDictionary: `resultObj` must be an object.');
-        return;
+    function tryConvertUrlEncoding(url) {
+      try {
+        return (0, _util.stringToUTF8String)(url);
+      } catch (e) {
+        return url;
       }
+    }
 
-      var docBaseUrl = params.docBaseUrl || null;
-      var action = destDict.get('A'),
-          url,
-          dest;
+    const destDict = params.destDict;
 
-      if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {
-        action = destDict.get('Dest');
-      }
+    if (!(0, _primitives.isDict)(destDict)) {
+      (0, _util.warn)("parseDestDictionary: `destDict` must be a dictionary.");
+      return;
+    }
 
-      if ((0, _primitives.isDict)(action)) {
-        var actionType = action.get('S');
+    const resultObj = params.resultObj;
 
-        if (!(0, _primitives.isName)(actionType)) {
-          (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');
-          return;
-        }
+    if (typeof resultObj !== "object") {
+      (0, _util.warn)("parseDestDictionary: `resultObj` must be an object.");
+      return;
+    }
 
-        var actionName = actionType.name;
+    const docBaseUrl = params.docBaseUrl || null;
+    let action = destDict.get("A"),
+        url,
+        dest;
 
-        switch (actionName) {
-          case 'URI':
-            url = action.get('URI');
+    if (!(0, _primitives.isDict)(action) && destDict.has("Dest")) {
+      action = destDict.get("Dest");
+    }
 
-            if ((0, _primitives.isName)(url)) {
-              url = '/' + url.name;
-            } else if ((0, _util.isString)(url)) {
-              url = addDefaultProtocolToUrl(url);
-            }
+    if ((0, _primitives.isDict)(action)) {
+      const actionType = action.get("S");
 
-            break;
+      if (!(0, _primitives.isName)(actionType)) {
+        (0, _util.warn)("parseDestDictionary: Invalid type in Action dictionary.");
+        return;
+      }
 
-          case 'GoTo':
-            dest = action.get('D');
-            break;
+      const actionName = actionType.name;
 
-          case 'Launch':
-          case 'GoToR':
-            var urlDict = action.get('F');
+      switch (actionName) {
+        case "URI":
+          url = action.get("URI");
 
-            if ((0, _primitives.isDict)(urlDict)) {
-              url = urlDict.get('F') || null;
-            } else if ((0, _util.isString)(urlDict)) {
-              url = urlDict;
-            }
+          if ((0, _primitives.isName)(url)) {
+            url = "/" + url.name;
+          } else if ((0, _util.isString)(url)) {
+            url = addDefaultProtocolToUrl(url);
+          }
 
-            var remoteDest = action.get('D');
+          break;
 
-            if (remoteDest) {
-              if ((0, _primitives.isName)(remoteDest)) {
-                remoteDest = remoteDest.name;
-              }
+        case "GoTo":
+          dest = action.get("D");
+          break;
 
-              if ((0, _util.isString)(url)) {
-                var baseUrl = url.split('#')[0];
+        case "Launch":
+        case "GoToR":
+          const urlDict = action.get("F");
 
-                if ((0, _util.isString)(remoteDest)) {
-                  url = baseUrl + '#' + remoteDest;
-                } else if (Array.isArray(remoteDest)) {
-                  url = baseUrl + '#' + JSON.stringify(remoteDest);
-                }
-              }
+          if ((0, _primitives.isDict)(urlDict)) {
+            url = urlDict.get("F") || null;
+          } else if ((0, _util.isString)(urlDict)) {
+            url = urlDict;
+          }
+
+          let remoteDest = action.get("D");
+
+          if (remoteDest) {
+            if ((0, _primitives.isName)(remoteDest)) {
+              remoteDest = remoteDest.name;
             }
 
-            var newWindow = action.get('NewWindow');
+            if ((0, _util.isString)(url)) {
+              const baseUrl = url.split("#")[0];
 
-            if ((0, _util.isBool)(newWindow)) {
-              resultObj.newWindow = newWindow;
+              if ((0, _util.isString)(remoteDest)) {
+                url = baseUrl + "#" + remoteDest;
+              } else if (Array.isArray(remoteDest)) {
+                url = baseUrl + "#" + JSON.stringify(remoteDest);
+              }
             }
+          }
 
-            break;
+          const newWindow = action.get("NewWindow");
 
-          case 'Named':
-            var namedAction = action.get('N');
+          if ((0, _util.isBool)(newWindow)) {
+            resultObj.newWindow = newWindow;
+          }
 
-            if ((0, _primitives.isName)(namedAction)) {
-              resultObj.action = namedAction.name;
-            }
+          break;
 
-            break;
+        case "Named":
+          const namedAction = action.get("N");
 
-          case 'JavaScript':
-            var jsAction = action.get('JS');
-            var js;
+          if ((0, _primitives.isName)(namedAction)) {
+            resultObj.action = namedAction.name;
+          }
 
-            if ((0, _primitives.isStream)(jsAction)) {
-              js = (0, _util.bytesToString)(jsAction.getBytes());
-            } else if ((0, _util.isString)(jsAction)) {
-              js = jsAction;
-            }
+          break;
+
+        case "JavaScript":
+          const jsAction = action.get("JS");
+          let js;
 
-            if (js) {
-              var URL_OPEN_METHODS = ['app.launchURL', 'window.open'];
-              var regex = new RegExp('^\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\.') + 
')\\((?:\'|\")([^\'\"]*)(?:\'|\")(?:,\\s*(\\w+)\\)|\\))', 'i');
-              var jsUrl = regex.exec((0, _util.stringToPDFString)(js));
+          if ((0, _primitives.isStream)(jsAction)) {
+            js = (0, _util.bytesToString)(jsAction.getBytes());
+          } else if ((0, _util.isString)(jsAction)) {
+            js = jsAction;
+          }
 
-              if (jsUrl && jsUrl[2]) {
-                url = jsUrl[2];
+          if (js) {
+            const URL_OPEN_METHODS = ["app.launchURL", "window.open"];
+            const regex = new RegExp("^\\s*(" + URL_OPEN_METHODS.join("|").split(".").join("\\.") + 
")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))", "i");
+            const jsUrl = regex.exec((0, _util.stringToPDFString)(js));
 
-                if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {
-                  resultObj.newWindow = true;
-                }
+            if (jsUrl && jsUrl[2]) {
+              url = jsUrl[2];
 
-                break;
+              if (jsUrl[3] === "true" && jsUrl[1] === "app.launchURL") {
+                resultObj.newWindow = true;
               }
+
+              break;
             }
+          }
 
-          default:
-            (0, _util.warn)("parseDestDictionary: unsupported action type \"".concat(actionName, "\"."));
-            break;
-        }
-      } else if (destDict.has('Dest')) {
-        dest = destDict.get('Dest');
+        default:
+          (0, _util.warn)(`parseDestDictionary: unsupported action type "${actionName}".`);
+          break;
       }
+    } else if (destDict.has("Dest")) {
+      dest = destDict.get("Dest");
+    }
 
-      if ((0, _util.isString)(url)) {
-        url = tryConvertUrlEncoding(url);
-        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);
-
-        if (absoluteUrl) {
-          resultObj.url = absoluteUrl.href;
-        }
+    if ((0, _util.isString)(url)) {
+      url = tryConvertUrlEncoding(url);
+      const absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);
 
-        resultObj.unsafeUrl = url;
+      if (absoluteUrl) {
+        resultObj.url = absoluteUrl.href;
       }
 
-      if (dest) {
-        if ((0, _primitives.isName)(dest)) {
-          dest = dest.name;
-        }
+      resultObj.unsafeUrl = url;
+    }
 
-        if ((0, _util.isString)(dest) || Array.isArray(dest)) {
-          resultObj.dest = dest;
-        }
+    if (dest) {
+      if ((0, _primitives.isName)(dest)) {
+        dest = dest.name;
+      }
+
+      if ((0, _util.isString)(dest) || Array.isArray(dest)) {
+        resultObj.dest = dest;
       }
     }
-  }]);
+  }
 
-  return Catalog;
-}();
+}
 
 exports.Catalog = Catalog;
 
@@ -14605,55 +4639,55 @@ var XRef = function XRefClosure() {
       if (!recoveryMode) {
         trailerDict = this.readXRef();
       } else {
-        (0, _util.warn)('Indexing all PDF objects');
+        (0, _util.warn)("Indexing all PDF objects");
         trailerDict = this.indexObjects();
       }
 
       trailerDict.assignXref(this);
       this.trailer = trailerDict;
-      var encrypt;
+      let encrypt;
 
       try {
-        encrypt = trailerDict.get('Encrypt');
+        encrypt = trailerDict.get("Encrypt");
       } catch (ex) {
         if (ex instanceof _core_utils.MissingDataException) {
           throw ex;
         }
 
-        (0, _util.warn)("XRef.parse - Invalid \"Encrypt\" reference: \"".concat(ex, "\"."));
+        (0, _util.warn)(`XRef.parse - Invalid "Encrypt" reference: "${ex}".`);
       }
 
       if ((0, _primitives.isDict)(encrypt)) {
-        var ids = trailerDict.get('ID');
-        var fileId = ids && ids.length ? ids[0] : '';
+        var ids = trailerDict.get("ID");
+        var fileId = ids && ids.length ? ids[0] : "";
         encrypt.suppressEncryption = true;
         this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);
       }
 
-      var root;
+      let root;
 
       try {
-        root = trailerDict.get('Root');
+        root = trailerDict.get("Root");
       } catch (ex) {
         if (ex instanceof _core_utils.MissingDataException) {
           throw ex;
         }
 
-        (0, _util.warn)("XRef.parse - Invalid \"Root\" reference: \"".concat(ex, "\"."));
+        (0, _util.warn)(`XRef.parse - Invalid "Root" reference: "${ex}".`);
       }
 
-      if ((0, _primitives.isDict)(root) && root.has('Pages')) {
+      if ((0, _primitives.isDict)(root) && root.has("Pages")) {
         this.root = root;
       } else {
         if (!recoveryMode) {
           throw new _core_utils.XRefParseException();
         }
 
-        throw new _util.FormatError('Invalid root reference');
+        throw new _util.FormatError("Invalid root reference");
       }
     },
     processXRefTable: function XRef_processXRefTable(parser) {
-      if (!('tableState' in this)) {
+      if (!("tableState" in this)) {
         this.tableState = {
           entryNum: 0,
           streamPos: parser.lexer.stream.pos,
@@ -14664,8 +4698,8 @@ var XRef = function XRefClosure() {
 
       var obj = this.readXRefTable(parser);
 
-      if (!(0, _primitives.isCmd)(obj, 'trailer')) {
-        throw new _util.FormatError('Invalid XRef table: could not find trailer dictionary');
+      if (!(0, _primitives.isCmd)(obj, "trailer")) {
+        throw new _util.FormatError("Invalid XRef table: could not find trailer dictionary");
       }
 
       var dict = parser.getObj();
@@ -14675,7 +4709,7 @@ var XRef = function XRefClosure() {
       }
 
       if (!(0, _primitives.isDict)(dict)) {
-        throw new _util.FormatError('Invalid XRef table: could not parse trailer dictionary');
+        throw new _util.FormatError("Invalid XRef table: could not parse trailer dictionary");
       }
 
       delete this.tableState;
@@ -14690,8 +4724,8 @@ var XRef = function XRefClosure() {
       var obj;
 
       while (true) {
-        if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) {
-          if ((0, _primitives.isCmd)(obj = parser.getObj(), 'trailer')) {
+        if (!("firstEntryNum" in tableState) || !("entryCount" in tableState)) {
+          if ((0, _primitives.isCmd)(obj = parser.getObj(), "trailer")) {
             break;
           }
 
@@ -14703,7 +4737,7 @@ var XRef = function XRefClosure() {
         var count = tableState.entryCount;
 
         if (!Number.isInteger(first) || !Number.isInteger(count)) {
-          throw new _util.FormatError('Invalid XRef table: wrong types in subsection header');
+          throw new _util.FormatError("Invalid XRef table: wrong types in subsection header");
         }
 
         for (var i = tableState.entryNum; i < count; i++) {
@@ -14718,18 +4752,18 @@ var XRef = function XRefClosure() {
 
           if (type instanceof _primitives.Cmd) {
             switch (type.cmd) {
-              case 'f':
+              case "f":
                 entry.free = true;
                 break;
 
-              case 'n':
+              case "n":
                 entry.uncompressed = true;
                 break;
             }
           }
 
           if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || 
entry.uncompressed)) {
-            throw new _util.FormatError("Invalid entry in XRef subsection: ".concat(first, ", 
").concat(count));
+            throw new _util.FormatError(`Invalid entry in XRef subsection: ${first}, ${count}`);
           }
 
           if (i === 0 && entry.free && first === 1) {
@@ -14750,24 +4784,24 @@ var XRef = function XRefClosure() {
       }
 
       if (this.entries[0] && !this.entries[0].free) {
-        throw new _util.FormatError('Invalid XRef table: unexpected first object');
+        throw new _util.FormatError("Invalid XRef table: unexpected first object");
       }
 
       return obj;
     },
     processXRefStream: function XRef_processXRefStream(stream) {
-      if (!('streamState' in this)) {
+      if (!("streamState" in this)) {
         var streamParameters = stream.dict;
-        var byteWidths = streamParameters.get('W');
-        var range = streamParameters.get('Index');
+        var byteWidths = streamParameters.get("W");
+        var range = streamParameters.get("Index");
 
         if (!range) {
-          range = [0, streamParameters.get('Size')];
+          range = [0, streamParameters.get("Size")];
         }
 
         this.streamState = {
           entryRanges: range,
-          byteWidths: byteWidths,
+          byteWidths,
           entryNum: 0,
           streamPos: stream.pos
         };
@@ -14792,11 +4826,11 @@ var XRef = function XRefClosure() {
         var n = entryRanges[1];
 
         if (!Number.isInteger(first) || !Number.isInteger(n)) {
-          throw new _util.FormatError("Invalid XRef range fields: ".concat(first, ", ").concat(n));
+          throw new _util.FormatError(`Invalid XRef range fields: ${first}, ${n}`);
         }
 
         if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || 
!Number.isInteger(generationFieldWidth)) {
-          throw new _util.FormatError("Invalid XRef entry fields length: ".concat(first, ", ").concat(n));
+          throw new _util.FormatError(`Invalid XRef entry fields length: ${first}, ${n}`);
         }
 
         for (i = streamState.entryNum; i < n; ++i) {
@@ -14839,7 +4873,7 @@ var XRef = function XRefClosure() {
               break;
 
             default:
-              throw new _util.FormatError("Invalid XRef entry type: ".concat(type));
+              throw new _util.FormatError(`Invalid XRef entry type: ${type}`);
           }
 
           if (!this.entries[first + i]) {
@@ -14854,14 +4888,14 @@ var XRef = function XRefClosure() {
     },
     indexObjects: function XRef_indexObjects() {
       var TAB = 0x9,
-          LF = 0xA,
-          CR = 0xD,
+          LF = 0xa,
+          CR = 0xd,
           SPACE = 0x20;
       var PERCENT = 0x25,
-          LT = 0x3C;
+          LT = 0x3c;
 
       function readToken(data, offset) {
-        var token = '',
+        var token = "",
             ch = data[offset];
 
         while (ch !== LF && ch !== CR && ch !== LT) {
@@ -14900,12 +4934,12 @@ var XRef = function XRefClosure() {
       }
 
       var objRegExp = /^(\d+)\s+(\d+)\s+obj\b/;
-      var endobjRegExp = /\bendobj[\b\s]$/;
-      var nestedObjRegExp = /\s+(\d+\s+\d+\s+obj[\b\s<])$/;
-      var CHECK_CONTENT_LENGTH = 25;
+      const endobjRegExp = /\bendobj[\b\s]$/;
+      const nestedObjRegExp = /\s+(\d+\s+\d+\s+obj[\b\s<])$/;
+      const CHECK_CONTENT_LENGTH = 25;
       var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);
       var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);
-      var objBytes = new Uint8Array([111, 98, 106]);
+      const objBytes = new Uint8Array([111, 98, 106]);
       var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);
       this.entries.length = 0;
       var stream = this.stream;
@@ -14941,35 +4975,35 @@ var XRef = function XRefClosure() {
         var token = readToken(buffer, position);
         var m;
 
-        if (token.startsWith('xref') && (token.length === 4 || /\s/.test(token[4]))) {
+        if (token.startsWith("xref") && (token.length === 4 || /\s/.test(token[4]))) {
           position += skipUntil(buffer, position, trailerBytes);
           trailers.push(position);
           position += skipUntil(buffer, position, startxrefBytes);
         } else if (m = objRegExp.exec(token)) {
-          var num = m[1] | 0,
-              gen = m[2] | 0;
+          const num = m[1] | 0,
+                gen = m[2] | 0;
 
-          if (typeof this.entries[num] === 'undefined') {
+          if (!this.entries[num] || this.entries[num].gen === gen) {
             this.entries[num] = {
               offset: position - stream.start,
-              gen: gen,
+              gen,
               uncompressed: true
             };
           }
 
-          var contentLength = void 0,
+          let contentLength,
               startPos = position + token.length;
 
           while (startPos < buffer.length) {
-            var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;
+            const endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;
             contentLength = endPos - position;
-            var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);
-            var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));
+            const checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);
+            const tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));
 
             if (endobjRegExp.test(tokenStr)) {
               break;
             } else {
-              var objToken = nestedObjRegExp.exec(tokenStr);
+              const objToken = nestedObjRegExp.exec(tokenStr);
 
               if (objToken && objToken[1]) {
                 (0, _util.warn)('indexObjects: Found new "obj" inside of another "obj", ' + 'caused by 
missing "endobj" -- trying to recover.');
@@ -14981,7 +5015,7 @@ var XRef = function XRefClosure() {
             startPos = endPos;
           }
 
-          var content = buffer.subarray(position, position + contentLength);
+          const content = buffer.subarray(position, position + contentLength);
           var xrefTagOffset = skipUntil(content, 0, xrefBytes);
 
           if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {
@@ -14990,7 +5024,7 @@ var XRef = function XRefClosure() {
           }
 
           position += contentLength;
-        } else if (token.startsWith('trailer') && (token.length === 7 || /\s/.test(token[7]))) {
+        } else if (token.startsWith("trailer") && (token.length === 7 || /\s/.test(token[7]))) {
           trailers.push(position);
           position += skipUntil(buffer, position, startxrefBytes);
         } else {
@@ -15005,11 +5039,11 @@ var XRef = function XRefClosure() {
         this.readXRef(true);
       }
 
-      var trailerDict;
+      let trailerDict;
 
       for (i = 0, ii = trailers.length; i < ii; ++i) {
         stream.pos = trailers[i];
-        var parser = new _parser.Parser({
+        const parser = new _parser.Parser({
           lexer: new _parser.Lexer(stream),
           xref: this,
           allowStreams: true,
@@ -15017,20 +5051,20 @@ var XRef = function XRefClosure() {
         });
         var obj = parser.getObj();
 
-        if (!(0, _primitives.isCmd)(obj, 'trailer')) {
+        if (!(0, _primitives.isCmd)(obj, "trailer")) {
           continue;
         }
 
-        var dict = parser.getObj();
+        const dict = parser.getObj();
 
         if (!(0, _primitives.isDict)(dict)) {
           continue;
         }
 
-        var rootDict = void 0;
+        let rootDict;
 
         try {
-          rootDict = dict.get('Root');
+          rootDict = dict.get("Root");
         } catch (ex) {
           if (ex instanceof _core_utils.MissingDataException) {
             throw ex;
@@ -15039,11 +5073,11 @@ var XRef = function XRefClosure() {
           continue;
         }
 
-        if (!(0, _primitives.isDict)(rootDict) || !rootDict.has('Pages')) {
+        if (!(0, _primitives.isDict)(rootDict) || !rootDict.has("Pages")) {
           continue;
         }
 
-        if (dict.has('ID')) {
+        if (dict.has("ID")) {
           return dict;
         }
 
@@ -15054,25 +5088,25 @@ var XRef = function XRefClosure() {
         return trailerDict;
       }
 
-      throw new _util.InvalidPDFException('Invalid PDF structure');
+      throw new _util.InvalidPDFException("Invalid PDF structure.");
     },
     readXRef: function XRef_readXRef(recoveryMode) {
       var stream = this.stream;
-      var startXRefParsedCache = Object.create(null);
+      const startXRefParsedCache = Object.create(null);
 
       try {
         while (this.startXRefQueue.length) {
           var startXRef = this.startXRefQueue[0];
 
           if (startXRefParsedCache[startXRef]) {
-            (0, _util.warn)('readXRef - skipping XRef table since it was already parsed.');
+            (0, _util.warn)("readXRef - skipping XRef table since it was already parsed.");
             this.startXRefQueue.shift();
             continue;
           }
 
           startXRefParsedCache[startXRef] = true;
           stream.pos = startXRef + stream.start;
-          var parser = new _parser.Parser({
+          const parser = new _parser.Parser({
             lexer: new _parser.Lexer(stream),
             xref: this,
             allowStreams: true
@@ -15080,14 +5114,14 @@ var XRef = function XRefClosure() {
           var obj = parser.getObj();
           var dict;
 
-          if ((0, _primitives.isCmd)(obj, 'xref')) {
+          if ((0, _primitives.isCmd)(obj, "xref")) {
             dict = this.processXRefTable(parser);
 
             if (!this.topDict) {
               this.topDict = dict;
             }
 
-            obj = dict.get('XRefStm');
+            obj = dict.get("XRefStm");
 
             if (Number.isInteger(obj)) {
               var pos = obj;
@@ -15098,8 +5132,8 @@ var XRef = function XRefClosure() {
               }
             }
           } else if (Number.isInteger(obj)) {
-            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), 'obj') || 
!(0, _primitives.isStream)(obj = parser.getObj())) {
-              throw new _util.FormatError('Invalid XRef stream');
+            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), "obj") || 
!(0, _primitives.isStream)(obj = parser.getObj())) {
+              throw new _util.FormatError("Invalid XRef stream");
             }
 
             dict = this.processXRefStream(obj);
@@ -15109,13 +5143,13 @@ var XRef = function XRefClosure() {
             }
 
             if (!dict) {
-              throw new _util.FormatError('Failed to read XRef stream');
+              throw new _util.FormatError("Failed to read XRef stream");
             }
           } else {
-            throw new _util.FormatError('Invalid XRef stream header');
+            throw new _util.FormatError("Invalid XRef stream header");
           }
 
-          obj = dict.get('Prev');
+          obj = dict.get("Prev");
 
           if (Number.isInteger(obj)) {
             this.startXRefQueue.push(obj);
@@ -15132,7 +5166,7 @@ var XRef = function XRefClosure() {
           throw e;
         }
 
-        (0, _util.info)('(while reading XRef): ' + e);
+        (0, _util.info)("(while reading XRef): " + e);
       }
 
       if (recoveryMode) {
@@ -15159,14 +5193,14 @@ var XRef = function XRefClosure() {
     },
     fetch: function XRef_fetch(ref, suppressEncryption) {
       if (!(ref instanceof _primitives.Ref)) {
-        throw new Error('ref object is not a reference');
+        throw new Error("ref object is not a reference");
       }
 
-      var num = ref.num;
+      const num = ref.num;
 
-      if (this._cacheMap.has(num)) {
-        var cacheEntry = this._cacheMap.get(num);
+      const cacheEntry = this._cacheMap.get(num);
 
+      if (cacheEntry !== undefined) {
         if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {
           cacheEntry.objId = ref.toString();
         }
@@ -15174,7 +5208,7 @@ var XRef = function XRefClosure() {
         return cacheEntry;
       }
 
-      var xrefEntry = this.getEntry(num);
+      let xrefEntry = this.getEntry(num);
 
       if (xrefEntry === null) {
         this._cacheMap.set(num, xrefEntry);
@@ -15196,17 +5230,17 @@ var XRef = function XRefClosure() {
 
       return xrefEntry;
     },
-    fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {
-      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+    fetchUncompressed(ref, xrefEntry, suppressEncryption = false) {
       var gen = ref.gen;
       var num = ref.num;
 
       if (xrefEntry.gen !== gen) {
-        throw new _core_utils.XRefEntryException("Inconsistent generation in XRef: ".concat(ref));
+        throw new _core_utils.XRefEntryException(`Inconsistent generation in XRef: ${ref}`);
       }
 
       var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);
-      var parser = new _parser.Parser({
+      const parser = new _parser.Parser({
         lexer: new _parser.Lexer(stream),
         xref: this,
         allowStreams: true
@@ -15215,20 +5249,12 @@ var XRef = function XRefClosure() {
       var obj2 = parser.getObj();
       var obj3 = parser.getObj();
 
-      if (!Number.isInteger(obj1)) {
-        obj1 = parseInt(obj1, 10);
-      }
-
-      if (!Number.isInteger(obj2)) {
-        obj2 = parseInt(obj2, 10);
-      }
-
       if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {
-        throw new _core_utils.XRefEntryException("Bad (uncompressed) XRef entry: ".concat(ref));
+        throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);
       }
 
-      if (obj3.cmd !== 'obj') {
-        if (obj3.cmd.startsWith('obj')) {
+      if (obj3.cmd !== "obj") {
+        if (obj3.cmd.startsWith("obj")) {
           num = parseInt(obj3.cmd.substring(3), 10);
 
           if (!Number.isNaN(num)) {
@@ -15236,7 +5262,7 @@ var XRef = function XRefClosure() {
           }
         }
 
-        throw new _core_utils.XRefEntryException("Bad (uncompressed) XRef entry: ".concat(ref));
+        throw new _core_utils.XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);
       }
 
       if (this.encrypt && !suppressEncryption) {
@@ -15251,145 +5277,97 @@ var XRef = function XRefClosure() {
 
       return xrefEntry;
     },
-    fetchCompressed: function fetchCompressed(ref, xrefEntry) {
-      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-      var tableOffset = xrefEntry.offset;
-      var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));
+
+    fetchCompressed(ref, xrefEntry, suppressEncryption = false) {
+      const tableOffset = xrefEntry.offset;
+      const stream = this.fetch(_primitives.Ref.get(tableOffset, 0));
 
       if (!(0, _primitives.isStream)(stream)) {
-        throw new _util.FormatError('bad ObjStm stream');
+        throw new _util.FormatError("bad ObjStm stream");
       }
 
-      var first = stream.dict.get('First');
-      var n = stream.dict.get('N');
+      const first = stream.dict.get("First");
+      const n = stream.dict.get("N");
 
       if (!Number.isInteger(first) || !Number.isInteger(n)) {
-        throw new _util.FormatError('invalid first and n parameters for ObjStm stream');
+        throw new _util.FormatError("invalid first and n parameters for ObjStm stream");
       }
 
-      var parser = new _parser.Parser({
+      const parser = new _parser.Parser({
         lexer: new _parser.Lexer(stream),
         xref: this,
         allowStreams: true
       });
-      var i,
-          entries = [],
-          num,
-          nums = [];
+      const nums = new Array(n);
 
-      for (i = 0; i < n; ++i) {
-        num = parser.getObj();
+      for (let i = 0; i < n; ++i) {
+        const num = parser.getObj();
 
         if (!Number.isInteger(num)) {
-          throw new _util.FormatError("invalid object number in the ObjStm stream: ".concat(num));
+          throw new _util.FormatError(`invalid object number in the ObjStm stream: ${num}`);
         }
 
-        nums.push(num);
-        var offset = parser.getObj();
+        const offset = parser.getObj();
 
         if (!Number.isInteger(offset)) {
-          throw new _util.FormatError("invalid object offset in the ObjStm stream: ".concat(offset));
+          throw new _util.FormatError(`invalid object offset in the ObjStm stream: ${offset}`);
         }
+
+        nums[i] = num;
       }
 
-      for (i = 0; i < n; ++i) {
-        entries.push(parser.getObj());
+      const entries = new Array(n);
 
-        if ((0, _primitives.isCmd)(parser.buf1, 'endobj')) {
+      for (let i = 0; i < n; ++i) {
+        const obj = parser.getObj();
+        entries[i] = obj;
+
+        if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === "endobj") {
           parser.shift();
         }
 
-        num = nums[i];
-        var entry = this.entries[num];
+        if ((0, _primitives.isStream)(obj)) {
+          continue;
+        }
+
+        const num = nums[i],
+              entry = this.entries[num];
 
         if (entry && entry.offset === tableOffset && entry.gen === i) {
-          this._cacheMap.set(num, entries[i]);
+          this._cacheMap.set(num, obj);
         }
       }
 
       xrefEntry = entries[xrefEntry.gen];
 
       if (xrefEntry === undefined) {
-        throw new _core_utils.XRefEntryException("Bad (compressed) XRef entry: ".concat(ref));
+        throw new _core_utils.XRefEntryException(`Bad (compressed) XRef entry: ${ref}`);
       }
 
       return xrefEntry;
     },
-    fetchIfRefAsync: function () {
-      var _fetchIfRefAsync = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(obj, suppressEncryption) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(obj instanceof _primitives.Ref)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return", this.fetchAsync(obj, suppressEncryption));
-
-              case 2:
-                return _context.abrupt("return", obj);
 
-              case 3:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function fetchIfRefAsync(_x, _x2) {
-        return _fetchIfRefAsync.apply(this, arguments);
+    async fetchIfRefAsync(obj, suppressEncryption) {
+      if (obj instanceof _primitives.Ref) {
+        return this.fetchAsync(obj, suppressEncryption);
       }
 
-      return fetchIfRefAsync;
-    }(),
-    fetchAsync: function () {
-      var _fetchAsync = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(ref, suppressEncryption) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.prev = 0;
-                return _context2.abrupt("return", this.fetch(ref, suppressEncryption));
-
-              case 4:
-                _context2.prev = 4;
-                _context2.t0 = _context2["catch"](0);
-
-                if (_context2.t0 instanceof _core_utils.MissingDataException) {
-                  _context2.next = 8;
-                  break;
-                }
-
-                throw _context2.t0;
-
-              case 8:
-                _context2.next = 10;
-                return this.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);
-
-              case 10:
-                return _context2.abrupt("return", this.fetchAsync(ref, suppressEncryption));
+      return obj;
+    },
 
-              case 11:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this, [[0, 4]]);
-      }));
+    async fetchAsync(ref, suppressEncryption) {
+      try {
+        return this.fetch(ref, suppressEncryption);
+      } catch (ex) {
+        if (!(ex instanceof _core_utils.MissingDataException)) {
+          throw ex;
+        }
 
-      function fetchAsync(_x3, _x4) {
-        return _fetchAsync.apply(this, arguments);
+        await this.pdfManager.requestRange(ex.begin, ex.end);
+        return this.fetchAsync(ref, suppressEncryption);
       }
+    },
 
-      return fetchAsync;
-    }(),
     getCatalogObj: function XRef_getCatalogObj() {
       return this.root;
     }
@@ -15399,14 +5377,10 @@ var XRef = function XRefClosure() {
 
 exports.XRef = XRef;
 
-var NameOrNumberTree =
-/*#__PURE__*/
-function () {
-  function NameOrNumberTree(root, xref, type) {
-    _classCallCheck(this, NameOrNumberTree);
-
+class NameOrNumberTree {
+  constructor(root, xref, type) {
     if (this.constructor === NameOrNumberTree) {
-      (0, _util.unreachable)('Cannot initialize NameOrNumberTree.');
+      (0, _util.unreachable)("Cannot initialize NameOrNumberTree.");
     }
 
     this.root = root;
@@ -15414,169 +5388,149 @@ function () {
     this._type = type;
   }
 
-  _createClass(NameOrNumberTree, [{
-    key: "getAll",
-    value: function getAll() {
-      var dict = Object.create(null);
-
-      if (!this.root) {
-        return dict;
-      }
+  getAll() {
+    const dict = Object.create(null);
 
-      var xref = this.xref;
-      var processed = new _primitives.RefSet();
-      processed.put(this.root);
-      var queue = [this.root];
+    if (!this.root) {
+      return dict;
+    }
 
-      while (queue.length > 0) {
-        var obj = xref.fetchIfRef(queue.shift());
+    const xref = this.xref;
+    const processed = new _primitives.RefSet();
+    processed.put(this.root);
+    const queue = [this.root];
 
-        if (!(0, _primitives.isDict)(obj)) {
-          continue;
-        }
+    while (queue.length > 0) {
+      const obj = xref.fetchIfRef(queue.shift());
 
-        if (obj.has('Kids')) {
-          var kids = obj.get('Kids');
+      if (!(0, _primitives.isDict)(obj)) {
+        continue;
+      }
 
-          for (var i = 0, ii = kids.length; i < ii; i++) {
-            var kid = kids[i];
+      if (obj.has("Kids")) {
+        const kids = obj.get("Kids");
 
-            if (processed.has(kid)) {
-              throw new _util.FormatError("Duplicate entry in \"".concat(this._type, "\" tree."));
-            }
+        for (let i = 0, ii = kids.length; i < ii; i++) {
+          const kid = kids[i];
 
-            queue.push(kid);
-            processed.put(kid);
+          if (processed.has(kid)) {
+            throw new _util.FormatError(`Duplicate entry in "${this._type}" tree.`);
           }
 
-          continue;
+          queue.push(kid);
+          processed.put(kid);
         }
 
-        var entries = obj.get(this._type);
+        continue;
+      }
+
+      const entries = obj.get(this._type);
 
-        if (Array.isArray(entries)) {
-          for (var _i2 = 0, _ii = entries.length; _i2 < _ii; _i2 += 2) {
-            dict[xref.fetchIfRef(entries[_i2])] = xref.fetchIfRef(entries[_i2 + 1]);
-          }
+      if (Array.isArray(entries)) {
+        for (let i = 0, ii = entries.length; i < ii; i += 2) {
+          dict[xref.fetchIfRef(entries[i])] = xref.fetchIfRef(entries[i + 1]);
         }
       }
-
-      return dict;
     }
-  }, {
-    key: "get",
-    value: function get(key) {
-      if (!this.root) {
-        return null;
-      }
 
-      var xref = this.xref;
-      var kidsOrEntries = xref.fetchIfRef(this.root);
-      var loopCount = 0;
-      var MAX_LEVELS = 10;
+    return dict;
+  }
 
-      while (kidsOrEntries.has('Kids')) {
-        if (++loopCount > MAX_LEVELS) {
-          (0, _util.warn)("Search depth limit reached for \"".concat(this._type, "\" tree."));
-          return null;
-        }
+  get(key) {
+    if (!this.root) {
+      return null;
+    }
 
-        var kids = kidsOrEntries.get('Kids');
+    const xref = this.xref;
+    let kidsOrEntries = xref.fetchIfRef(this.root);
+    let loopCount = 0;
+    const MAX_LEVELS = 10;
 
-        if (!Array.isArray(kids)) {
-          return null;
-        }
+    while (kidsOrEntries.has("Kids")) {
+      if (++loopCount > MAX_LEVELS) {
+        (0, _util.warn)(`Search depth limit reached for "${this._type}" tree.`);
+        return null;
+      }
 
-        var l = 0,
-            r = kids.length - 1;
+      const kids = kidsOrEntries.get("Kids");
 
-        while (l <= r) {
-          var m = l + r >> 1;
-          var kid = xref.fetchIfRef(kids[m]);
-          var limits = kid.get('Limits');
+      if (!Array.isArray(kids)) {
+        return null;
+      }
 
-          if (key < xref.fetchIfRef(limits[0])) {
-            r = m - 1;
-          } else if (key > xref.fetchIfRef(limits[1])) {
-            l = m + 1;
-          } else {
-            kidsOrEntries = xref.fetchIfRef(kids[m]);
-            break;
-          }
-        }
+      let l = 0,
+          r = kids.length - 1;
 
-        if (l > r) {
-          return null;
+      while (l <= r) {
+        const m = l + r >> 1;
+        const kid = xref.fetchIfRef(kids[m]);
+        const limits = kid.get("Limits");
+
+        if (key < xref.fetchIfRef(limits[0])) {
+          r = m - 1;
+        } else if (key > xref.fetchIfRef(limits[1])) {
+          l = m + 1;
+        } else {
+          kidsOrEntries = xref.fetchIfRef(kids[m]);
+          break;
         }
       }
 
-      var entries = kidsOrEntries.get(this._type);
+      if (l > r) {
+        return null;
+      }
+    }
 
-      if (Array.isArray(entries)) {
-        var _l = 0,
-            _r = entries.length - 2;
+    const entries = kidsOrEntries.get(this._type);
 
-        while (_l <= _r) {
-          var tmp = _l + _r >> 1,
-              _m = tmp + (tmp & 1);
+    if (Array.isArray(entries)) {
+      let l = 0,
+          r = entries.length - 2;
 
-          var currentKey = xref.fetchIfRef(entries[_m]);
+      while (l <= r) {
+        const tmp = l + r >> 1,
+              m = tmp + (tmp & 1);
+        const currentKey = xref.fetchIfRef(entries[m]);
 
-          if (key < currentKey) {
-            _r = _m - 2;
-          } else if (key > currentKey) {
-            _l = _m + 2;
-          } else {
-            return xref.fetchIfRef(entries[_m + 1]);
-          }
+        if (key < currentKey) {
+          r = m - 2;
+        } else if (key > currentKey) {
+          l = m + 2;
+        } else {
+          return xref.fetchIfRef(entries[m + 1]);
         }
+      }
 
-        (0, _util.info)("Falling back to an exhaustive search, for key \"".concat(key, "\", ") + "in 
\"".concat(this._type, "\" tree."));
+      (0, _util.info)(`Falling back to an exhaustive search, for key "${key}", ` + `in "${this._type}" 
tree.`);
 
-        for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {
-          var _currentKey = xref.fetchIfRef(entries[_m2]);
+      for (let m = 0, mm = entries.length; m < mm; m += 2) {
+        const currentKey = xref.fetchIfRef(entries[m]);
 
-          if (_currentKey === key) {
-            (0, _util.warn)("The \"".concat(key, "\" key was found at an incorrect, ") + "i.e. out-of-order, 
position in \"".concat(this._type, "\" tree."));
-            return xref.fetchIfRef(entries[_m2 + 1]);
-          }
+        if (currentKey === key) {
+          (0, _util.warn)(`The "${key}" key was found at an incorrect, ` + `i.e. out-of-order, position in 
"${this._type}" tree.`);
+          return xref.fetchIfRef(entries[m + 1]);
         }
       }
-
-      return null;
     }
-  }]);
-
-  return NameOrNumberTree;
-}();
-
-var NameTree =
-/*#__PURE__*/
-function (_NameOrNumberTree) {
-  _inherits(NameTree, _NameOrNumberTree);
 
-  function NameTree(root, xref) {
-    _classCallCheck(this, NameTree);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(NameTree).call(this, root, xref, 'Names'));
+    return null;
   }
 
-  return NameTree;
-}(NameOrNumberTree);
+}
 
-var NumberTree =
-/*#__PURE__*/
-function (_NameOrNumberTree2) {
-  _inherits(NumberTree, _NameOrNumberTree2);
+class NameTree extends NameOrNumberTree {
+  constructor(root, xref) {
+    super(root, xref, "Names");
+  }
 
-  function NumberTree(root, xref) {
-    _classCallCheck(this, NumberTree);
+}
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(NumberTree).call(this, root, xref, 'Nums'));
+class NumberTree extends NameOrNumberTree {
+  constructor(root, xref) {
+    super(root, xref, "Nums");
   }
 
-  return NumberTree;
-}(NameOrNumberTree);
+}
 
 var FileSpec = function FileSpecClosure() {
   function FileSpec(root, xref) {
@@ -15587,35 +5541,35 @@ var FileSpec = function FileSpecClosure() {
     this.xref = xref;
     this.root = root;
 
-    if (root.has('FS')) {
-      this.fs = root.get('FS');
+    if (root.has("FS")) {
+      this.fs = root.get("FS");
     }
 
-    this.description = root.has('Desc') ? (0, _util.stringToPDFString)(root.get('Desc')) : '';
+    this.description = root.has("Desc") ? (0, _util.stringToPDFString)(root.get("Desc")) : "";
 
-    if (root.has('RF')) {
-      (0, _util.warn)('Related file specifications are not supported');
+    if (root.has("RF")) {
+      (0, _util.warn)("Related file specifications are not supported");
     }
 
     this.contentAvailable = true;
 
-    if (!root.has('EF')) {
+    if (!root.has("EF")) {
       this.contentAvailable = false;
-      (0, _util.warn)('Non-embedded file specifications are not supported');
+      (0, _util.warn)("Non-embedded file specifications are not supported");
     }
   }
 
   function pickPlatformItem(dict) {
-    if (dict.has('UF')) {
-      return dict.get('UF');
-    } else if (dict.has('F')) {
-      return dict.get('F');
-    } else if (dict.has('Unix')) {
-      return dict.get('Unix');
-    } else if (dict.has('Mac')) {
-      return dict.get('Mac');
-    } else if (dict.has('DOS')) {
-      return dict.get('DOS');
+    if (dict.has("UF")) {
+      return dict.get("UF");
+    } else if (dict.has("F")) {
+      return dict.get("F");
+    } else if (dict.has("Unix")) {
+      return dict.get("Unix");
+    } else if (dict.has("Mac")) {
+      return dict.get("Mac");
+    } else if (dict.has("DOS")) {
+      return dict.get("DOS");
     }
 
     return null;
@@ -15624,8 +5578,8 @@ var FileSpec = function FileSpecClosure() {
   FileSpec.prototype = {
     get filename() {
       if (!this._filename && this.root) {
-        var filename = pickPlatformItem(this.root) || 'unnamed';
-        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\/g, '\\').replace(/\\\//g, 
'/').replace(/\\/g, '/');
+        var filename = pickPlatformItem(this.root) || "unnamed";
+        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\/g, "\\").replace(/\\\//g, 
"/").replace(/\\/g, "/");
       }
 
       return this._filename;
@@ -15637,7 +5591,7 @@ var FileSpec = function FileSpecClosure() {
       }
 
       if (!this.contentRef && this.root) {
-        this.contentRef = pickPlatformItem(this.root.get('EF'));
+        this.contentRef = pickPlatformItem(this.root.get("EF"));
       }
 
       var content = null;
@@ -15649,10 +5603,10 @@ var FileSpec = function FileSpecClosure() {
         if (fileObj && (0, _primitives.isStream)(fileObj)) {
           content = fileObj.getBytes();
         } else {
-          (0, _util.warn)('Embedded file specification points to non-existing/invalid ' + 'content');
+          (0, _util.warn)("Embedded file specification points to non-existing/invalid " + "content");
         }
       } else {
-        (0, _util.warn)('Embedded file specification does not have a content');
+        (0, _util.warn)("Embedded file specification does not have a content");
       }
 
       return content;
@@ -15671,26 +5625,26 @@ var FileSpec = function FileSpecClosure() {
 
 exports.FileSpec = FileSpec;
 
-var ObjectLoader = function () {
+const ObjectLoader = function () {
   function mayHaveChildren(value) {
-    return (0, _primitives.isRef)(value) || (0, _primitives.isDict)(value) || Array.isArray(value) || (0, 
_primitives.isStream)(value);
+    return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || 
(0, _primitives.isStream)(value);
   }
 
   function addChildren(node, nodesToVisit) {
-    if ((0, _primitives.isDict)(node) || (0, _primitives.isStream)(node)) {
-      var dict = (0, _primitives.isDict)(node) ? node : node.dict;
-      var dictKeys = dict.getKeys();
+    if (node instanceof _primitives.Dict || (0, _primitives.isStream)(node)) {
+      const dict = node instanceof _primitives.Dict ? node : node.dict;
+      const dictKeys = dict.getKeys();
 
-      for (var i = 0, ii = dictKeys.length; i < ii; i++) {
-        var rawValue = dict.getRaw(dictKeys[i]);
+      for (let i = 0, ii = dictKeys.length; i < ii; i++) {
+        const rawValue = dict.getRaw(dictKeys[i]);
 
         if (mayHaveChildren(rawValue)) {
           nodesToVisit.push(rawValue);
         }
       }
     } else if (Array.isArray(node)) {
-      for (var _i3 = 0, _ii2 = node.length; _i3 < _ii2; _i3++) {
-        var value = node[_i3];
+      for (let i = 0, ii = node.length; i < ii; i++) {
+        const value = node[i];
 
         if (mayHaveChildren(value)) {
           nodesToVisit.push(value);
@@ -15704,45 +5658,40 @@ var ObjectLoader = function () {
     this.keys = keys;
     this.xref = xref;
     this.refSet = null;
-    this.capability = null;
   }
 
   ObjectLoader.prototype = {
-    load: function load() {
-      this.capability = (0, _util.createPromiseCapability)();
-
-      if (!(this.xref.stream instanceof _chunked_stream.ChunkedStream) || 
this.xref.stream.getMissingChunks().length === 0) {
-        this.capability.resolve();
-        return this.capability.promise;
+    async load() {
+      if (!this.xref.stream.allChunksLoaded || this.xref.stream.allChunksLoaded()) {
+        return undefined;
       }
 
-      var keys = this.keys,
-          dict = this.dict;
+      const {
+        keys,
+        dict
+      } = this;
       this.refSet = new _primitives.RefSet();
-      var nodesToVisit = [];
+      const nodesToVisit = [];
 
-      for (var i = 0, ii = keys.length; i < ii; i++) {
-        var rawValue = dict.getRaw(keys[i]);
+      for (let i = 0, ii = keys.length; i < ii; i++) {
+        const rawValue = dict.getRaw(keys[i]);
 
         if (rawValue !== undefined) {
           nodesToVisit.push(rawValue);
         }
       }
 
-      this._walk(nodesToVisit);
-
-      return this.capability.promise;
+      return this._walk(nodesToVisit);
     },
-    _walk: function _walk(nodesToVisit) {
-      var _this3 = this;
 
-      var nodesToRevisit = [];
-      var pendingRequests = [];
+    async _walk(nodesToVisit) {
+      const nodesToRevisit = [];
+      const pendingRequests = [];
 
       while (nodesToVisit.length) {
-        var currentNode = nodesToVisit.pop();
+        let currentNode = nodesToVisit.pop();
 
-        if ((0, _primitives.isRef)(currentNode)) {
+        if (currentNode instanceof _primitives.Ref) {
           if (this.refSet.has(currentNode)) {
             continue;
           }
@@ -15764,13 +5713,13 @@ var ObjectLoader = function () {
         }
 
         if (currentNode && currentNode.getBaseStreams) {
-          var baseStreams = currentNode.getBaseStreams();
-          var foundMissingData = false;
+          const baseStreams = currentNode.getBaseStreams();
+          let foundMissingData = false;
 
-          for (var i = 0, ii = baseStreams.length; i < ii; i++) {
-            var stream = baseStreams[i];
+          for (let i = 0, ii = baseStreams.length; i < ii; i++) {
+            const stream = baseStreams[i];
 
-            if (stream.getMissingChunks && stream.getMissingChunks().length) {
+            if (stream.allChunksLoaded && !stream.allChunksLoaded()) {
               foundMissingData = true;
               pendingRequests.push({
                 begin: stream.start,
@@ -15788,23 +5737,23 @@ var ObjectLoader = function () {
       }
 
       if (pendingRequests.length) {
-        this.xref.stream.manager.requestRanges(pendingRequests).then(function () {
-          for (var _i4 = 0, _ii3 = nodesToRevisit.length; _i4 < _ii3; _i4++) {
-            var node = nodesToRevisit[_i4];
+        await this.xref.stream.manager.requestRanges(pendingRequests);
 
-            if ((0, _primitives.isRef)(node)) {
-              _this3.refSet.remove(node);
-            }
+        for (let i = 0, ii = nodesToRevisit.length; i < ii; i++) {
+          const node = nodesToRevisit[i];
+
+          if (node instanceof _primitives.Ref) {
+            this.refSet.remove(node);
           }
+        }
 
-          _this3._walk(nodesToRevisit);
-        }, this.capability.reject);
-        return;
+        return this._walk(nodesToRevisit);
       }
 
       this.refSet = null;
-      this.capability.resolve();
+      return undefined;
     }
+
   };
   return ObjectLoader;
 }();
@@ -15812,7 +5761,7 @@ var ObjectLoader = function () {
 exports.ObjectLoader = ObjectLoader;
 
 /***/ }),
-/* 189 */
+/* 10 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -15823,57 +5772,45 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.Parser = exports.Linearization = exports.Lexer = void 0;
 
-var _stream = __w_pdfjs_require__(190);
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _ccitt_stream = __w_pdfjs_require__(191);
+var _stream = __w_pdfjs_require__(11);
 
-var _jbig2_stream = __w_pdfjs_require__(193);
+var _util = __w_pdfjs_require__(2);
 
-var _jpeg_stream = __w_pdfjs_require__(196);
+var _primitives = __w_pdfjs_require__(4);
 
-var _jpx_stream = __w_pdfjs_require__(198);
+var _core_utils = __w_pdfjs_require__(7);
 
-var _core_utils = __w_pdfjs_require__(186);
+var _ccitt_stream = __w_pdfjs_require__(12);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _jbig2_stream = __w_pdfjs_require__(14);
 
-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); } }
+var _jpeg_stream = __w_pdfjs_require__(17);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _jpx_stream = __w_pdfjs_require__(19);
 
-var MAX_LENGTH_TO_CACHE = 1000;
-var MAX_ADLER32_LENGTH = 5552;
+const MAX_LENGTH_TO_CACHE = 1000;
+const MAX_ADLER32_LENGTH = 5552;
 
 function computeAdler32(bytes) {
-  var bytesLength = bytes.length;
-  var a = 1,
+  const bytesLength = bytes.length;
+  let a = 1,
       b = 0;
 
-  for (var i = 0; i < bytesLength; ++i) {
-    a += bytes[i] & 0xFF;
+  for (let i = 0; i < bytesLength; ++i) {
+    a += bytes[i] & 0xff;
     b += a;
   }
 
   return b % 65521 << 16 | a % 65521;
 }
 
-var Parser =
-/*#__PURE__*/
-function () {
-  function Parser(_ref) {
-    var lexer = _ref.lexer,
-        xref = _ref.xref,
-        _ref$allowStreams = _ref.allowStreams,
-        allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,
-        _ref$recoveryMode = _ref.recoveryMode,
-        recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;
-
-    _classCallCheck(this, Parser);
-
+class Parser {
+  constructor({
+    lexer,
+    xref,
+    allowStreams = false,
+    recoveryMode = false
+  }) {
     this.lexer = lexer;
     this.xref = xref;
     this.allowStreams = allowStreams;
@@ -15882,1275 +5819,1256 @@ function () {
     this.refill();
   }
 
-  _createClass(Parser, [{
-    key: "refill",
-    value: function refill() {
-      this.buf1 = this.lexer.getObj();
+  refill() {
+    this.buf1 = this.lexer.getObj();
+    this.buf2 = this.lexer.getObj();
+  }
+
+  shift() {
+    if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === "ID") {
+      this.buf1 = this.buf2;
+      this.buf2 = null;
+    } else {
+      this.buf1 = this.buf2;
       this.buf2 = this.lexer.getObj();
     }
-  }, {
-    key: "shift",
-    value: function shift() {
-      if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === 'ID') {
-        this.buf1 = this.buf2;
-        this.buf2 = null;
-      } else {
-        this.buf1 = this.buf2;
-        this.buf2 = this.lexer.getObj();
-      }
-    }
-  }, {
-    key: "tryShift",
-    value: function tryShift() {
-      try {
-        this.shift();
-        return true;
-      } catch (e) {
-        if (e instanceof _core_utils.MissingDataException) {
-          throw e;
-        }
+  }
 
-        return false;
+  tryShift() {
+    try {
+      this.shift();
+      return true;
+    } catch (e) {
+      if (e instanceof _core_utils.MissingDataException) {
+        throw e;
       }
+
+      return false;
     }
-  }, {
-    key: "getObj",
-    value: function getObj() {
-      var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-      var buf1 = this.buf1;
-      this.shift();
+  }
 
-      if (buf1 instanceof _primitives.Cmd) {
-        switch (buf1.cmd) {
-          case 'BI':
-            return this.makeInlineImage(cipherTransform);
+  getObj(cipherTransform = null) {
+    const buf1 = this.buf1;
+    this.shift();
 
-          case '[':
-            var array = [];
+    if (buf1 instanceof _primitives.Cmd) {
+      switch (buf1.cmd) {
+        case "BI":
+          return this.makeInlineImage(cipherTransform);
 
-            while (!(0, _primitives.isCmd)(this.buf1, ']') && !(0, _primitives.isEOF)(this.buf1)) {
-              array.push(this.getObj(cipherTransform));
-            }
+        case "[":
+          const array = [];
 
-            if ((0, _primitives.isEOF)(this.buf1)) {
-              if (!this.recoveryMode) {
-                throw new _util.FormatError('End of file inside array');
-              }
+          while (!(0, _primitives.isCmd)(this.buf1, "]") && !(0, _primitives.isEOF)(this.buf1)) {
+            array.push(this.getObj(cipherTransform));
+          }
 
-              return array;
+          if ((0, _primitives.isEOF)(this.buf1)) {
+            if (!this.recoveryMode) {
+              throw new _util.FormatError("End of file inside array");
             }
 
-            this.shift();
             return array;
+          }
 
-          case '<<':
-            var dict = new _primitives.Dict(this.xref);
+          this.shift();
+          return array;
 
-            while (!(0, _primitives.isCmd)(this.buf1, '>>') && !(0, _primitives.isEOF)(this.buf1)) {
-              if (!(0, _primitives.isName)(this.buf1)) {
-                (0, _util.info)('Malformed dictionary: key must be a name object');
-                this.shift();
-                continue;
-              }
+        case "<<":
+          const dict = new _primitives.Dict(this.xref);
 
-              var key = this.buf1.name;
+          while (!(0, _primitives.isCmd)(this.buf1, ">>") && !(0, _primitives.isEOF)(this.buf1)) {
+            if (!(0, _primitives.isName)(this.buf1)) {
+              (0, _util.info)("Malformed dictionary: key must be a name object");
               this.shift();
-
-              if ((0, _primitives.isEOF)(this.buf1)) {
-                break;
-              }
-
-              dict.set(key, this.getObj(cipherTransform));
+              continue;
             }
 
-            if ((0, _primitives.isEOF)(this.buf1)) {
-              if (!this.recoveryMode) {
-                throw new _util.FormatError('End of file inside dictionary');
-              }
+            const key = this.buf1.name;
+            this.shift();
 
-              return dict;
+            if ((0, _primitives.isEOF)(this.buf1)) {
+              break;
             }
 
-            if ((0, _primitives.isCmd)(this.buf2, 'stream')) {
-              return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;
+            dict.set(key, this.getObj(cipherTransform));
+          }
+
+          if ((0, _primitives.isEOF)(this.buf1)) {
+            if (!this.recoveryMode) {
+              throw new _util.FormatError("End of file inside dictionary");
             }
 
-            this.shift();
             return dict;
+          }
 
-          default:
-            return buf1;
-        }
-      }
-
-      if (Number.isInteger(buf1)) {
-        if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, 'R')) {
-          var ref = _primitives.Ref.get(buf1, this.buf1);
+          if ((0, _primitives.isCmd)(this.buf2, "stream")) {
+            return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;
+          }
 
           this.shift();
-          this.shift();
-          return ref;
-        }
+          return dict;
+
+        default:
+          return buf1;
+      }
+    }
+
+    if (Number.isInteger(buf1)) {
+      if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, "R")) {
+        const ref = _primitives.Ref.get(buf1, this.buf1);
 
-        return buf1;
+        this.shift();
+        this.shift();
+        return ref;
       }
 
-      if (typeof buf1 === 'string') {
-        if (cipherTransform) {
-          return cipherTransform.decryptString(buf1);
-        }
+      return buf1;
+    }
 
-        return buf1;
+    if (typeof buf1 === "string") {
+      if (cipherTransform) {
+        return cipherTransform.decryptString(buf1);
       }
 
       return buf1;
     }
-  }, {
-    key: "findDefaultInlineStreamEnd",
-    value: function findDefaultInlineStreamEnd(stream) {
-      var E = 0x45,
+
+    return buf1;
+  }
+
+  findDefaultInlineStreamEnd(stream) {
+    const E = 0x45,
           I = 0x49,
           SPACE = 0x20,
-          LF = 0xA,
-          CR = 0xD;
-      var n = 10,
+          LF = 0xa,
+          CR = 0xd;
+    const n = 10,
           NUL = 0x0;
-      var startPos = stream.pos,
-          state = 0,
-          ch,
-          maybeEIPos;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (state === 0) {
-          state = ch === E ? 1 : 0;
-        } else if (state === 1) {
-          state = ch === I ? 2 : 0;
-        } else {
-          (0, _util.assert)(state === 2);
+    const startPos = stream.pos;
+    let state = 0,
+        ch,
+        maybeEIPos;
 
-          if (ch === SPACE || ch === LF || ch === CR) {
-            maybeEIPos = stream.pos;
-            var followingBytes = stream.peekBytes(n);
+    while ((ch = stream.getByte()) !== -1) {
+      if (state === 0) {
+        state = ch === E ? 1 : 0;
+      } else if (state === 1) {
+        state = ch === I ? 2 : 0;
+      } else {
+        (0, _util.assert)(state === 2);
 
-            for (var i = 0, ii = followingBytes.length; i < ii; i++) {
-              ch = followingBytes[i];
+        if (ch === SPACE || ch === LF || ch === CR) {
+          maybeEIPos = stream.pos;
+          const followingBytes = stream.peekBytes(n);
 
-              if (ch === NUL && followingBytes[i + 1] !== NUL) {
-                continue;
-              }
+          for (let i = 0, ii = followingBytes.length; i < ii; i++) {
+            ch = followingBytes[i];
 
-              if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) {
-                state = 0;
-                break;
-              }
+            if (ch === NUL && followingBytes[i + 1] !== NUL) {
+              continue;
             }
 
-            if (state === 2) {
+            if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {
+              state = 0;
               break;
             }
-          } else {
-            state = 0;
           }
-        }
-      }
-
-      if (ch === -1) {
-        (0, _util.warn)('findDefaultInlineStreamEnd: ' + 'Reached the end of the stream without finding a 
valid EI marker');
 
-        if (maybeEIPos) {
-          (0, _util.warn)('... trying to recover by using the last "EI" occurrence.');
-          stream.skip(-(stream.pos - maybeEIPos));
+          if (state === 2) {
+            break;
+          }
+        } else {
+          state = 0;
         }
       }
+    }
 
-      var endOffset = 4;
-      stream.skip(-endOffset);
-      ch = stream.peekByte();
-      stream.skip(endOffset);
+    if (ch === -1) {
+      (0, _util.warn)("findDefaultInlineStreamEnd: " + "Reached the end of the stream without finding a 
valid EI marker");
 
-      if (!(0, _util.isSpace)(ch)) {
-        endOffset--;
+      if (maybeEIPos) {
+        (0, _util.warn)('... trying to recover by using the last "EI" occurrence.');
+        stream.skip(-(stream.pos - maybeEIPos));
       }
+    }
+
+    let endOffset = 4;
+    stream.skip(-endOffset);
+    ch = stream.peekByte();
+    stream.skip(endOffset);
 
-      return stream.pos - endOffset - startPos;
+    if (!(0, _core_utils.isWhiteSpace)(ch)) {
+      endOffset--;
     }
-  }, {
-    key: "findDCTDecodeInlineStreamEnd",
-    value: function findDCTDecodeInlineStreamEnd(stream) {
-      var startPos = stream.pos,
-          foundEOI = false,
-          b,
-          markerLength,
-          length;
 
-      while ((b = stream.getByte()) !== -1) {
-        if (b !== 0xFF) {
-          continue;
-        }
+    return stream.pos - endOffset - startPos;
+  }
 
-        switch (stream.getByte()) {
-          case 0x00:
-            break;
+  findDCTDecodeInlineStreamEnd(stream) {
+    const startPos = stream.pos;
+    let foundEOI = false,
+        b,
+        markerLength;
 
-          case 0xFF:
-            stream.skip(-1);
-            break;
+    while ((b = stream.getByte()) !== -1) {
+      if (b !== 0xff) {
+        continue;
+      }
 
-          case 0xD9:
-            foundEOI = true;
-            break;
+      switch (stream.getByte()) {
+        case 0x00:
+          break;
 
-          case 0xC0:
-          case 0xC1:
-          case 0xC2:
-          case 0xC3:
-          case 0xC5:
-          case 0xC6:
-          case 0xC7:
-          case 0xC9:
-          case 0xCA:
-          case 0xCB:
-          case 0xCD:
-          case 0xCE:
-          case 0xCF:
-          case 0xC4:
-          case 0xCC:
-          case 0xDA:
-          case 0xDB:
-          case 0xDC:
-          case 0xDD:
-          case 0xDE:
-          case 0xDF:
-          case 0xE0:
-          case 0xE1:
-          case 0xE2:
-          case 0xE3:
-          case 0xE4:
-          case 0xE5:
-          case 0xE6:
-          case 0xE7:
-          case 0xE8:
-          case 0xE9:
-          case 0xEA:
-          case 0xEB:
-          case 0xEC:
-          case 0xED:
-          case 0xEE:
-          case 0xEF:
-          case 0xFE:
-            markerLength = stream.getUint16();
+        case 0xff:
+          stream.skip(-1);
+          break;
 
-            if (markerLength > 2) {
-              stream.skip(markerLength - 2);
-            } else {
-              stream.skip(-2);
-            }
+        case 0xd9:
+          foundEOI = true;
+          break;
 
-            break;
-        }
+        case 0xc0:
+        case 0xc1:
+        case 0xc2:
+        case 0xc3:
+        case 0xc5:
+        case 0xc6:
+        case 0xc7:
+        case 0xc9:
+        case 0xca:
+        case 0xcb:
+        case 0xcd:
+        case 0xce:
+        case 0xcf:
+        case 0xc4:
+        case 0xcc:
+        case 0xda:
+        case 0xdb:
+        case 0xdc:
+        case 0xdd:
+        case 0xde:
+        case 0xdf:
+        case 0xe0:
+        case 0xe1:
+        case 0xe2:
+        case 0xe3:
+        case 0xe4:
+        case 0xe5:
+        case 0xe6:
+        case 0xe7:
+        case 0xe8:
+        case 0xe9:
+        case 0xea:
+        case 0xeb:
+        case 0xec:
+        case 0xed:
+        case 0xee:
+        case 0xef:
+        case 0xfe:
+          markerLength = stream.getUint16();
+
+          if (markerLength > 2) {
+            stream.skip(markerLength - 2);
+          } else {
+            stream.skip(-2);
+          }
 
-        if (foundEOI) {
           break;
-        }
       }
 
-      length = stream.pos - startPos;
-
-      if (b === -1) {
-        (0, _util.warn)('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ 
instead.');
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
+      if (foundEOI) {
+        break;
       }
+    }
+
+    const length = stream.pos - startPos;
 
-      this.inlineStreamSkipEI(stream);
-      return length;
+    if (b === -1) {
+      (0, _util.warn)("Inline DCTDecode image stream: " + "EOI marker not found, searching for /EI/ 
instead.");
+      stream.skip(-length);
+      return this.findDefaultInlineStreamEnd(stream);
     }
-  }, {
-    key: "findASCII85DecodeInlineStreamEnd",
-    value: function findASCII85DecodeInlineStreamEnd(stream) {
-      var TILDE = 0x7E,
-          GT = 0x3E;
-      var startPos = stream.pos,
-          ch,
-          length;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (ch === TILDE) {
+
+    this.inlineStreamSkipEI(stream);
+    return length;
+  }
+
+  findASCII85DecodeInlineStreamEnd(stream) {
+    const TILDE = 0x7e,
+          GT = 0x3e;
+    const startPos = stream.pos;
+    let ch;
+
+    while ((ch = stream.getByte()) !== -1) {
+      if (ch === TILDE) {
+        const tildePos = stream.pos;
+        ch = stream.peekByte();
+
+        while ((0, _core_utils.isWhiteSpace)(ch)) {
+          stream.skip();
           ch = stream.peekByte();
+        }
 
-          while ((0, _util.isSpace)(ch)) {
-            stream.skip();
-            ch = stream.peekByte();
-          }
+        if (ch === GT) {
+          stream.skip();
+          break;
+        }
 
-          if (ch === GT) {
-            stream.skip();
+        if (stream.pos > tildePos) {
+          const maybeEI = stream.peekBytes(2);
+
+          if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {
             break;
           }
         }
       }
+    }
 
-      length = stream.pos - startPos;
-
-      if (ch === -1) {
-        (0, _util.warn)('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ 
instead.');
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
-      }
+    const length = stream.pos - startPos;
 
-      this.inlineStreamSkipEI(stream);
-      return length;
+    if (ch === -1) {
+      (0, _util.warn)("Inline ASCII85Decode image stream: " + "EOD marker not found, searching for /EI/ 
instead.");
+      stream.skip(-length);
+      return this.findDefaultInlineStreamEnd(stream);
     }
-  }, {
-    key: "findASCIIHexDecodeInlineStreamEnd",
-    value: function findASCIIHexDecodeInlineStreamEnd(stream) {
-      var GT = 0x3E;
-      var startPos = stream.pos,
-          ch,
-          length;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (ch === GT) {
-          break;
-        }
-      }
 
-      length = stream.pos - startPos;
+    this.inlineStreamSkipEI(stream);
+    return length;
+  }
+
+  findASCIIHexDecodeInlineStreamEnd(stream) {
+    const GT = 0x3e;
+    const startPos = stream.pos;
+    let ch;
 
-      if (ch === -1) {
-        (0, _util.warn)('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ 
instead.');
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
+    while ((ch = stream.getByte()) !== -1) {
+      if (ch === GT) {
+        break;
       }
+    }
 
-      this.inlineStreamSkipEI(stream);
-      return length;
+    const length = stream.pos - startPos;
+
+    if (ch === -1) {
+      (0, _util.warn)("Inline ASCIIHexDecode image stream: " + "EOD marker not found, searching for /EI/ 
instead.");
+      stream.skip(-length);
+      return this.findDefaultInlineStreamEnd(stream);
     }
-  }, {
-    key: "inlineStreamSkipEI",
-    value: function inlineStreamSkipEI(stream) {
-      var E = 0x45,
+
+    this.inlineStreamSkipEI(stream);
+    return length;
+  }
+
+  inlineStreamSkipEI(stream) {
+    const E = 0x45,
           I = 0x49;
-      var state = 0,
-          ch;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (state === 0) {
-          state = ch === E ? 1 : 0;
-        } else if (state === 1) {
-          state = ch === I ? 2 : 0;
-        } else if (state === 2) {
-          break;
-        }
+    let state = 0,
+        ch;
+
+    while ((ch = stream.getByte()) !== -1) {
+      if (state === 0) {
+        state = ch === E ? 1 : 0;
+      } else if (state === 1) {
+        state = ch === I ? 2 : 0;
+      } else if (state === 2) {
+        break;
       }
     }
-  }, {
-    key: "makeInlineImage",
-    value: function makeInlineImage(cipherTransform) {
-      var lexer = this.lexer;
-      var stream = lexer.stream;
-      var dict = new _primitives.Dict(this.xref);
-      var dictLength;
-
-      while (!(0, _primitives.isCmd)(this.buf1, 'ID') && !(0, _primitives.isEOF)(this.buf1)) {
-        if (!(0, _primitives.isName)(this.buf1)) {
-          throw new _util.FormatError('Dictionary key must be a name object');
-        }
-
-        var key = this.buf1.name;
-        this.shift();
+  }
 
-        if ((0, _primitives.isEOF)(this.buf1)) {
-          break;
-        }
+  makeInlineImage(cipherTransform) {
+    const lexer = this.lexer;
+    const stream = lexer.stream;
+    const dict = new _primitives.Dict(this.xref);
+    let dictLength;
 
-        dict.set(key, this.getObj(cipherTransform));
+    while (!(0, _primitives.isCmd)(this.buf1, "ID") && !(0, _primitives.isEOF)(this.buf1)) {
+      if (!(0, _primitives.isName)(this.buf1)) {
+        throw new _util.FormatError("Dictionary key must be a name object");
       }
 
-      if (lexer.beginInlineImagePos !== -1) {
-        dictLength = stream.pos - lexer.beginInlineImagePos;
+      const key = this.buf1.name;
+      this.shift();
+
+      if ((0, _primitives.isEOF)(this.buf1)) {
+        break;
       }
 
-      var filter = dict.get('Filter', 'F');
-      var filterName;
+      dict.set(key, this.getObj(cipherTransform));
+    }
 
-      if ((0, _primitives.isName)(filter)) {
-        filterName = filter.name;
-      } else if (Array.isArray(filter)) {
-        var filterZero = this.xref.fetchIfRef(filter[0]);
+    if (lexer.beginInlineImagePos !== -1) {
+      dictLength = stream.pos - lexer.beginInlineImagePos;
+    }
 
-        if ((0, _primitives.isName)(filterZero)) {
-          filterName = filterZero.name;
-        }
-      }
+    const filter = dict.get("Filter", "F");
+    let filterName;
 
-      var startPos = stream.pos;
-      var length;
+    if ((0, _primitives.isName)(filter)) {
+      filterName = filter.name;
+    } else if (Array.isArray(filter)) {
+      const filterZero = this.xref.fetchIfRef(filter[0]);
 
-      if (filterName === 'DCTDecode' || filterName === 'DCT') {
-        length = this.findDCTDecodeInlineStreamEnd(stream);
-      } else if (filterName === 'ASCII85Decode' || filterName === 'A85') {
-        length = this.findASCII85DecodeInlineStreamEnd(stream);
-      } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') {
-        length = this.findASCIIHexDecodeInlineStreamEnd(stream);
-      } else {
-        length = this.findDefaultInlineStreamEnd(stream);
+      if ((0, _primitives.isName)(filterZero)) {
+        filterName = filterZero.name;
       }
+    }
 
-      var imageStream = stream.makeSubStream(startPos, length, dict);
-      var cacheKey;
+    const startPos = stream.pos;
+    let length;
 
-      if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {
-        var imageBytes = imageStream.getBytes();
-        imageStream.reset();
-        var initialStreamPos = stream.pos;
-        stream.pos = lexer.beginInlineImagePos;
-        var dictBytes = stream.getBytes(dictLength);
-        stream.pos = initialStreamPos;
-        cacheKey = computeAdler32(imageBytes) + '_' + computeAdler32(dictBytes);
-        var cacheEntry = this.imageCache[cacheKey];
+    if (filterName === "DCTDecode" || filterName === "DCT") {
+      length = this.findDCTDecodeInlineStreamEnd(stream);
+    } else if (filterName === "ASCII85Decode" || filterName === "A85") {
+      length = this.findASCII85DecodeInlineStreamEnd(stream);
+    } else if (filterName === "ASCIIHexDecode" || filterName === "AHx") {
+      length = this.findASCIIHexDecodeInlineStreamEnd(stream);
+    } else {
+      length = this.findDefaultInlineStreamEnd(stream);
+    }
 
-        if (cacheEntry !== undefined) {
-          this.buf2 = _primitives.Cmd.get('EI');
-          this.shift();
-          cacheEntry.reset();
-          return cacheEntry;
-        }
-      }
+    let imageStream = stream.makeSubStream(startPos, length, dict);
+    let cacheKey;
 
-      if (cipherTransform) {
-        imageStream = cipherTransform.createStream(imageStream, length);
+    if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {
+      const imageBytes = imageStream.getBytes();
+      imageStream.reset();
+      const initialStreamPos = stream.pos;
+      stream.pos = lexer.beginInlineImagePos;
+      const dictBytes = stream.getBytes(dictLength);
+      stream.pos = initialStreamPos;
+      cacheKey = computeAdler32(imageBytes) + "_" + computeAdler32(dictBytes);
+      const cacheEntry = this.imageCache[cacheKey];
+
+      if (cacheEntry !== undefined) {
+        this.buf2 = _primitives.Cmd.get("EI");
+        this.shift();
+        cacheEntry.reset();
+        return cacheEntry;
       }
+    }
 
-      imageStream = this.filter(imageStream, dict, length);
-      imageStream.dict = dict;
+    if (cipherTransform) {
+      imageStream = cipherTransform.createStream(imageStream, length);
+    }
 
-      if (cacheKey !== undefined) {
-        imageStream.cacheKey = "inline_".concat(length, "_").concat(cacheKey);
-        this.imageCache[cacheKey] = imageStream;
-      }
+    imageStream = this.filter(imageStream, dict, length);
+    imageStream.dict = dict;
 
-      this.buf2 = _primitives.Cmd.get('EI');
-      this.shift();
-      return imageStream;
+    if (cacheKey !== undefined) {
+      imageStream.cacheKey = `inline_${length}_${cacheKey}`;
+      this.imageCache[cacheKey] = imageStream;
     }
-  }, {
-    key: "_findStreamLength",
-    value: function _findStreamLength(startPos, signature) {
-      var stream = this.lexer.stream;
-      stream.pos = startPos;
-      var SCAN_BLOCK_LENGTH = 2048;
-      var signatureLength = signature.length;
 
-      while (stream.pos < stream.end) {
-        var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);
-        var scanLength = scanBytes.length - signatureLength;
+    this.buf2 = _primitives.Cmd.get("EI");
+    this.shift();
+    return imageStream;
+  }
 
-        if (scanLength <= 0) {
-          break;
-        }
+  _findStreamLength(startPos, signature) {
+    const {
+      stream
+    } = this.lexer;
+    stream.pos = startPos;
+    const SCAN_BLOCK_LENGTH = 2048;
+    const signatureLength = signature.length;
 
-        var pos = 0;
+    while (stream.pos < stream.end) {
+      const scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);
+      const scanLength = scanBytes.length - signatureLength;
 
-        while (pos < scanLength) {
-          var j = 0;
+      if (scanLength <= 0) {
+        break;
+      }
 
-          while (j < signatureLength && scanBytes[pos + j] === signature[j]) {
-            j++;
-          }
+      let pos = 0;
 
-          if (j >= signatureLength) {
-            stream.pos += pos;
-            return stream.pos - startPos;
-          }
+      while (pos < scanLength) {
+        let j = 0;
 
-          pos++;
+        while (j < signatureLength && scanBytes[pos + j] === signature[j]) {
+          j++;
+        }
+
+        if (j >= signatureLength) {
+          stream.pos += pos;
+          return stream.pos - startPos;
         }
 
-        stream.pos += scanLength;
+        pos++;
       }
 
-      return -1;
+      stream.pos += scanLength;
     }
-  }, {
-    key: "makeStream",
-    value: function makeStream(dict, cipherTransform) {
-      var lexer = this.lexer;
-      var stream = lexer.stream;
-      lexer.skipToNextLine();
-      var startPos = stream.pos - 1;
-      var length = dict.get('Length');
 
-      if (!Number.isInteger(length)) {
-        (0, _util.info)("Bad length \"".concat(length, "\" in stream"));
-        length = 0;
-      }
+    return -1;
+  }
 
-      stream.pos = startPos + length;
-      lexer.nextChar();
+  makeStream(dict, cipherTransform) {
+    const lexer = this.lexer;
+    let stream = lexer.stream;
+    lexer.skipToNextLine();
+    const startPos = stream.pos - 1;
+    let length = dict.get("Length");
 
-      if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, 'endstream')) {
-        this.shift();
-      } else {
-        var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);
+    if (!Number.isInteger(length)) {
+      (0, _util.info)(`Bad length "${length}" in stream`);
+      length = 0;
+    }
 
-        var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);
+    stream.pos = startPos + length;
+    lexer.nextChar();
 
-        if (actualLength < 0) {
-          var MAX_TRUNCATION = 1;
+    if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, "endstream")) {
+      this.shift();
+    } else {
+      const ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);
 
-          for (var i = 1; i <= MAX_TRUNCATION; i++) {
-            var end = ENDSTREAM_SIGNATURE.length - i;
-            var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);
+      let actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);
 
-            var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);
+      if (actualLength < 0) {
+        const MAX_TRUNCATION = 1;
 
-            if (maybeLength >= 0) {
-              var lastByte = stream.peekBytes(end + 1)[end];
+        for (let i = 1; i <= MAX_TRUNCATION; i++) {
+          const end = ENDSTREAM_SIGNATURE.length - i;
+          const TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);
 
-              if (!(0, _util.isSpace)(lastByte)) {
-                break;
-              }
+          const maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);
+
+          if (maybeLength >= 0) {
+            const lastByte = stream.peekBytes(end + 1)[end];
 
-              (0, _util.info)("Found \"".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), "\" when ") + 
'searching for endstream command.');
-              actualLength = maybeLength;
+            if (!(0, _core_utils.isWhiteSpace)(lastByte)) {
               break;
             }
-          }
 
-          if (actualLength < 0) {
-            throw new _util.FormatError('Missing endstream command.');
+            (0, _util.info)(`Found "${(0, _util.bytesToString)(TRUNCATED_SIGNATURE)}" when ` + "searching 
for endstream command.");
+            actualLength = maybeLength;
+            break;
           }
         }
 
-        length = actualLength;
-        lexer.nextChar();
-        this.shift();
-        this.shift();
+        if (actualLength < 0) {
+          throw new _util.FormatError("Missing endstream command.");
+        }
       }
 
+      length = actualLength;
+      lexer.nextChar();
+      this.shift();
       this.shift();
-      stream = stream.makeSubStream(startPos, length, dict);
+    }
 
-      if (cipherTransform) {
-        stream = cipherTransform.createStream(stream, length);
-      }
+    this.shift();
+    stream = stream.makeSubStream(startPos, length, dict);
 
-      stream = this.filter(stream, dict, length);
-      stream.dict = dict;
-      return stream;
+    if (cipherTransform) {
+      stream = cipherTransform.createStream(stream, length);
     }
-  }, {
-    key: "filter",
-    value: function filter(stream, dict, length) {
-      var filter = dict.get('Filter', 'F');
-      var params = dict.get('DecodeParms', 'DP');
 
-      if ((0, _primitives.isName)(filter)) {
-        if (Array.isArray(params)) {
-          (0, _util.warn)('/DecodeParms should not contain an Array, ' + 'when /Filter contains a Name.');
-        }
+    stream = this.filter(stream, dict, length);
+    stream.dict = dict;
+    return stream;
+  }
+
+  filter(stream, dict, length) {
+    let filter = dict.get("Filter", "F");
+    let params = dict.get("DecodeParms", "DP");
 
-        return this.makeFilter(stream, filter.name, length, params);
+    if ((0, _primitives.isName)(filter)) {
+      if (Array.isArray(params)) {
+        (0, _util.warn)("/DecodeParms should not contain an Array, " + "when /Filter contains a Name.");
       }
 
-      var maybeLength = length;
+      return this.makeFilter(stream, filter.name, length, params);
+    }
 
-      if (Array.isArray(filter)) {
-        var filterArray = filter;
-        var paramsArray = params;
+    let maybeLength = length;
 
-        for (var i = 0, ii = filterArray.length; i < ii; ++i) {
-          filter = this.xref.fetchIfRef(filterArray[i]);
+    if (Array.isArray(filter)) {
+      const filterArray = filter;
+      const paramsArray = params;
 
-          if (!(0, _primitives.isName)(filter)) {
-            throw new _util.FormatError("Bad filter name \"".concat(filter, "\""));
-          }
+      for (let i = 0, ii = filterArray.length; i < ii; ++i) {
+        filter = this.xref.fetchIfRef(filterArray[i]);
 
-          params = null;
+        if (!(0, _primitives.isName)(filter)) {
+          throw new _util.FormatError(`Bad filter name "${filter}"`);
+        }
 
-          if (Array.isArray(paramsArray) && i in paramsArray) {
-            params = this.xref.fetchIfRef(paramsArray[i]);
-          }
+        params = null;
 
-          stream = this.makeFilter(stream, filter.name, maybeLength, params);
-          maybeLength = null;
+        if (Array.isArray(paramsArray) && i in paramsArray) {
+          params = this.xref.fetchIfRef(paramsArray[i]);
         }
-      }
 
-      return stream;
-    }
-  }, {
-    key: "makeFilter",
-    value: function makeFilter(stream, name, maybeLength, params) {
-      if (maybeLength === 0) {
-        (0, _util.warn)("Empty \"".concat(name, "\" stream."));
-        return new _stream.NullStream();
+        stream = this.makeFilter(stream, filter.name, maybeLength, params);
+        maybeLength = null;
       }
+    }
 
-      try {
-        var xrefStreamStats = this.xref.stats.streamTypes;
+    return stream;
+  }
 
-        if (name === 'FlateDecode' || name === 'Fl') {
-          xrefStreamStats[_util.StreamType.FLATE] = true;
+  makeFilter(stream, name, maybeLength, params) {
+    if (maybeLength === 0) {
+      (0, _util.warn)(`Empty "${name}" stream.`);
+      return new _stream.NullStream();
+    }
 
-          if (params) {
-            return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, 
params);
-          }
+    try {
+      const xrefStreamStats = this.xref.stats.streamTypes;
+
+      if (name === "FlateDecode" || name === "Fl") {
+        xrefStreamStats[_util.StreamType.FLATE] = true;
 
-          return new _stream.FlateStream(stream, maybeLength);
+        if (params) {
+          return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, 
params);
         }
 
-        if (name === 'LZWDecode' || name === 'LZW') {
-          xrefStreamStats[_util.StreamType.LZW] = true;
-          var earlyChange = 1;
+        return new _stream.FlateStream(stream, maybeLength);
+      }
 
-          if (params) {
-            if (params.has('EarlyChange')) {
-              earlyChange = params.get('EarlyChange');
-            }
+      if (name === "LZWDecode" || name === "LZW") {
+        xrefStreamStats[_util.StreamType.LZW] = true;
+        let earlyChange = 1;
 
-            return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), 
maybeLength, params);
+        if (params) {
+          if (params.has("EarlyChange")) {
+            earlyChange = params.get("EarlyChange");
           }
 
-          return new _stream.LZWStream(stream, maybeLength, earlyChange);
+          return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), 
maybeLength, params);
         }
 
-        if (name === 'DCTDecode' || name === 'DCT') {
-          xrefStreamStats[_util.StreamType.DCT] = true;
-          return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);
-        }
+        return new _stream.LZWStream(stream, maybeLength, earlyChange);
+      }
 
-        if (name === 'JPXDecode' || name === 'JPX') {
-          xrefStreamStats[_util.StreamType.JPX] = true;
-          return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);
-        }
+      if (name === "DCTDecode" || name === "DCT") {
+        xrefStreamStats[_util.StreamType.DCT] = true;
+        return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);
+      }
 
-        if (name === 'ASCII85Decode' || name === 'A85') {
-          xrefStreamStats[_util.StreamType.A85] = true;
-          return new _stream.Ascii85Stream(stream, maybeLength);
-        }
+      if (name === "JPXDecode" || name === "JPX") {
+        xrefStreamStats[_util.StreamType.JPX] = true;
+        return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);
+      }
 
-        if (name === 'ASCIIHexDecode' || name === 'AHx') {
-          xrefStreamStats[_util.StreamType.AHX] = true;
-          return new _stream.AsciiHexStream(stream, maybeLength);
-        }
+      if (name === "ASCII85Decode" || name === "A85") {
+        xrefStreamStats[_util.StreamType.A85] = true;
+        return new _stream.Ascii85Stream(stream, maybeLength);
+      }
 
-        if (name === 'CCITTFaxDecode' || name === 'CCF') {
-          xrefStreamStats[_util.StreamType.CCF] = true;
-          return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);
-        }
+      if (name === "ASCIIHexDecode" || name === "AHx") {
+        xrefStreamStats[_util.StreamType.AHX] = true;
+        return new _stream.AsciiHexStream(stream, maybeLength);
+      }
 
-        if (name === 'RunLengthDecode' || name === 'RL') {
-          xrefStreamStats[_util.StreamType.RLX] = true;
-          return new _stream.RunLengthStream(stream, maybeLength);
-        }
+      if (name === "CCITTFaxDecode" || name === "CCF") {
+        xrefStreamStats[_util.StreamType.CCF] = true;
+        return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);
+      }
 
-        if (name === 'JBIG2Decode') {
-          xrefStreamStats[_util.StreamType.JBIG] = true;
-          return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);
-        }
+      if (name === "RunLengthDecode" || name === "RL") {
+        xrefStreamStats[_util.StreamType.RLX] = true;
+        return new _stream.RunLengthStream(stream, maybeLength);
+      }
 
-        (0, _util.warn)("Filter \"".concat(name, "\" is not supported."));
-        return stream;
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
+      if (name === "JBIG2Decode") {
+        xrefStreamStats[_util.StreamType.JBIG] = true;
+        return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);
+      }
 
-        (0, _util.warn)("Invalid stream: \"".concat(ex, "\""));
-        return new _stream.NullStream();
+      (0, _util.warn)(`Filter "${name}" is not supported.`);
+      return stream;
+    } catch (ex) {
+      if (ex instanceof _core_utils.MissingDataException) {
+        throw ex;
       }
+
+      (0, _util.warn)(`Invalid stream: "${ex}"`);
+      return new _stream.NullStream();
     }
-  }]);
+  }
 
-  return Parser;
-}();
+}
 
 exports.Parser = Parser;
-var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
+const specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
 
 function toHexDigit(ch) {
   if (ch >= 0x30 && ch <= 0x39) {
-    return ch & 0x0F;
+    return ch & 0x0f;
   }
 
   if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {
-    return (ch & 0x0F) + 9;
+    return (ch & 0x0f) + 9;
   }
 
   return -1;
 }
 
-var Lexer =
-/*#__PURE__*/
-function () {
-  function Lexer(stream) {
-    var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-
-    _classCallCheck(this, Lexer);
-
+class Lexer {
+  constructor(stream, knownCommands = null) {
     this.stream = stream;
     this.nextChar();
     this.strBuf = [];
     this.knownCommands = knownCommands;
+    this._hexStringNumWarn = 0;
     this.beginInlineImagePos = -1;
   }
 
-  _createClass(Lexer, [{
-    key: "nextChar",
-    value: function nextChar() {
-      return this.currentChar = this.stream.getByte();
-    }
-  }, {
-    key: "peekChar",
-    value: function peekChar() {
-      return this.stream.peekByte();
-    }
-  }, {
-    key: "getNumber",
-    value: function getNumber() {
-      var ch = this.currentChar;
-      var eNotation = false;
-      var divideBy = 0;
-      var sign = 0;
+  nextChar() {
+    return this.currentChar = this.stream.getByte();
+  }
 
-      if (ch === 0x2D) {
-        sign = -1;
-        ch = this.nextChar();
+  peekChar() {
+    return this.stream.peekByte();
+  }
 
-        if (ch === 0x2D) {
-          ch = this.nextChar();
-        }
-      } else if (ch === 0x2B) {
-        sign = 1;
-        ch = this.nextChar();
-      }
+  getNumber() {
+    let ch = this.currentChar;
+    let eNotation = false;
+    let divideBy = 0;
+    let sign = 0;
 
-      if (ch === 0x0A || ch === 0x0D) {
-        do {
-          ch = this.nextChar();
-        } while (ch === 0x0A || ch === 0x0D);
-      }
+    if (ch === 0x2d) {
+      sign = -1;
+      ch = this.nextChar();
 
-      if (ch === 0x2E) {
-        divideBy = 10;
+      if (ch === 0x2d) {
         ch = this.nextChar();
       }
+    } else if (ch === 0x2b) {
+      sign = 1;
+      ch = this.nextChar();
+    }
 
-      if (ch < 0x30 || ch > 0x39) {
-        if (divideBy === 10 && sign === 0 && ((0, _util.isSpace)(ch) || ch === -1)) {
-          (0, _util.warn)('Lexer.getNumber - treating a single decimal point as zero.');
-          return 0;
-        }
+    if (ch === 0x0a || ch === 0x0d) {
+      do {
+        ch = this.nextChar();
+      } while (ch === 0x0a || ch === 0x0d);
+    }
 
-        throw new _util.FormatError("Invalid number: ".concat(String.fromCharCode(ch), " (charCode 
").concat(ch, ")"));
-      }
+    if (ch === 0x2e) {
+      divideBy = 10;
+      ch = this.nextChar();
+    }
 
-      sign = sign || 1;
-      var baseValue = ch - 0x30;
-      var powerValue = 0;
-      var powerValueSign = 1;
+    if (ch < 0x30 || ch > 0x39) {
+      if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {
+        (0, _util.warn)("Lexer.getNumber - treating a single decimal point as zero.");
+        return 0;
+      }
 
-      while ((ch = this.nextChar()) >= 0) {
-        if (0x30 <= ch && ch <= 0x39) {
-          var currentDigit = ch - 0x30;
+      throw new _util.FormatError(`Invalid number: ${String.fromCharCode(ch)} (charCode ${ch})`);
+    }
 
-          if (eNotation) {
-            powerValue = powerValue * 10 + currentDigit;
-          } else {
-            if (divideBy !== 0) {
-              divideBy *= 10;
-            }
+    sign = sign || 1;
+    let baseValue = ch - 0x30;
+    let powerValue = 0;
+    let powerValueSign = 1;
 
-            baseValue = baseValue * 10 + currentDigit;
-          }
-        } else if (ch === 0x2E) {
-          if (divideBy === 0) {
-            divideBy = 1;
-          } else {
-            break;
-          }
-        } else if (ch === 0x2D) {
-          (0, _util.warn)('Badly formatted number: minus sign in the middle');
-        } else if (ch === 0x45 || ch === 0x65) {
-          ch = this.peekChar();
+    while ((ch = this.nextChar()) >= 0) {
+      if (ch >= 0x30 && ch <= 0x39) {
+        const currentDigit = ch - 0x30;
 
-          if (ch === 0x2B || ch === 0x2D) {
-            powerValueSign = ch === 0x2D ? -1 : 1;
-            this.nextChar();
-          } else if (ch < 0x30 || ch > 0x39) {
-            break;
+        if (eNotation) {
+          powerValue = powerValue * 10 + currentDigit;
+        } else {
+          if (divideBy !== 0) {
+            divideBy *= 10;
           }
 
-          eNotation = true;
+          baseValue = baseValue * 10 + currentDigit;
+        }
+      } else if (ch === 0x2e) {
+        if (divideBy === 0) {
+          divideBy = 1;
         } else {
           break;
         }
-      }
+      } else if (ch === 0x2d) {
+        (0, _util.warn)("Badly formatted number: minus sign in the middle");
+      } else if (ch === 0x45 || ch === 0x65) {
+        ch = this.peekChar();
 
-      if (divideBy !== 0) {
-        baseValue /= divideBy;
-      }
+        if (ch === 0x2b || ch === 0x2d) {
+          powerValueSign = ch === 0x2d ? -1 : 1;
+          this.nextChar();
+        } else if (ch < 0x30 || ch > 0x39) {
+          break;
+        }
 
-      if (eNotation) {
-        baseValue *= Math.pow(10, powerValueSign * powerValue);
+        eNotation = true;
+      } else {
+        break;
       }
-
-      return sign * baseValue;
     }
-  }, {
-    key: "getString",
-    value: function getString() {
-      var numParen = 1;
-      var done = false;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      var ch = this.nextChar();
-
-      while (true) {
-        var charBuffered = false;
 
-        switch (ch | 0) {
-          case -1:
-            (0, _util.warn)('Unterminated string');
-            done = true;
-            break;
-
-          case 0x28:
-            ++numParen;
-            strBuf.push('(');
-            break;
+    if (divideBy !== 0) {
+      baseValue /= divideBy;
+    }
 
-          case 0x29:
-            if (--numParen === 0) {
-              this.nextChar();
-              done = true;
-            } else {
-              strBuf.push(')');
-            }
+    if (eNotation) {
+      baseValue *= 10 ** (powerValueSign * powerValue);
+    }
 
-            break;
+    return sign * baseValue;
+  }
 
-          case 0x5C:
-            ch = this.nextChar();
+  getString() {
+    let numParen = 1;
+    let done = false;
+    const strBuf = this.strBuf;
+    strBuf.length = 0;
+    let ch = this.nextChar();
 
-            switch (ch) {
-              case -1:
-                (0, _util.warn)('Unterminated string');
-                done = true;
-                break;
+    while (true) {
+      let charBuffered = false;
 
-              case 0x6E:
-                strBuf.push('\n');
-                break;
+      switch (ch | 0) {
+        case -1:
+          (0, _util.warn)("Unterminated string");
+          done = true;
+          break;
 
-              case 0x72:
-                strBuf.push('\r');
-                break;
+        case 0x28:
+          ++numParen;
+          strBuf.push("(");
+          break;
 
-              case 0x74:
-                strBuf.push('\t');
-                break;
+        case 0x29:
+          if (--numParen === 0) {
+            this.nextChar();
+            done = true;
+          } else {
+            strBuf.push(")");
+          }
 
-              case 0x62:
-                strBuf.push('\b');
-                break;
+          break;
 
-              case 0x66:
-                strBuf.push('\f');
-                break;
+        case 0x5c:
+          ch = this.nextChar();
 
-              case 0x5C:
-              case 0x28:
-              case 0x29:
-                strBuf.push(String.fromCharCode(ch));
-                break;
+          switch (ch) {
+            case -1:
+              (0, _util.warn)("Unterminated string");
+              done = true;
+              break;
 
-              case 0x30:
-              case 0x31:
-              case 0x32:
-              case 0x33:
-              case 0x34:
-              case 0x35:
-              case 0x36:
-              case 0x37:
-                var x = ch & 0x0F;
-                ch = this.nextChar();
-                charBuffered = true;
+            case 0x6e:
+              strBuf.push("\n");
+              break;
 
-                if (ch >= 0x30 && ch <= 0x37) {
-                  x = (x << 3) + (ch & 0x0F);
-                  ch = this.nextChar();
+            case 0x72:
+              strBuf.push("\r");
+              break;
 
-                  if (ch >= 0x30 && ch <= 0x37) {
-                    charBuffered = false;
-                    x = (x << 3) + (ch & 0x0F);
-                  }
-                }
+            case 0x74:
+              strBuf.push("\t");
+              break;
 
-                strBuf.push(String.fromCharCode(x));
-                break;
+            case 0x62:
+              strBuf.push("\b");
+              break;
 
-              case 0x0D:
-                if (this.peekChar() === 0x0A) {
-                  this.nextChar();
-                }
+            case 0x66:
+              strBuf.push("\f");
+              break;
 
-                break;
+            case 0x5c:
+            case 0x28:
+            case 0x29:
+              strBuf.push(String.fromCharCode(ch));
+              break;
 
-              case 0x0A:
-                break;
+            case 0x30:
+            case 0x31:
+            case 0x32:
+            case 0x33:
+            case 0x34:
+            case 0x35:
+            case 0x36:
+            case 0x37:
+              let x = ch & 0x0f;
+              ch = this.nextChar();
+              charBuffered = true;
 
-              default:
-                strBuf.push(String.fromCharCode(ch));
-                break;
-            }
+              if (ch >= 0x30 && ch <= 0x37) {
+                x = (x << 3) + (ch & 0x0f);
+                ch = this.nextChar();
 
-            break;
+                if (ch >= 0x30 && ch <= 0x37) {
+                  charBuffered = false;
+                  x = (x << 3) + (ch & 0x0f);
+                }
+              }
 
-          default:
-            strBuf.push(String.fromCharCode(ch));
-            break;
-        }
+              strBuf.push(String.fromCharCode(x));
+              break;
 
-        if (done) {
-          break;
-        }
+            case 0x0d:
+              if (this.peekChar() === 0x0a) {
+                this.nextChar();
+              }
 
-        if (!charBuffered) {
-          ch = this.nextChar();
-        }
-      }
+              break;
 
-      return strBuf.join('');
-    }
-  }, {
-    key: "getName",
-    value: function getName() {
-      var ch, previousCh;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-
-      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
-        if (ch === 0x23) {
-          ch = this.nextChar();
+            case 0x0a:
+              break;
 
-          if (specialChars[ch]) {
-            (0, _util.warn)('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal 
number.');
-            strBuf.push('#');
-            break;
+            default:
+              strBuf.push(String.fromCharCode(ch));
+              break;
           }
 
-          var x = toHexDigit(ch);
-
-          if (x !== -1) {
-            previousCh = ch;
-            ch = this.nextChar();
-            var x2 = toHexDigit(ch);
-
-            if (x2 === -1) {
-              (0, _util.warn)("Lexer_getName: Illegal digit (".concat(String.fromCharCode(ch), ") ") + 'in 
hexadecimal number.');
-              strBuf.push('#', String.fromCharCode(previousCh));
-
-              if (specialChars[ch]) {
-                break;
-              }
-
-              strBuf.push(String.fromCharCode(ch));
-              continue;
-            }
+          break;
 
-            strBuf.push(String.fromCharCode(x << 4 | x2));
-          } else {
-            strBuf.push('#', String.fromCharCode(ch));
-          }
-        } else {
+        default:
           strBuf.push(String.fromCharCode(ch));
-        }
+          break;
       }
 
-      if (strBuf.length > 127) {
-        (0, _util.warn)("Name token is longer than allowed by the spec: ".concat(strBuf.length));
+      if (done) {
+        break;
       }
 
-      return _primitives.Name.get(strBuf.join(''));
+      if (!charBuffered) {
+        ch = this.nextChar();
+      }
     }
-  }, {
-    key: "getHexString",
-    value: function getHexString() {
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      var ch = this.currentChar;
-      var isFirstHex = true;
-      var firstDigit, secondDigit;
 
-      while (true) {
-        if (ch < 0) {
-          (0, _util.warn)('Unterminated hex string');
-          break;
-        } else if (ch === 0x3E) {
-          this.nextChar();
+    return strBuf.join("");
+  }
+
+  getName() {
+    let ch, previousCh;
+    const strBuf = this.strBuf;
+    strBuf.length = 0;
+
+    while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
+      if (ch === 0x23) {
+        ch = this.nextChar();
+
+        if (specialChars[ch]) {
+          (0, _util.warn)("Lexer_getName: " + "NUMBER SIGN (#) should be followed by a hexadecimal number.");
+          strBuf.push("#");
           break;
-        } else if (specialChars[ch] === 1) {
-          ch = this.nextChar();
-          continue;
-        } else {
-          if (isFirstHex) {
-            firstDigit = toHexDigit(ch);
+        }
 
-            if (firstDigit === -1) {
-              (0, _util.warn)("Ignoring invalid character \"".concat(ch, "\" in hex string"));
-              ch = this.nextChar();
-              continue;
-            }
-          } else {
-            secondDigit = toHexDigit(ch);
+        const x = toHexDigit(ch);
 
-            if (secondDigit === -1) {
-              (0, _util.warn)("Ignoring invalid character \"".concat(ch, "\" in hex string"));
-              ch = this.nextChar();
-              continue;
+        if (x !== -1) {
+          previousCh = ch;
+          ch = this.nextChar();
+          const x2 = toHexDigit(ch);
+
+          if (x2 === -1) {
+            (0, _util.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(ch)}) ` + "in hexadecimal 
number.");
+            strBuf.push("#", String.fromCharCode(previousCh));
+
+            if (specialChars[ch]) {
+              break;
             }
 
-            strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));
+            strBuf.push(String.fromCharCode(ch));
+            continue;
           }
 
-          isFirstHex = !isFirstHex;
-          ch = this.nextChar();
+          strBuf.push(String.fromCharCode(x << 4 | x2));
+        } else {
+          strBuf.push("#", String.fromCharCode(ch));
         }
+      } else {
+        strBuf.push(String.fromCharCode(ch));
       }
+    }
 
-      return strBuf.join('');
+    if (strBuf.length > 127) {
+      (0, _util.warn)(`Name token is longer than allowed by the spec: ${strBuf.length}`);
     }
-  }, {
-    key: "getObj",
-    value: function getObj() {
-      var comment = false;
-      var ch = this.currentChar;
 
-      while (true) {
-        if (ch < 0) {
-          return _primitives.EOF;
-        }
+    return _primitives.Name.get(strBuf.join(""));
+  }
 
-        if (comment) {
-          if (ch === 0x0A || ch === 0x0D) {
-            comment = false;
+  _hexStringWarn(ch) {
+    const MAX_HEX_STRING_NUM_WARN = 5;
+
+    if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {
+      (0, _util.warn)("getHexString - ignoring additional invalid characters.");
+      return;
+    }
+
+    if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {
+      return;
+    }
+
+    (0, _util.warn)(`getHexString - ignoring invalid character: ${ch}`);
+  }
+
+  getHexString() {
+    const strBuf = this.strBuf;
+    strBuf.length = 0;
+    let ch = this.currentChar;
+    let isFirstHex = true;
+    let firstDigit, secondDigit;
+    this._hexStringNumWarn = 0;
+
+    while (true) {
+      if (ch < 0) {
+        (0, _util.warn)("Unterminated hex string");
+        break;
+      } else if (ch === 0x3e) {
+        this.nextChar();
+        break;
+      } else if (specialChars[ch] === 1) {
+        ch = this.nextChar();
+        continue;
+      } else {
+        if (isFirstHex) {
+          firstDigit = toHexDigit(ch);
+
+          if (firstDigit === -1) {
+            this._hexStringWarn(ch);
+
+            ch = this.nextChar();
+            continue;
           }
-        } else if (ch === 0x25) {
-          comment = true;
-        } else if (specialChars[ch] !== 1) {
-          break;
+        } else {
+          secondDigit = toHexDigit(ch);
+
+          if (secondDigit === -1) {
+            this._hexStringWarn(ch);
+
+            ch = this.nextChar();
+            continue;
+          }
+
+          strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));
         }
 
+        isFirstHex = !isFirstHex;
         ch = this.nextChar();
       }
+    }
 
-      switch (ch | 0) {
-        case 0x30:
-        case 0x31:
-        case 0x32:
-        case 0x33:
-        case 0x34:
-        case 0x35:
-        case 0x36:
-        case 0x37:
-        case 0x38:
-        case 0x39:
-        case 0x2B:
-        case 0x2D:
-        case 0x2E:
-          return this.getNumber();
+    return strBuf.join("");
+  }
 
-        case 0x28:
-          return this.getString();
+  getObj() {
+    let comment = false;
+    let ch = this.currentChar;
 
-        case 0x2F:
-          return this.getName();
+    while (true) {
+      if (ch < 0) {
+        return _primitives.EOF;
+      }
 
-        case 0x5B:
-          this.nextChar();
-          return _primitives.Cmd.get('[');
+      if (comment) {
+        if (ch === 0x0a || ch === 0x0d) {
+          comment = false;
+        }
+      } else if (ch === 0x25) {
+        comment = true;
+      } else if (specialChars[ch] !== 1) {
+        break;
+      }
 
-        case 0x5D:
-          this.nextChar();
-          return _primitives.Cmd.get(']');
+      ch = this.nextChar();
+    }
 
-        case 0x3C:
-          ch = this.nextChar();
+    switch (ch | 0) {
+      case 0x30:
+      case 0x31:
+      case 0x32:
+      case 0x33:
+      case 0x34:
+      case 0x35:
+      case 0x36:
+      case 0x37:
+      case 0x38:
+      case 0x39:
+      case 0x2b:
+      case 0x2d:
+      case 0x2e:
+        return this.getNumber();
 
-          if (ch === 0x3C) {
-            this.nextChar();
-            return _primitives.Cmd.get('<<');
-          }
+      case 0x28:
+        return this.getString();
 
-          return this.getHexString();
+      case 0x2f:
+        return this.getName();
 
-        case 0x3E:
-          ch = this.nextChar();
+      case 0x5b:
+        this.nextChar();
+        return _primitives.Cmd.get("[");
 
-          if (ch === 0x3E) {
-            this.nextChar();
-            return _primitives.Cmd.get('>>');
-          }
+      case 0x5d:
+        this.nextChar();
+        return _primitives.Cmd.get("]");
 
-          return _primitives.Cmd.get('>');
+      case 0x3c:
+        ch = this.nextChar();
 
-        case 0x7B:
+        if (ch === 0x3c) {
           this.nextChar();
-          return _primitives.Cmd.get('{');
+          return _primitives.Cmd.get("<<");
+        }
 
-        case 0x7D:
-          this.nextChar();
-          return _primitives.Cmd.get('}');
+        return this.getHexString();
 
-        case 0x29:
+      case 0x3e:
+        ch = this.nextChar();
+
+        if (ch === 0x3e) {
           this.nextChar();
-          throw new _util.FormatError("Illegal character: ".concat(ch));
-      }
+          return _primitives.Cmd.get(">>");
+        }
 
-      var str = String.fromCharCode(ch);
-      var knownCommands = this.knownCommands;
-      var knownCommandFound = knownCommands && knownCommands[str] !== undefined;
+        return _primitives.Cmd.get(">");
 
-      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
-        var possibleCommand = str + String.fromCharCode(ch);
+      case 0x7b:
+        this.nextChar();
+        return _primitives.Cmd.get("{");
 
-        if (knownCommandFound && knownCommands[possibleCommand] === undefined) {
-          break;
-        }
+      case 0x7d:
+        this.nextChar();
+        return _primitives.Cmd.get("}");
 
-        if (str.length === 128) {
-          throw new _util.FormatError("Command token too long: ".concat(str.length));
-        }
+      case 0x29:
+        this.nextChar();
+        throw new _util.FormatError(`Illegal character: ${ch}`);
+    }
 
-        str = possibleCommand;
-        knownCommandFound = knownCommands && knownCommands[str] !== undefined;
-      }
+    let str = String.fromCharCode(ch);
+    const knownCommands = this.knownCommands;
+    let knownCommandFound = knownCommands && knownCommands[str] !== undefined;
 
-      if (str === 'true') {
-        return true;
-      }
+    while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
+      const possibleCommand = str + String.fromCharCode(ch);
 
-      if (str === 'false') {
-        return false;
+      if (knownCommandFound && knownCommands[possibleCommand] === undefined) {
+        break;
       }
 
-      if (str === 'null') {
-        return null;
+      if (str.length === 128) {
+        throw new _util.FormatError(`Command token too long: ${str.length}`);
       }
 
-      if (str === 'BI') {
-        this.beginInlineImagePos = this.stream.pos;
-      }
+      str = possibleCommand;
+      knownCommandFound = knownCommands && knownCommands[str] !== undefined;
+    }
+
+    if (str === "true") {
+      return true;
+    }
 
-      return _primitives.Cmd.get(str);
+    if (str === "false") {
+      return false;
     }
-  }, {
-    key: "skipToNextLine",
-    value: function skipToNextLine() {
-      var ch = this.currentChar;
 
-      while (ch >= 0) {
-        if (ch === 0x0D) {
-          ch = this.nextChar();
+    if (str === "null") {
+      return null;
+    }
 
-          if (ch === 0x0A) {
-            this.nextChar();
-          }
+    if (str === "BI") {
+      this.beginInlineImagePos = this.stream.pos;
+    }
 
-          break;
-        } else if (ch === 0x0A) {
+    return _primitives.Cmd.get(str);
+  }
+
+  skipToNextLine() {
+    let ch = this.currentChar;
+
+    while (ch >= 0) {
+      if (ch === 0x0d) {
+        ch = this.nextChar();
+
+        if (ch === 0x0a) {
           this.nextChar();
-          break;
         }
 
-        ch = this.nextChar();
+        break;
+      } else if (ch === 0x0a) {
+        this.nextChar();
+        break;
       }
+
+      ch = this.nextChar();
     }
-  }]);
+  }
 
-  return Lexer;
-}();
+}
 
 exports.Lexer = Lexer;
 
-var Linearization =
-/*#__PURE__*/
-function () {
-  function Linearization() {
-    _classCallCheck(this, Linearization);
-  }
-
-  _createClass(Linearization, null, [{
-    key: "create",
-    value: function create(stream) {
-      function getInt(linDict, name) {
-        var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-        var obj = linDict.get(name);
+class Linearization {
+  static create(stream) {
+    function getInt(linDict, name, allowZeroValue = false) {
+      const obj = linDict.get(name);
 
-        if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {
-          return obj;
-        }
-
-        throw new Error("The \"".concat(name, "\" parameter in the linearization ") + 'dictionary is 
invalid.');
+      if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {
+        return obj;
       }
 
-      function getHints(linDict) {
-        var hints = linDict.get('H');
-        var hintsLength;
+      throw new Error(`The "${name}" parameter in the linearization ` + "dictionary is invalid.");
+    }
 
-        if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {
-          for (var index = 0; index < hintsLength; index++) {
-            var hint = hints[index];
+    function getHints(linDict) {
+      const hints = linDict.get("H");
+      let hintsLength;
 
-            if (!(Number.isInteger(hint) && hint > 0)) {
-              throw new Error("Hint (".concat(index, ") in the linearization dictionary ") + 'is invalid.');
-            }
-          }
+      if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {
+        for (let index = 0; index < hintsLength; index++) {
+          const hint = hints[index];
 
-          return hints;
+          if (!(Number.isInteger(hint) && hint > 0)) {
+            throw new Error(`Hint (${index}) in the linearization dictionary is invalid.`);
+          }
         }
 
-        throw new Error('Hint array in the linearization dictionary is invalid.');
+        return hints;
       }
 
-      var parser = new Parser({
-        lexer: new Lexer(stream),
-        xref: null
-      });
-      var obj1 = parser.getObj();
-      var obj2 = parser.getObj();
-      var obj3 = parser.getObj();
-      var linDict = parser.getObj();
-      var obj, length;
+      throw new Error("Hint array in the linearization dictionary is invalid.");
+    }
 
-      if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, 'obj') && (0, 
_primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get('Linearized')) && obj > 0)) {
-        return null;
-      } else if ((length = getInt(linDict, 'L')) !== stream.length) {
-        throw new Error('The "L" parameter in the linearization dictionary ' + 'does not equal the stream 
length.');
-      }
+    const parser = new Parser({
+      lexer: new Lexer(stream),
+      xref: null
+    });
+    const obj1 = parser.getObj();
+    const obj2 = parser.getObj();
+    const obj3 = parser.getObj();
+    const linDict = parser.getObj();
+    let obj, length;
 
-      return {
-        length: length,
-        hints: getHints(linDict),
-        objectNumberFirst: getInt(linDict, 'O'),
-        endFirst: getInt(linDict, 'E'),
-        numPages: getInt(linDict, 'N'),
-        mainXRefEntriesOffset: getInt(linDict, 'T'),
-        pageFirst: linDict.has('P') ? getInt(linDict, 'P', true) : 0
-      };
+    if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, "obj") && (0, 
_primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get("Linearized")) && obj > 0)) {
+      return null;
+    } else if ((length = getInt(linDict, "L")) !== stream.length) {
+      throw new Error('The "L" parameter in the linearization dictionary ' + "does not equal the stream 
length.");
     }
-  }]);
 
-  return Linearization;
-}();
+    return {
+      length,
+      hints: getHints(linDict),
+      objectNumberFirst: getInt(linDict, "O"),
+      endFirst: getInt(linDict, "E"),
+      numPages: getInt(linDict, "N"),
+      mainXRefEntriesOffset: getInt(linDict, "T"),
+      pageFirst: linDict.has("P") ? getInt(linDict, "P", true) : 0
+    };
+  }
+
+}
 
 exports.Linearization = Linearization;
 
 /***/ }),
-/* 190 */
+/* 11 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -17161,17 +7079,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = 
exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = 
exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || 
_nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || 
Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i 
< arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
+var _core_utils = __w_pdfjs_require__(7);
 
 var Stream = function StreamClosure() {
   function Stream(arrayBuffer, start, length, dict) {
@@ -17215,16 +7127,15 @@ var Stream = function StreamClosure() {
       var b3 = this.getByte();
       return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
     },
-    getBytes: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    getBytes(length, forceClamped = false) {
       var bytes = this.bytes;
       var pos = this.pos;
       var strEnd = this.end;
 
       if (!length) {
-        var _subarray = bytes.subarray(pos, strEnd);
-
-        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;
+        const subarray = bytes.subarray(pos, strEnd);
+        return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
       }
 
       var end = pos + length;
@@ -17234,21 +7145,27 @@ var Stream = function StreamClosure() {
       }
 
       this.pos = end;
-      var subarray = bytes.subarray(pos, end);
+      const subarray = bytes.subarray(pos, end);
       return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
     },
+
     peekByte: function Stream_peekByte() {
       var peekedByte = this.getByte();
-      this.pos--;
+
+      if (peekedByte !== -1) {
+        this.pos--;
+      }
+
       return peekedByte;
     },
-    peekBytes: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    peekBytes(length, forceClamped = false) {
       var bytes = this.getBytes(length, forceClamped);
       this.pos -= bytes.length;
       return bytes;
     },
-    getByteRange: function getByteRange(begin, end) {
+
+    getByteRange(begin, end) {
       if (begin < 0) {
         begin = 0;
       }
@@ -17259,6 +7176,7 @@ var Stream = function StreamClosure() {
 
       return this.bytes.subarray(begin, end);
     },
+
     skip: function Stream_skip(n) {
       if (!n) {
         n = 1;
@@ -17283,7 +7201,7 @@ exports.Stream = Stream;
 
 var StringStream = function StringStreamClosure() {
   function StringStream(str) {
-    var bytes = (0, _util.stringToBytes)(str);
+    const bytes = (0, _util.stringToBytes)(str);
     Stream.call(this, bytes);
   }
 
@@ -17367,8 +7285,8 @@ var DecodeStream = function DecodeStreamClosure() {
       var b3 = this.getByte();
       return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
     },
-    getBytes: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    getBytes(length, forceClamped = false) {
       var end,
           pos = this.pos;
 
@@ -17394,20 +7312,26 @@ var DecodeStream = function DecodeStreamClosure() {
       }
 
       this.pos = end;
-      var subarray = this.buffer.subarray(pos, end);
+      const subarray = this.buffer.subarray(pos, end);
       return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : 
subarray;
     },
+
     peekByte: function DecodeStream_peekByte() {
       var peekedByte = this.getByte();
-      this.pos--;
+
+      if (peekedByte !== -1) {
+        this.pos--;
+      }
+
       return peekedByte;
     },
-    peekBytes: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+    peekBytes(length, forceClamped = false) {
       var bytes = this.getBytes(length, forceClamped);
       this.pos -= bytes.length;
       return bytes;
     },
+
     makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {
       var end = start + length;
 
@@ -17417,9 +7341,11 @@ var DecodeStream = function DecodeStreamClosure() {
 
       return new Stream(this.buffer, start, length, dict);
     },
-    getByteRange: function getByteRange(begin, end) {
-      (0, _util.unreachable)('Should not call DecodeStream.getByteRange');
+
+    getByteRange(begin, end) {
+      (0, _util.unreachable)("Should not call DecodeStream.getByteRange");
     },
+
     skip: function DecodeStream_skip(n) {
       if (!n) {
         n = 1;
@@ -17446,10 +7372,10 @@ exports.DecodeStream = DecodeStream;
 var StreamsSequenceStream = function StreamsSequenceStreamClosure() {
   function StreamsSequenceStream(streams) {
     this.streams = streams;
-    var maybeLength = 0;
+    let maybeLength = 0;
 
-    for (var i = 0, ii = streams.length; i < ii; i++) {
-      var stream = streams[i];
+    for (let i = 0, ii = streams.length; i < ii; i++) {
+      const stream = streams[i];
 
       if (stream instanceof DecodeStream) {
         maybeLength += stream._rawMinBufferLength;
@@ -17487,7 +7413,7 @@ var StreamsSequenceStream = function StreamsSequenceStreamClosure() {
       var stream = this.streams[i];
 
       if (stream.getBaseStreams) {
-        baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));
+        baseStreams.push(...stream.getBaseStreams());
       }
     }
 
@@ -17513,19 +7439,19 @@ var FlateStream = function FlateStreamClosure() {
     var flg = str.getByte();
 
     if (cmf === -1 || flg === -1) {
-      throw new _util.FormatError("Invalid header in flate stream: ".concat(cmf, ", ").concat(flg));
+      throw new _util.FormatError(`Invalid header in flate stream: ${cmf}, ${flg}`);
     }
 
     if ((cmf & 0x0f) !== 0x08) {
-      throw new _util.FormatError("Unknown compression method in flate stream: ".concat(cmf, ", 
").concat(flg));
+      throw new _util.FormatError(`Unknown compression method in flate stream: ${cmf}, ${flg}`);
     }
 
     if (((cmf << 8) + flg) % 31 !== 0) {
-      throw new _util.FormatError("Bad FCHECK in flate stream: ".concat(cmf, ", ").concat(flg));
+      throw new _util.FormatError(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);
     }
 
     if (flg & 0x20) {
-      throw new _util.FormatError("FDICT bit set in flate stream: ".concat(cmf, ", ").concat(flg));
+      throw new _util.FormatError(`FDICT bit set in flate stream: ${cmf}, ${flg}`);
     }
 
     this.codeSize = 0;
@@ -17543,7 +7469,7 @@ var FlateStream = function FlateStreamClosure() {
 
     while (codeSize < bits) {
       if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError('Bad encoding in flate stream');
+        throw new _util.FormatError("Bad encoding in flate stream");
       }
 
       codeBuf |= b << codeSize;
@@ -17578,7 +7504,7 @@ var FlateStream = function FlateStreamClosure() {
     var codeVal = code & 0xffff;
 
     if (codeLen < 1 || codeSize < codeLen) {
-      throw new _util.FormatError('Bad encoding in flate stream');
+      throw new _util.FormatError("Bad encoding in flate stream");
     }
 
     this.codeBuf = codeBuf >> codeLen;
@@ -17638,38 +7564,38 @@ var FlateStream = function FlateStreamClosure() {
       var b;
 
       if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError('Bad block header in flate stream');
+        throw new _util.FormatError("Bad block header in flate stream");
       }
 
       var blockLen = b;
 
       if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError('Bad block header in flate stream');
+        throw new _util.FormatError("Bad block header in flate stream");
       }
 
       blockLen |= b << 8;
 
       if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError('Bad block header in flate stream');
+        throw new _util.FormatError("Bad block header in flate stream");
       }
 
       var check = b;
 
       if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError('Bad block header in flate stream');
+        throw new _util.FormatError("Bad block header in flate stream");
       }
 
       check |= b << 8;
 
       if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {
-        throw new _util.FormatError('Bad uncompressed block length in flate stream');
+        throw new _util.FormatError("Bad uncompressed block length in flate stream");
       }
 
       this.codeBuf = 0;
       this.codeSize = 0;
-      var bufferLength = this.bufferLength;
-      buffer = this.ensureBuffer(bufferLength + blockLen);
-      var end = bufferLength + blockLen;
+      const bufferLength = this.bufferLength,
+            end = bufferLength + blockLen;
+      buffer = this.ensureBuffer(end);
       this.bufferLength = end;
 
       if (blockLen === 0) {
@@ -17677,13 +7603,11 @@ var FlateStream = function FlateStreamClosure() {
           this.eof = true;
         }
       } else {
-        for (var n = bufferLength; n < end; ++n) {
-          if ((b = str.getByte()) === -1) {
-            this.eof = true;
-            break;
-          }
+        const block = str.getBytes(blockLen);
+        buffer.set(block, bufferLength);
 
-          buffer[n] = b;
+        if (block.length < blockLen) {
+          this.eof = true;
         }
       }
 
@@ -17744,7 +7668,7 @@ var FlateStream = function FlateStreamClosure() {
       litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));
       distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));
     } else {
-      throw new _util.FormatError('Unknown block type in flate stream');
+      throw new _util.FormatError("Unknown block type in flate stream");
     }
 
     buffer = this.buffer;
@@ -17810,14 +7734,14 @@ var PredictorStream = function PredictorStreamClosure() {
       return str;
     }
 
-    var predictor = this.predictor = params.get('Predictor') || 1;
+    var predictor = this.predictor = params.get("Predictor") || 1;
 
     if (predictor <= 1) {
       return str;
     }
 
     if (predictor !== 2 && (predictor < 10 || predictor > 15)) {
-      throw new _util.FormatError("Unsupported predictor: ".concat(predictor));
+      throw new _util.FormatError(`Unsupported predictor: ${predictor}`);
     }
 
     if (predictor === 2) {
@@ -17828,9 +7752,9 @@ var PredictorStream = function PredictorStreamClosure() {
 
     this.str = str;
     this.dict = str.dict;
-    var colors = this.colors = params.get('Colors') || 1;
-    var bits = this.bits = params.get('BitsPerComponent') || 8;
-    var columns = this.columns = params.get('Columns') || 1;
+    var colors = this.colors = params.get("Colors") || 1;
+    var bits = this.bits = params.get("BitsPerComponent") || 8;
+    var columns = this.columns = params.get("Columns") || 1;
     this.pixBytes = colors * bits + 7 >> 3;
     this.rowBytes = columns * colors * bits + 7 >> 3;
     DecodeStream.call(this, maybeLength);
@@ -17885,9 +7809,9 @@ var PredictorStream = function PredictorStreamClosure() {
       }
 
       for (; i < rowBytes; i += 2) {
-        var sum = ((rawBytes[i] & 0xFF) << 8) + (rawBytes[i + 1] & 0xFF) + ((buffer[pos - bytesPerPixel] & 
0xFF) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xFF);
-        buffer[pos++] = sum >> 8 & 0xFF;
-        buffer[pos++] = sum & 0xFF;
+        var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 
0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);
+        buffer[pos++] = sum >> 8 & 0xff;
+        buffer[pos++] = sum & 0xff;
       }
     } else {
       var compArray = new Uint8Array(colors + 1);
@@ -17899,7 +7823,7 @@ var PredictorStream = function PredictorStreamClosure() {
       for (i = 0; i < columns; ++i) {
         for (var kk = 0; kk < colors; ++kk) {
           if (inbits < bits) {
-            inbuf = inbuf << 8 | rawBytes[j++] & 0xFF;
+            inbuf = inbuf << 8 | rawBytes[j++] & 0xff;
             inbits += 8;
           }
 
@@ -17909,7 +7833,7 @@ var PredictorStream = function PredictorStreamClosure() {
           outbits += bits;
 
           if (outbits >= 8) {
-            buffer[k++] = outbuf >> outbits - 8 & 0xFF;
+            buffer[k++] = outbuf >> outbits - 8 & 0xff;
             outbits -= 8;
           }
         }
@@ -17961,7 +7885,7 @@ var PredictorStream = function PredictorStreamClosure() {
         }
 
         for (; i < rowBytes; ++i) {
-          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF;
+          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;
           j++;
         }
 
@@ -17969,7 +7893,7 @@ var PredictorStream = function PredictorStreamClosure() {
 
       case 2:
         for (i = 0; i < rowBytes; ++i) {
-          buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF;
+          buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;
         }
 
         break;
@@ -17980,7 +7904,7 @@ var PredictorStream = function PredictorStreamClosure() {
         }
 
         for (; i < rowBytes; ++i) {
-          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF;
+          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;
           j++;
         }
 
@@ -18030,7 +7954,7 @@ var PredictorStream = function PredictorStreamClosure() {
         break;
 
       default:
-        throw new _util.FormatError("Unsupported predictor: ".concat(predictor));
+        throw new _util.FormatError(`Unsupported predictor: ${predictor}`);
     }
 
     this.bufferLength += rowBytes;
@@ -18106,13 +8030,13 @@ var Ascii85Stream = function Ascii85StreamClosure() {
   Ascii85Stream.prototype = Object.create(DecodeStream.prototype);
 
   Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {
-    var TILDA_CHAR = 0x7E;
-    var Z_LOWER_CHAR = 0x7A;
+    var TILDA_CHAR = 0x7e;
+    var Z_LOWER_CHAR = 0x7a;
     var EOF = -1;
     var str = this.str;
     var c = str.getByte();
 
-    while ((0, _util.isSpace)(c)) {
+    while ((0, _core_utils.isWhiteSpace)(c)) {
       c = str.getByte();
     }
 
@@ -18140,7 +8064,7 @@ var Ascii85Stream = function Ascii85StreamClosure() {
       for (i = 1; i < 5; ++i) {
         c = str.getByte();
 
-        while ((0, _util.isSpace)(c)) {
+        while ((0, _core_utils.isWhiteSpace)(c)) {
           c = str.getByte();
         }
 
@@ -18169,7 +8093,7 @@ var Ascii85Stream = function Ascii85StreamClosure() {
       }
 
       for (i = 3; i >= 0; --i) {
-        buffer[bufferLength + i] = t & 0xFF;
+        buffer[bufferLength + i] = t & 0xff;
         t >>= 8;
       }
     }
@@ -18214,10 +8138,10 @@ var AsciiHexStream = function AsciiHexStreamClosure() {
           digit;
 
       if (ch >= 0x30 && ch <= 0x39) {
-        digit = ch & 0x0F;
+        digit = ch & 0x0f;
       } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {
-        digit = (ch & 0x0F) + 9;
-      } else if (ch === 0x3E) {
+        digit = (ch & 0x0f) + 9;
+      } else if (ch === 0x3e) {
         this.eof = true;
         break;
       } else {
@@ -18302,7 +8226,7 @@ var LZWStream = function LZWStreamClosure() {
     this.bitsCached = 0;
     var maxLzwDictionarySize = 4096;
     var lzwState = {
-      earlyChange: earlyChange,
+      earlyChange,
       codeLength: 9,
       nextCode: 258,
       dictionaryValues: new Uint8Array(maxLzwDictionarySize),
@@ -18446,7 +8370,7 @@ var NullStream = function NullStreamClosure() {
 exports.NullStream = NullStream;
 
 /***/ }),
-/* 191 */
+/* 12 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -18457,11 +8381,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.CCITTFaxStream = void 0;
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-var _ccitt = __w_pdfjs_require__(192);
+var _ccitt = __w_pdfjs_require__(13);
 
-var _stream = __w_pdfjs_require__(190);
+var _stream = __w_pdfjs_require__(11);
 
 var CCITTFaxStream = function CCITTFaxStreamClosure() {
   function CCITTFaxStream(str, maybeLength, params) {
@@ -18472,19 +8396,20 @@ var CCITTFaxStream = function CCITTFaxStreamClosure() {
       params = _primitives.Dict.empty;
     }
 
-    var source = {
-      next: function next() {
+    const source = {
+      next() {
         return str.getByte();
       }
+
     };
     this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {
-      K: params.get('K'),
-      EndOfLine: params.get('EndOfLine'),
-      EncodedByteAlign: params.get('EncodedByteAlign'),
-      Columns: params.get('Columns'),
-      Rows: params.get('Rows'),
-      EndOfBlock: params.get('EndOfBlock'),
-      BlackIs1: params.get('BlackIs1')
+      K: params.get("K"),
+      EndOfLine: params.get("EndOfLine"),
+      EncodedByteAlign: params.get("EncodedByteAlign"),
+      Columns: params.get("Columns"),
+      Rows: params.get("Rows"),
+      EndOfBlock: params.get("EndOfBlock"),
+      BlackIs1: params.get("BlackIs1")
     });
 
     _stream.DecodeStream.call(this, maybeLength);
@@ -18494,7 +8419,7 @@ var CCITTFaxStream = function CCITTFaxStreamClosure() {
 
   CCITTFaxStream.prototype.readBlock = function () {
     while (!this.eof) {
-      var c = this.ccittFaxDecoder.readNextChar();
+      const c = this.ccittFaxDecoder.readNextChar();
 
       if (c === -1) {
         this.eof = true;
@@ -18512,7 +8437,7 @@ var CCITTFaxStream = function CCITTFaxStreamClosure() {
 exports.CCITTFaxStream = CCITTFaxStream;
 
 /***/ }),
-/* 192 */
+/* 13 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -18523,49 +8448,47 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.CCITTFaxDecoder = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var CCITTFaxDecoder = function CCITTFaxDecoder() {
-  var ccittEOL = -2;
-  var ccittEOF = -1;
-  var twoDimPass = 0;
-  var twoDimHoriz = 1;
-  var twoDimVert0 = 2;
-  var twoDimVertR1 = 3;
-  var twoDimVertL1 = 4;
-  var twoDimVertR2 = 5;
-  var twoDimVertL2 = 6;
-  var twoDimVertR3 = 7;
-  var twoDimVertL3 = 8;
-  var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, 
twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, 
twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], 
[3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, 
twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], 
[3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, 
twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], 
 [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, 
twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0
 ], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0]];
-  var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], 
[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 
1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 
1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];
-  var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], 
[8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], 
[8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], 
[7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], 
[8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], 
[6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], 
[6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], 
[8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], 
[7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], 
[8, 0], [8, 0], [8, 320], 
 [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 
10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 
11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 
27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 
1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 
50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 
56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 
192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 
448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 
896], [9, 960], [9, 1024], [9
 , 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 
2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], 
[4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 
2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], 
[4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 
3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 
128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 
128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 
8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], 
[5, 9], [5, 9], [5, 9
 ], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], 
[6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 
4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], 
[4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 
4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], 
[4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 
5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], 
[6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], 
[5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], 
[5, 64], [4, 6], [4, 6], [4
 , 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 
6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], 
[4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 
7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], 
[4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];
-  var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, 
-1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, 
-1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, 
-1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], 
[12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], 
[11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], 
[12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 
18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], 
[13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], 
[12, 59], [12, 60]
 , [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], 
[11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 
512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 
1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];
-  var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 
13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], 
[12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 
16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 
32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], 
[8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], 
[7, 11], [7, 11], [7, 11]
 , [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 
11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 
15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], 
[12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], 
[12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];
-  var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], 
[4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 
1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], 
[2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 
2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];
-
-  function CCITTFaxDecoder(source) {
-    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-    if (!source || typeof source.next !== 'function') {
+var _util = __w_pdfjs_require__(2);
+
+const CCITTFaxDecoder = function CCITTFaxDecoder() {
+  const ccittEOL = -2;
+  const ccittEOF = -1;
+  const twoDimPass = 0;
+  const twoDimHoriz = 1;
+  const twoDimVert0 = 2;
+  const twoDimVertR1 = 3;
+  const twoDimVertL1 = 4;
+  const twoDimVertR2 = 5;
+  const twoDimVertL2 = 6;
+  const twoDimVertR3 = 7;
+  const twoDimVertL3 = 8;
+  const twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, 
twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, 
twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, 
twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], 
[3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, 
twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], 
[3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, 
twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1]
 , [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, 
twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], 
[1, twoDimVert0], [1, twoDimVer
 t0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, 
twoDimVert0], [1, twoDimVert0]];
+  const whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], 
[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 
1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 
1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];
+  const whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], 
[8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], 
[8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], 
[7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], 
[8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], 
[6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], 
[6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], 
[8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], 
[7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], 
[8, 0], [8, 0], [8, 320]
 , [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 
10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 
11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 
27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 
1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 
50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 
56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 
192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 
448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 
896], [9, 960], [9, 1024], 
 [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], 
[4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 
2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], 
[4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 
3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], 
[4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], 
[5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], 
[5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], 
[5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 
9], [5, 9], [5, 9], [5,
  9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], 
[6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 
4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], 
[4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 
4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], 
[4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 
5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], 
[6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], 
[5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], 
[5, 64], [4, 6], [4, 6], 
 [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 
6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], 
[4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 
7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], 
[4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];
+  const blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], 
[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], 
[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], 
[-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 
2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 
2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 
2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 
18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], 
[13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], 
[12, 59], [12, 59], [12, 6
 0], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], 
[11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 
512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 
1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];
+  const blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 
13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], 
[12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 
16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 
32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], 
[8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], 
[7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], 
[7, 11], [7, 11], [7, 1
 1], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 
11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 
15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], 
[12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], 
[12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 
12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];
+  const blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 
6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], 
[3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 
3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], 
[2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 
2]];
+
+  function CCITTFaxDecoder(source, options = {}) {
+    if (!source || typeof source.next !== "function") {
       throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
     }
 
     this.source = source;
     this.eof = false;
-    this.encoding = options['K'] || 0;
-    this.eoline = options['EndOfLine'] || false;
-    this.byteAlign = options['EncodedByteAlign'] || false;
-    this.columns = options['Columns'] || 1728;
-    this.rows = options['Rows'] || 0;
-    var eoblock = options['EndOfBlock'];
+    this.encoding = options["K"] || 0;
+    this.eoline = options["EndOfLine"] || false;
+    this.byteAlign = options["EncodedByteAlign"] || false;
+    this.columns = options["Columns"] || 1728;
+    this.rows = options["Rows"] || 0;
+    let eoblock = options["EndOfBlock"];
 
     if (eoblock === null || eoblock === undefined) {
       eoblock = true;
     }
 
     this.eoblock = eoblock;
-    this.black = options['BlackIs1'] || false;
+    this.black = options["BlackIs1"] || false;
     this.codingLine = new Uint32Array(this.columns + 1);
     this.refLine = new Uint32Array(this.columns + 2);
     this.codingLine[0] = this.columns;
@@ -18576,7 +8499,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
     this.inputBuf = 0;
     this.outputBits = 0;
     this.rowsDone = false;
-    var code1;
+    let code1;
 
     while ((code1 = this._lookBits(12)) === 0) {
       this._eatBits(1);
@@ -18594,15 +8517,15 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
   }
 
   CCITTFaxDecoder.prototype = {
-    readNextChar: function readNextChar() {
+    readNextChar() {
       if (this.eof) {
         return -1;
       }
 
-      var refLine = this.refLine;
-      var codingLine = this.codingLine;
-      var columns = this.columns;
-      var refPos, blackPixels, bits, i;
+      const refLine = this.refLine;
+      const codingLine = this.codingLine;
+      const columns = this.columns;
+      let refPos, blackPixels, bits, i;
 
       if (this.outputBits === 0) {
         if (this.rowsDone) {
@@ -18614,7 +8537,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         }
 
         this.err = false;
-        var code1, code2, code3;
+        let code1, code2, code3;
 
         if (this.nextLine2D) {
           for (i = 0; codingLine[i] < columns; ++i) {
@@ -18798,7 +8721,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
                 break;
 
               default:
-                (0, _util.info)('bad 2d code');
+                (0, _util.info)("bad 2d code");
 
                 this._addPixels(columns, 0);
 
@@ -18829,7 +8752,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
           }
         }
 
-        var gotEOL = false;
+        let gotEOL = false;
 
         if (this.byteAlign) {
           this.inputBits &= ~7;
@@ -18886,7 +8809,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
                 code1 = this._lookBits(12);
 
                 if (code1 !== 1) {
-                  (0, _util.info)('bad rtc code: ' + code1);
+                  (0, _util.info)("bad rtc code: " + code1);
                 }
 
                 this._eatBits(12);
@@ -18935,10 +8858,10 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         this.row++;
       }
 
-      var c;
+      let c;
 
       if (this.outputBits >= 8) {
-        c = this.codingPos & 1 ? 0 : 0xFF;
+        c = this.codingPos & 1 ? 0 : 0xff;
         this.outputBits -= 8;
 
         if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {
@@ -18954,7 +8877,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
             c <<= bits;
 
             if (!(this.codingPos & 1)) {
-              c |= 0xFF >> 8 - bits;
+              c |= 0xff >> 8 - bits;
             }
 
             this.outputBits -= bits;
@@ -18963,7 +8886,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
             c <<= this.outputBits;
 
             if (!(this.codingPos & 1)) {
-              c |= 0xFF >> 8 - this.outputBits;
+              c |= 0xff >> 8 - this.outputBits;
             }
 
             bits -= this.outputBits;
@@ -18981,18 +8904,19 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
       }
 
       if (this.black) {
-        c ^= 0xFF;
+        c ^= 0xff;
       }
 
       return c;
     },
-    _addPixels: function _addPixels(a1, blackPixels) {
-      var codingLine = this.codingLine;
-      var codingPos = this.codingPos;
+
+    _addPixels(a1, blackPixels) {
+      const codingLine = this.codingLine;
+      let codingPos = this.codingPos;
 
       if (a1 > codingLine[codingPos]) {
         if (a1 > this.columns) {
-          (0, _util.info)('row is wrong length');
+          (0, _util.info)("row is wrong length");
           this.err = true;
           a1 = this.columns;
         }
@@ -19006,13 +8930,14 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
 
       this.codingPos = codingPos;
     },
-    _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {
-      var codingLine = this.codingLine;
-      var codingPos = this.codingPos;
+
+    _addPixelsNeg(a1, blackPixels) {
+      const codingLine = this.codingLine;
+      let codingPos = this.codingPos;
 
       if (a1 > codingLine[codingPos]) {
         if (a1 > this.columns) {
-          (0, _util.info)('row is wrong length');
+          (0, _util.info)("row is wrong length");
           this.err = true;
           a1 = this.columns;
         }
@@ -19024,7 +8949,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         codingLine[codingPos] = a1;
       } else if (a1 < codingLine[codingPos]) {
         if (a1 < 0) {
-          (0, _util.info)('invalid code');
+          (0, _util.info)("invalid code");
           this.err = true;
           a1 = 0;
         }
@@ -19038,11 +8963,12 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
 
       this.codingPos = codingPos;
     },
-    _findTableCode: function _findTableCode(start, end, table, limit) {
-      var limitValue = limit || 0;
 
-      for (var i = start; i <= end; ++i) {
-        var code = this._lookBits(i);
+    _findTableCode(start, end, table, limit) {
+      const limitValue = limit || 0;
+
+      for (let i = start; i <= end; ++i) {
+        let code = this._lookBits(i);
 
         if (code === ccittEOF) {
           return [true, 1, false];
@@ -19053,7 +8979,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         }
 
         if (!limitValue || code >= limitValue) {
-          var p = table[code - limitValue];
+          const p = table[code - limitValue];
 
           if (p[0] === i) {
             this._eatBits(i);
@@ -19065,9 +8991,10 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
 
       return [false, 0, false];
     },
-    _getTwoDimCode: function _getTwoDimCode() {
-      var code = 0;
-      var p;
+
+    _getTwoDimCode() {
+      let code = 0;
+      let p;
 
       if (this.eoblock) {
         code = this._lookBits(7);
@@ -19079,19 +9006,20 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
           return p[1];
         }
       } else {
-        var result = this._findTableCode(1, 7, twoDimTable);
+        const result = this._findTableCode(1, 7, twoDimTable);
 
         if (result[0] && result[2]) {
           return result[1];
         }
       }
 
-      (0, _util.info)('Bad two dim code');
+      (0, _util.info)("Bad two dim code");
       return ccittEOF;
     },
-    _getWhiteCode: function _getWhiteCode() {
-      var code = 0;
-      var p;
+
+    _getWhiteCode() {
+      let code = 0;
+      let p;
 
       if (this.eoblock) {
         code = this._lookBits(12);
@@ -19112,7 +9040,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
           return p[1];
         }
       } else {
-        var result = this._findTableCode(1, 9, whiteTable2);
+        let result = this._findTableCode(1, 9, whiteTable2);
 
         if (result[0]) {
           return result[1];
@@ -19125,14 +9053,15 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         }
       }
 
-      (0, _util.info)('bad white code');
+      (0, _util.info)("bad white code");
 
       this._eatBits(1);
 
       return 1;
     },
-    _getBlackCode: function _getBlackCode() {
-      var code, p;
+
+    _getBlackCode() {
+      let code, p;
 
       if (this.eoblock) {
         code = this._lookBits(13);
@@ -19155,7 +9084,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
           return p[1];
         }
       } else {
-        var result = this._findTableCode(2, 6, blackTable3);
+        let result = this._findTableCode(2, 6, blackTable3);
 
         if (result[0]) {
           return result[1];
@@ -19174,14 +9103,15 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
         }
       }
 
-      (0, _util.info)('bad black code');
+      (0, _util.info)("bad black code");
 
       this._eatBits(1);
 
       return 1;
     },
-    _lookBits: function _lookBits(n) {
-      var c;
+
+    _lookBits(n) {
+      let c;
 
       while (this.inputBits < n) {
         if ((c = this.source.next()) === -1) {
@@ -19189,20 +9119,22 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
             return ccittEOF;
           }
 
-          return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n;
+          return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;
         }
 
         this.inputBuf = this.inputBuf << 8 | c;
         this.inputBits += 8;
       }
 
-      return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n;
+      return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;
     },
-    _eatBits: function _eatBits(n) {
+
+    _eatBits(n) {
       if ((this.inputBits -= n) < 0) {
         this.inputBits = 0;
       }
     }
+
   };
   return CCITTFaxDecoder;
 }();
@@ -19210,7 +9142,7 @@ var CCITTFaxDecoder = function CCITTFaxDecoder() {
 exports.CCITTFaxDecoder = CCITTFaxDecoder;
 
 /***/ }),
-/* 193 */
+/* 14 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -19221,15 +9153,15 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.Jbig2Stream = void 0;
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-var _stream = __w_pdfjs_require__(190);
+var _stream = __w_pdfjs_require__(11);
 
-var _jbig = __w_pdfjs_require__(194);
+var _jbig = __w_pdfjs_require__(15);
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var Jbig2Stream = function Jbig2StreamClosure() {
+const Jbig2Stream = function Jbig2StreamClosure() {
   function Jbig2Stream(stream, maybeLength, dict, params) {
     this.stream = stream;
     this.maybeLength = maybeLength;
@@ -19240,10 +9172,11 @@ var Jbig2Stream = function Jbig2StreamClosure() {
   }
 
   Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(Jbig2Stream.prototype, 'bytes', {
-    get: function get() {
-      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+  Object.defineProperty(Jbig2Stream.prototype, "bytes", {
+    get() {
+      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
     },
+
     configurable: true
   });
 
@@ -19254,14 +9187,14 @@ var Jbig2Stream = function Jbig2StreamClosure() {
       return;
     }
 
-    var jbig2Image = new _jbig.Jbig2Image();
-    var chunks = [];
+    const jbig2Image = new _jbig.Jbig2Image();
+    const chunks = [];
 
     if ((0, _primitives.isDict)(this.params)) {
-      var globalsStream = this.params.get('JBIG2Globals');
+      const globalsStream = this.params.get("JBIG2Globals");
 
       if ((0, _primitives.isStream)(globalsStream)) {
-        var globals = globalsStream.getBytes();
+        const globals = globalsStream.getBytes();
         chunks.push({
           data: globals,
           start: 0,
@@ -19275,11 +9208,11 @@ var Jbig2Stream = function Jbig2StreamClosure() {
       start: 0,
       end: this.bytes.length
     });
-    var data = jbig2Image.parseChunks(chunks);
-    var dataLength = data.length;
+    const data = jbig2Image.parseChunks(chunks);
+    const dataLength = data.length;
 
-    for (var i = 0; i < dataLength; i++) {
-      data[i] ^= 0xFF;
+    for (let i = 0; i < dataLength; i++) {
+      data[i] ^= 0xff;
     }
 
     this.buffer = data;
@@ -19293,7 +9226,7 @@ var Jbig2Stream = function Jbig2StreamClosure() {
 exports.Jbig2Stream = Jbig2Stream;
 
 /***/ }),
-/* 194 */
+/* 15 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -19304,51 +9237,33 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.Jbig2Image = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _arithmetic_decoder = __w_pdfjs_require__(195);
-
-var _ccitt = __w_pdfjs_require__(192);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+var _util = __w_pdfjs_require__(2);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+var _core_utils = __w_pdfjs_require__(7);
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+var _arithmetic_decoder = __w_pdfjs_require__(16);
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+var _ccitt = __w_pdfjs_require__(13);
 
-var Jbig2Error =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(Jbig2Error, _BaseException);
-
-  function Jbig2Error(msg) {
-    _classCallCheck(this, Jbig2Error);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(Jbig2Error).call(this, "JBIG2 error: 
".concat(msg)));
+class Jbig2Error extends _util.BaseException {
+  constructor(msg) {
+    super(`JBIG2 error: ${msg}`);
   }
 
-  return Jbig2Error;
-}(_util.BaseException);
+}
 
 var Jbig2Image = function Jbig2ImageClosure() {
   function ContextCache() {}
 
   ContextCache.prototype = {
-    getContexts: function getContexts(id) {
+    getContexts(id) {
       if (id in this) {
         return this[id];
       }
 
       return this[id] = new Int8Array(1 << 16);
     }
+
   };
 
   function DecodingContext(data, start, end) {
@@ -19360,12 +9275,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
   DecodingContext.prototype = {
     get decoder() {
       var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);
-      return (0, _util.shadow)(this, 'decoder', decoder);
+      return (0, _util.shadow)(this, "decoder", decoder);
     },
 
     get contextCache() {
       var cache = new ContextCache();
-      return (0, _util.shadow)(this, 'contextCache', cache);
+      return (0, _util.shadow)(this, "contextCache", cache);
     }
 
   };
@@ -19388,11 +9303,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
     var sign = readBits(1);
     var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : 
readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);
-    return sign === 0 ? value : value > 0 ? -value : null;
+
+    if (sign === 0) {
+      return value;
+    } else if (value > 0) {
+      return -value;
+    }
+
+    return null;
   }
 
   function decodeIAID(contextCache, decoder, codeLength) {
-    var contexts = contextCache.getContexts('IAID');
+    var contexts = contextCache.getContexts("IAID");
     var prev = 1;
 
     for (var i = 0; i < codeLength; i++) {
@@ -19404,10 +9326,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
       return prev & (1 << codeLength) - 1;
     }
 
-    return prev & 0x7FFFFFFF;
+    return prev & 0x7fffffff;
   }
 
-  var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 
'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 
'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 
'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 
'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 
'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 
'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 
'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 
'Extension'];
+  var SegmentTypes = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, 
"ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, 
"PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", 
"ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, 
"IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", 
"IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", 
"ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", 
"EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, 
"Extension"];
   var CodingTemplates = [[{
     x: -1,
     y: -2
@@ -19605,12 +9527,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
       y: 1
     }]
   }];
-  var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];
+  var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];
   var RefinementReusedContexts = [0x0020, 0x0008];
 
   function decodeBitmapTemplate0(width, height, decodingContext) {
     var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts('GB');
+    var contexts = decodingContext.contextCache.getContexts("GB");
     var contextLabel,
         i,
         j,
@@ -19619,7 +9541,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         row1,
         row2,
         bitmap = [];
-    var OLD_PIXEL_MASK = 0x7BF7;
+    var OLD_PIXEL_MASK = 0x7bf7;
 
     for (i = 0; i < height; i++) {
       row = bitmap[i] = new Uint8Array(width);
@@ -19638,7 +9560,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
   function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {
     if (mmr) {
-      var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
+      const input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
       return decodeMMRBitmap(input, width, height, false);
     }
 
@@ -19694,7 +9616,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     var row = new Uint8Array(width);
     var bitmap = [];
     var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts('GB');
+    var contexts = decodingContext.contextCache.getContexts("GB");
     var ltp = 0,
         j,
         i0,
@@ -19802,7 +9724,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     var pseudoPixelContext = RefinementReusedContexts[templateIndex];
     var bitmap = [];
     var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts('GR');
+    var contexts = decodingContext.contextCache.getContexts("GR");
     var ltp = 0;
 
     for (var i = 0; i < height; i++) {
@@ -19811,7 +9733,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         ltp ^= sltp;
 
         if (ltp) {
-          throw new Jbig2Error('prediction is not supported');
+          throw new Jbig2Error("prediction is not supported");
         }
       }
 
@@ -19854,15 +9776,15 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
   function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, 
huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {
     if (huffman && refinement) {
-      throw new Jbig2Error('symbol refinement with Huffman is not supported');
+      throw new Jbig2Error("symbol refinement with Huffman is not supported");
     }
 
     var newSymbols = [];
     var currentHeight = 0;
-    var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);
+    var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);
     var decoder = decodingContext.decoder;
     var contextCache = decodingContext.contextCache;
-    var tableB1, symbolWidths;
+    let tableB1, symbolWidths;
 
     if (huffman) {
       tableB1 = getStandardTable(1);
@@ -19871,14 +9793,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     while (newSymbols.length < numberOfNewSymbols) {
-      var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : 
decodeInteger(contextCache, 'IADH', decoder);
+      var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : 
decodeInteger(contextCache, "IADH", decoder);
       currentHeight += deltaHeight;
-      var currentWidth = 0,
+      let currentWidth = 0,
           totalWidth = 0;
-      var firstSymbol = huffman ? symbolWidths.length : 0;
+      const firstSymbol = huffman ? symbolWidths.length : 0;
 
       while (true) {
-        var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : 
decodeInteger(contextCache, 'IADW', decoder);
+        var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : 
decodeInteger(contextCache, "IADW", decoder);
 
         if (deltaWidth === null) {
           break;
@@ -19889,14 +9811,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
         var bitmap;
 
         if (refinement) {
-          var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);
+          var numberOfInstances = decodeInteger(contextCache, "IAAI", decoder);
 
           if (numberOfInstances > 1) {
             bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, 
numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, 
refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);
           } else {
             var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
-            var rdx = decodeInteger(contextCache, 'IARDX', decoder);
-            var rdy = decodeInteger(contextCache, 'IARDY', decoder);
+            var rdx = decodeInteger(contextCache, "IARDX", decoder);
+            var rdy = decodeInteger(contextCache, "IARDY", decoder);
             var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - 
symbols.length];
             bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, 
rdy, false, refinementAt, decodingContext);
           }
@@ -19911,35 +9833,35 @@ var Jbig2Image = function Jbig2ImageClosure() {
       }
 
       if (huffman && !refinement) {
-        var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
+        const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
         huffmanInput.byteAlign();
-        var collectiveBitmap = void 0;
+        let collectiveBitmap;
 
         if (bitmapSize === 0) {
           collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);
         } else {
-          var originalEnd = huffmanInput.end;
-          var bitmapEnd = huffmanInput.position + bitmapSize;
+          const originalEnd = huffmanInput.end;
+          const bitmapEnd = huffmanInput.position + bitmapSize;
           huffmanInput.end = bitmapEnd;
           collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);
           huffmanInput.end = originalEnd;
           huffmanInput.position = bitmapEnd;
         }
 
-        var numberOfSymbolsDecoded = symbolWidths.length;
+        const numberOfSymbolsDecoded = symbolWidths.length;
 
         if (firstSymbol === numberOfSymbolsDecoded - 1) {
           newSymbols.push(collectiveBitmap);
         } else {
-          var _i = void 0,
-              y = void 0,
+          let i,
+              y,
               xMin = 0,
-              xMax = void 0,
-              bitmapWidth = void 0,
-              symbolBitmap = void 0;
+              xMax,
+              bitmapWidth,
+              symbolBitmap;
 
-          for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {
-            bitmapWidth = symbolWidths[_i];
+          for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {
+            bitmapWidth = symbolWidths[i];
             xMax = xMin + bitmapWidth;
             symbolBitmap = [];
 
@@ -19960,7 +9882,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     var totalSymbolsLength = symbols.length + numberOfNewSymbols;
 
     while (flags.length < totalSymbolsLength) {
-      var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);
+      var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, "IAEX", decoder);
 
       while (runLength--) {
         flags.push(currentFlag);
@@ -19986,7 +9908,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
   function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, 
stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, 
huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {
     if (huffman && refinement) {
-      throw new Jbig2Error('refinement with Huffman is not supported');
+      throw new Jbig2Error("refinement with Huffman is not supported");
     }
 
     var bitmap = [];
@@ -20006,36 +9928,36 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
     var decoder = decodingContext.decoder;
     var contextCache = decodingContext.contextCache;
-    var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 
'IADT', decoder);
+    var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 
"IADT", decoder);
     var firstS = 0;
     i = 0;
 
     while (i < numberOfSymbolInstances) {
-      var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 
'IADT', decoder);
+      var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 
"IADT", decoder);
       stripT += deltaT;
-      var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : 
decodeInteger(contextCache, 'IAFS', decoder);
+      var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : 
decodeInteger(contextCache, "IAFS", decoder);
       firstS += deltaFirstS;
       var currentS = firstS;
 
       do {
-        var currentT = 0;
+        let currentT = 0;
 
         if (stripSize > 1) {
-          currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', 
decoder);
+          currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, "IAIT", 
decoder);
         }
 
         var t = stripSize * stripT + currentT;
         var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, 
decoder, symbolCodeLength);
-        var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 
'IARI', decoder));
+        var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 
"IARI", decoder));
         var symbolBitmap = inputSymbols[symbolId];
         var symbolWidth = symbolBitmap[0].length;
         var symbolHeight = symbolBitmap.length;
 
         if (applyRefinement) {
-          var rdw = decodeInteger(contextCache, 'IARDW', decoder);
-          var rdh = decodeInteger(contextCache, 'IARDH', decoder);
-          var rdx = decodeInteger(contextCache, 'IARDX', decoder);
-          var rdy = decodeInteger(contextCache, 'IARDY', decoder);
+          var rdw = decodeInteger(contextCache, "IARDW", decoder);
+          var rdh = decodeInteger(contextCache, "IARDH", decoder);
+          var rdx = decodeInteger(contextCache, "IARDX", decoder);
+          var rdy = decodeInteger(contextCache, "IARDY", decoder);
           symbolWidth += rdw;
           symbolHeight += rdh;
           symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, 
(rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);
@@ -20072,7 +9994,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
                 break;
 
               default:
-                throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
+                throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
             }
           }
 
@@ -20103,7 +10025,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
                 break;
 
               default:
-                throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
+                throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
             }
           }
 
@@ -20111,7 +10033,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         }
 
         i++;
-        var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 
'IADS', decoder);
+        var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 
"IADS", decoder);
 
         if (deltaS === null) {
           break;
@@ -20125,7 +10047,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, 
decodingContext) {
-    var at = [];
+    const at = [];
 
     if (!mmr) {
       at.push({
@@ -20149,44 +10071,38 @@ var Jbig2Image = function Jbig2ImageClosure() {
       }
     }
 
-    var collectiveWidth = (maxPatternIndex + 1) * patternWidth;
-    var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, 
decodingContext);
-    var patterns = [],
-        i = 0,
-        patternBitmap,
-        xMin,
-        xMax,
-        y;
+    const collectiveWidth = (maxPatternIndex + 1) * patternWidth;
+    const collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, 
decodingContext);
+    const patterns = [];
 
-    while (i <= maxPatternIndex) {
-      patternBitmap = [];
-      xMin = patternWidth * i;
-      xMax = xMin + patternWidth;
+    for (let i = 0; i <= maxPatternIndex; i++) {
+      const patternBitmap = [];
+      const xMin = patternWidth * i;
+      const xMax = xMin + patternWidth;
 
-      for (y = 0; y < patternHeight; y++) {
+      for (let y = 0; y < patternHeight; y++) {
         patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
       }
 
       patterns.push(patternBitmap);
-      i++;
     }
 
     return patterns;
   }
 
   function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, 
enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, 
decodingContext) {
-    var skip = null;
+    const skip = null;
 
     if (enableSkip) {
-      throw new Jbig2Error('skip is not supported');
+      throw new Jbig2Error("skip is not supported");
     }
 
     if (combinationOperator !== 0) {
-      throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');
+      throw new Jbig2Error("operator " + combinationOperator + " is not supported in halftone region");
     }
 
-    var regionBitmap = [];
-    var i, j, row;
+    const regionBitmap = [];
+    let i, j, row;
 
     for (i = 0; i < regionHeight; i++) {
       row = new Uint8Array(regionWidth);
@@ -20200,12 +10116,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
       regionBitmap.push(row);
     }
 
-    var numberOfPatterns = patterns.length;
-    var pattern0 = patterns[0];
-    var patternWidth = pattern0[0].length,
-        patternHeight = pattern0.length;
-    var bitsPerValue = (0, _util.log2)(numberOfPatterns);
-    var at = [];
+    const numberOfPatterns = patterns.length;
+    const pattern0 = patterns[0];
+    const patternWidth = pattern0[0].length,
+          patternHeight = pattern0.length;
+    const bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);
+    const at = [];
 
     if (!mmr) {
       at.push({
@@ -20229,9 +10145,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
       }
     }
 
-    var grayScaleBitPlanes = [],
-        mmrInput,
-        bitmap;
+    const grayScaleBitPlanes = [];
+    let mmrInput, bitmap;
 
     if (mmr) {
       mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
@@ -20247,7 +10162,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
       grayScaleBitPlanes[i] = bitmap;
     }
 
-    var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
+    let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
 
     for (mg = 0; mg < gridHeight; mg++) {
       for (ng = 0; ng < gridWidth; ng++) {
@@ -20273,8 +10188,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
             }
           }
         } else {
-          var regionX = void 0,
-              regionY = void 0;
+          let regionX, regionY;
 
           for (i = 0; i < patternHeight; i++) {
             regionY = y + i;
@@ -20303,12 +10217,12 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
   function readSegmentHeader(data, start) {
     var segmentHeader = {};
-    segmentHeader.number = (0, _util.readUint32)(data, start);
+    segmentHeader.number = (0, _core_utils.readUint32)(data, start);
     var flags = data[start + 4];
-    var segmentType = flags & 0x3F;
+    var segmentType = flags & 0x3f;
 
     if (!SegmentTypes[segmentType]) {
-      throw new Jbig2Error('invalid segment type: ' + segmentType);
+      throw new Jbig2Error("invalid segment type: " + segmentType);
     }
 
     segmentHeader.type = segmentType;
@@ -20321,7 +10235,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     var position = start + 6;
 
     if (referredFlags === 7) {
-      referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;
+      referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;
       position += 3;
       var bytes = referredToCount + 7 >> 3;
       retainBits[0] = data[position++];
@@ -20330,16 +10244,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
         retainBits.push(data[position++]);
       }
     } else if (referredFlags === 5 || referredFlags === 6) {
-      throw new Jbig2Error('invalid referred-to flags');
+      throw new Jbig2Error("invalid referred-to flags");
     }
 
     segmentHeader.retainBits = retainBits;
-    var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 
4;
+    let referredToSegmentNumberSize = 4;
+
+    if (segmentHeader.number <= 256) {
+      referredToSegmentNumberSize = 1;
+    } else if (segmentHeader.number <= 65536) {
+      referredToSegmentNumberSize = 2;
+    }
+
     var referredTo = [];
     var i, ii;
 
     for (i = 0; i < referredToCount; i++) {
-      var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? 
(0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);
+      let number;
+
+      if (referredToSegmentNumberSize === 1) {
+        number = data[position];
+      } else if (referredToSegmentNumberSize === 2) {
+        number = (0, _core_utils.readUint16)(data, position);
+      } else {
+        number = (0, _core_utils.readUint32)(data, position);
+      }
+
       referredTo.push(number);
       position += referredToSegmentNumberSize;
     }
@@ -20349,14 +10279,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
     if (!pageAssociationFieldSize) {
       segmentHeader.pageAssociation = data[position++];
     } else {
-      segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);
+      segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);
       position += 4;
     }
 
-    segmentHeader.length = (0, _util.readUint32)(data, position);
+    segmentHeader.length = (0, _core_utils.readUint32)(data, position);
     position += 4;
 
-    if (segmentHeader.length === 0xFFFFFFFF) {
+    if (segmentHeader.length === 0xffffffff) {
       if (segmentType === 38) {
         var genericRegionInfo = readRegionSegmentInformation(data, position);
         var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];
@@ -20365,14 +10295,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
         var searchPattern = new Uint8Array(searchPatternLength);
 
         if (!genericRegionMmr) {
-          searchPattern[0] = 0xFF;
-          searchPattern[1] = 0xAC;
+          searchPattern[0] = 0xff;
+          searchPattern[1] = 0xac;
         }
 
-        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;
-        searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;
-        searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;
-        searchPattern[5] = genericRegionInfo.height & 0xFF;
+        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;
+        searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;
+        searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;
+        searchPattern[5] = genericRegionInfo.height & 0xff;
 
         for (i = position, ii = data.length; i < ii; i++) {
           var j = 0;
@@ -20387,11 +10317,11 @@ var Jbig2Image = function Jbig2ImageClosure() {
           }
         }
 
-        if (segmentHeader.length === 0xFFFFFFFF) {
-          throw new Jbig2Error('segment end was not found');
+        if (segmentHeader.length === 0xffffffff) {
+          throw new Jbig2Error("segment end was not found");
         }
       } else {
-        throw new Jbig2Error('invalid unknown segment length');
+        throw new Jbig2Error("invalid unknown segment length");
       }
     }
 
@@ -20408,7 +10338,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
       position = segmentHeader.headerEnd;
       var segment = {
         header: segmentHeader,
-        data: data
+        data
       };
 
       if (!header.randomAccess) {
@@ -20437,10 +10367,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
   function readRegionSegmentInformation(data, start) {
     return {
-      width: (0, _util.readUint32)(data, start),
-      height: (0, _util.readUint32)(data, start + 4),
-      x: (0, _util.readUint32)(data, start + 8),
-      y: (0, _util.readUint32)(data, start + 12),
+      width: (0, _core_utils.readUint32)(data, start),
+      height: (0, _core_utils.readUint32)(data, start + 4),
+      x: (0, _core_utils.readUint32)(data, start + 8),
+      y: (0, _core_utils.readUint32)(data, start + 12),
       combinationOperator: data[start + 16] & 7
     };
   }
@@ -20457,7 +10387,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     switch (header.type) {
       case 0:
         var dictionary = {};
-        var dictionaryFlags = (0, _util.readUint16)(data, position);
+        var dictionaryFlags = (0, _core_utils.readUint16)(data, position);
         dictionary.huffman = !!(dictionaryFlags & 1);
         dictionary.refinement = !!(dictionaryFlags & 2);
         dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;
@@ -20476,8 +10406,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
           for (i = 0; i < atLength; i++) {
             at.push({
-              x: (0, _util.readInt8)(data, position),
-              y: (0, _util.readInt8)(data, position + 1)
+              x: (0, _core_utils.readInt8)(data, position),
+              y: (0, _core_utils.readInt8)(data, position + 1)
             });
             position += 2;
           }
@@ -20490,8 +10420,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
           for (i = 0; i < 2; i++) {
             at.push({
-              x: (0, _util.readInt8)(data, position),
-              y: (0, _util.readInt8)(data, position + 1)
+              x: (0, _core_utils.readInt8)(data, position),
+              y: (0, _core_utils.readInt8)(data, position + 1)
             });
             position += 2;
           }
@@ -20499,9 +10429,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
           dictionary.refinementAt = at;
         }
 
-        dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);
+        dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);
         position += 4;
-        dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);
+        dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);
         position += 4;
         args = [dictionary, header.number, header.referredTo, data, position, end];
         break;
@@ -20511,7 +10441,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         var textRegion = {};
         textRegion.info = readRegionSegmentInformation(data, position);
         position += RegionSegmentInformationFieldLength;
-        var textRegionSegmentFlags = (0, _util.readUint16)(data, position);
+        var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);
         position += 2;
         textRegion.huffman = !!(textRegionSegmentFlags & 1);
         textRegion.refinement = !!(textRegionSegmentFlags & 2);
@@ -20525,7 +10455,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;
 
         if (textRegion.huffman) {
-          var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);
+          var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);
           position += 2;
           textRegion.huffmanFS = textRegionHuffmanFlags & 3;
           textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;
@@ -20542,8 +10472,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
           for (i = 0; i < 2; i++) {
             at.push({
-              x: (0, _util.readInt8)(data, position),
-              y: (0, _util.readInt8)(data, position + 1)
+              x: (0, _core_utils.readInt8)(data, position),
+              y: (0, _core_utils.readInt8)(data, position + 1)
             });
             position += 2;
           }
@@ -20551,45 +10481,45 @@ var Jbig2Image = function Jbig2ImageClosure() {
           textRegion.refinementAt = at;
         }
 
-        textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);
+        textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);
         position += 4;
         args = [textRegion, header.referredTo, data, position, end];
         break;
 
       case 16:
-        var patternDictionary = {};
-        var patternDictionaryFlags = data[position++];
+        const patternDictionary = {};
+        const patternDictionaryFlags = data[position++];
         patternDictionary.mmr = !!(patternDictionaryFlags & 1);
         patternDictionary.template = patternDictionaryFlags >> 1 & 3;
         patternDictionary.patternWidth = data[position++];
         patternDictionary.patternHeight = data[position++];
-        patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);
+        patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);
         position += 4;
         args = [patternDictionary, header.number, data, position, end];
         break;
 
       case 22:
       case 23:
-        var halftoneRegion = {};
+        const halftoneRegion = {};
         halftoneRegion.info = readRegionSegmentInformation(data, position);
         position += RegionSegmentInformationFieldLength;
-        var halftoneRegionFlags = data[position++];
+        const halftoneRegionFlags = data[position++];
         halftoneRegion.mmr = !!(halftoneRegionFlags & 1);
         halftoneRegion.template = halftoneRegionFlags >> 1 & 3;
         halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);
         halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;
         halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;
-        halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);
+        halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);
         position += 4;
-        halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);
+        halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);
         position += 4;
-        halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
+        halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
         position += 4;
-        halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;
+        halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
         position += 4;
-        halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);
+        halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);
         position += 2;
-        halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);
+        halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);
         position += 2;
         args = [halftoneRegion, header.referredTo, data, position, end];
         break;
@@ -20610,8 +10540,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
           for (i = 0; i < atLength; i++) {
             at.push({
-              x: (0, _util.readInt8)(data, position),
-              y: (0, _util.readInt8)(data, position + 1)
+              x: (0, _core_utils.readInt8)(data, position),
+              y: (0, _core_utils.readInt8)(data, position + 1)
             });
             position += 2;
           }
@@ -20624,18 +10554,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
       case 48:
         var pageInfo = {
-          width: (0, _util.readUint32)(data, position),
-          height: (0, _util.readUint32)(data, position + 4),
-          resolutionX: (0, _util.readUint32)(data, position + 8),
-          resolutionY: (0, _util.readUint32)(data, position + 12)
+          width: (0, _core_utils.readUint32)(data, position),
+          height: (0, _core_utils.readUint32)(data, position + 4),
+          resolutionX: (0, _core_utils.readUint32)(data, position + 8),
+          resolutionY: (0, _core_utils.readUint32)(data, position + 12)
         };
 
-        if (pageInfo.height === 0xFFFFFFFF) {
+        if (pageInfo.height === 0xffffffff) {
           delete pageInfo.height;
         }
 
         var pageSegmentFlags = data[position + 16];
-        (0, _util.readUint16)(data, position + 17);
+        (0, _core_utils.readUint16)(data, position + 17);
         pageInfo.lossless = !!(pageSegmentFlags & 1);
         pageInfo.refinement = !!(pageSegmentFlags & 2);
         pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;
@@ -20662,10 +10592,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error("segment type ".concat(header.typeName, "(").concat(header.type, ")") + ' is 
not implemented');
+        throw new Jbig2Error(`segment type ${header.typeName}(${header.type})` + " is not implemented");
     }
 
-    var callbackName = 'on' + header.typeName;
+    var callbackName = "on" + header.typeName;
 
     if (callbackName in visitor) {
       visitor[callbackName].apply(visitor, args);
@@ -20691,39 +10621,40 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   function parseJbig2(data) {
-    var position = 0,
-        end = data.length;
+    const end = data.length;
+    let position = 0;
 
-    if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || 
data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 
6] !== 0x1A || data[position + 7] !== 0x0A) {
-      throw new Jbig2Error('parseJbig2 - invalid header.');
+    if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || 
data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 
6] !== 0x1a || data[position + 7] !== 0x0a) {
+      throw new Jbig2Error("parseJbig2 - invalid header.");
     }
 
-    var header = Object.create(null);
+    const header = Object.create(null);
     position += 8;
-    var flags = data[position++];
+    const flags = data[position++];
     header.randomAccess = !(flags & 1);
 
     if (!(flags & 2)) {
-      header.numberOfPages = (0, _util.readUint32)(data, position);
+      header.numberOfPages = (0, _core_utils.readUint32)(data, position);
       position += 4;
     }
 
-    var segments = readSegments(header, data, position, end);
-    var visitor = new SimpleSegmentVisitor();
+    const segments = readSegments(header, data, position, end);
+    const visitor = new SimpleSegmentVisitor();
     processSegments(segments, visitor);
-    var _visitor$currentPageI = visitor.currentPageInfo,
-        width = _visitor$currentPageI.width,
-        height = _visitor$currentPageI.height;
-    var bitPacked = visitor.buffer;
-    var imgData = new Uint8ClampedArray(width * height);
-    var q = 0,
+    const {
+      width,
+      height
+    } = visitor.currentPageInfo;
+    const bitPacked = visitor.buffer;
+    const imgData = new Uint8ClampedArray(width * height);
+    let q = 0,
         k = 0;
 
-    for (var i = 0; i < height; i++) {
-      var mask = 0,
-          buffer = void 0;
+    for (let i = 0; i < height; i++) {
+      let mask = 0,
+          buffer;
 
-      for (var j = 0; j < width; j++) {
+      for (let j = 0; j < width; j++) {
         if (!mask) {
           mask = 128;
           buffer = bitPacked[k++];
@@ -20735,9 +10666,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     return {
-      imgData: imgData,
-      width: width,
-      height: height
+      imgData,
+      width,
+      height
     };
   }
 
@@ -20751,7 +10682,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
       if (info.defaultPixelValue) {
         for (var i = 0, ii = buffer.length; i < ii; i++) {
-          buffer[i] = 0xFF;
+          buffer[i] = 0xff;
         }
       }
 
@@ -20816,7 +10747,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
           break;
 
         default:
-          throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
+          throw new Jbig2Error(`operator ${combinationOperator} is not supported`);
       }
     },
     onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, 
end) {
@@ -20829,7 +10760,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
       this.onImmediateGenericRegion.apply(this, arguments);
     },
     onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, 
referredSegments, data, start, end) {
-      var huffmanTables, huffmanInput;
+      let huffmanTables, huffmanInput;
 
       if (dictionary.huffman) {
         huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);
@@ -20845,7 +10776,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
       var inputSymbols = [];
 
       for (var i = 0, ii = referredSegments.length; i < ii; i++) {
-        var referredSymbols = symbols[referredSegments[i]];
+        const referredSymbols = symbols[referredSegments[i]];
 
         if (referredSymbols) {
           inputSymbols = inputSymbols.concat(referredSymbols);
@@ -20857,19 +10788,19 @@ var Jbig2Image = function Jbig2ImageClosure() {
     },
     onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, 
data, start, end) {
       var regionInfo = region.info;
-      var huffmanTables, huffmanInput;
+      let huffmanTables, huffmanInput;
       var symbols = this.symbols;
       var inputSymbols = [];
 
       for (var i = 0, ii = referredSegments.length; i < ii; i++) {
-        var referredSymbols = symbols[referredSegments[i]];
+        const referredSymbols = symbols[referredSegments[i]];
 
         if (referredSymbols) {
           inputSymbols = inputSymbols.concat(referredSymbols);
         }
       }
 
-      var symbolCodeLength = (0, _util.log2)(inputSymbols.length);
+      var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);
 
       if (region.huffman) {
         huffmanInput = new Reader(data, start, end);
@@ -20883,28 +10814,32 @@ var Jbig2Image = function Jbig2ImageClosure() {
     onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
       this.onImmediateTextRegion.apply(this, arguments);
     },
-    onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {
-      var patterns = this.patterns;
+
+    onPatternDictionary(dictionary, currentSegment, data, start, end) {
+      let patterns = this.patterns;
 
       if (!patterns) {
         this.patterns = patterns = {};
       }
 
-      var decodingContext = new DecodingContext(data, start, end);
+      const decodingContext = new DecodingContext(data, start, end);
       patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, 
dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);
     },
-    onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, 
end) {
-      var patterns = this.patterns[referredSegments[0]];
-      var regionInfo = region.info;
-      var decodingContext = new DecodingContext(data, start, end);
-      var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, 
regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, 
region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, 
decodingContext);
+
+    onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
+      const patterns = this.patterns[referredSegments[0]];
+      const regionInfo = region.info;
+      const decodingContext = new DecodingContext(data, start, end);
+      const bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, 
regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, 
region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, 
decodingContext);
       this.drawBitmap(regionInfo, bitmap);
     },
-    onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {
+
+    onImmediateLosslessHalftoneRegion() {
       this.onImmediateHalftoneRegion.apply(this, arguments);
     },
-    onTables: function onTables(currentSegment, data, start, end) {
-      var customTables = this.customTables;
+
+    onTables(currentSegment, data, start, end) {
+      let customTables = this.customTables;
 
       if (!customTables) {
         this.customTables = customTables = {};
@@ -20912,6 +10847,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
       customTables[currentSegment] = decodeTablesSegment(data, start, end);
     }
+
   };
 
   function HuffmanLine(lineData) {
@@ -20928,7 +10864,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
       this.prefixLength = lineData[1];
       this.rangeLength = lineData[2];
       this.prefixCode = lineData[3];
-      this.isLowerRange = lineData[4] === 'lower';
+      this.isLowerRange = lineData[4] === "lower";
     }
   }
 
@@ -20947,13 +10883,13 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   HuffmanTreeNode.prototype = {
-    buildTree: function buildTree(line, shift) {
-      var bit = line.prefixCode >> shift & 1;
+    buildTree(line, shift) {
+      const bit = line.prefixCode >> shift & 1;
 
       if (shift <= 0) {
         this.children[bit] = new HuffmanTreeNode(line);
       } else {
-        var node = this.children[bit];
+        let node = this.children[bit];
 
         if (!node) {
           this.children[bit] = node = new HuffmanTreeNode(null);
@@ -20962,24 +10898,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
         node.buildTree(line, shift - 1);
       }
     },
-    decodeNode: function decodeNode(reader) {
+
+    decodeNode(reader) {
       if (this.isLeaf) {
         if (this.isOOB) {
           return null;
         }
 
-        var htOffset = reader.readBits(this.rangeLength);
+        const htOffset = reader.readBits(this.rangeLength);
         return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);
       }
 
-      var node = this.children[reader.readBit()];
+      const node = this.children[reader.readBit()];
 
       if (!node) {
-        throw new Jbig2Error('invalid Huffman data');
+        throw new Jbig2Error("invalid Huffman data");
       }
 
       return node.decodeNode(reader);
     }
+
   };
 
   function HuffmanTable(lines, prefixCodesDone) {
@@ -20988,12 +10926,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     this.rootNode = new HuffmanTreeNode(null);
-    var i,
-        ii = lines.length,
-        line;
 
-    for (i = 0; i < ii; i++) {
-      line = lines[i];
+    for (let i = 0, ii = lines.length; i < ii; i++) {
+      const line = lines[i];
 
       if (line.prefixLength > 0) {
         this.rootNode.buildTree(line, line.prefixLength - 1);
@@ -21002,25 +10937,25 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   HuffmanTable.prototype = {
-    decode: function decode(reader) {
+    decode(reader) {
       return this.rootNode.decodeNode(reader);
     },
-    assignPrefixCodes: function assignPrefixCodes(lines) {
-      var linesLength = lines.length,
-          prefixLengthMax = 0,
-          i;
 
-      for (i = 0; i < linesLength; i++) {
+    assignPrefixCodes(lines) {
+      const linesLength = lines.length;
+      let prefixLengthMax = 0;
+
+      for (let i = 0; i < linesLength; i++) {
         prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);
       }
 
-      var histogram = new Uint32Array(prefixLengthMax + 1);
+      const histogram = new Uint32Array(prefixLengthMax + 1);
 
-      for (i = 0; i < linesLength; i++) {
+      for (let i = 0; i < linesLength; i++) {
         histogram[lines[i].prefixLength]++;
       }
 
-      var currentLength = 1,
+      let currentLength = 1,
           firstCode = 0,
           currentCode,
           currentTemp,
@@ -21046,17 +10981,18 @@ var Jbig2Image = function Jbig2ImageClosure() {
         currentLength++;
       }
     }
+
   };
 
   function decodeTablesSegment(data, start, end) {
-    var flags = data[start];
-    var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;
-    var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;
-    var reader = new Reader(data, start + 9, end);
-    var prefixSizeBits = (flags >> 1 & 7) + 1;
-    var rangeSizeBits = (flags >> 4 & 7) + 1;
-    var lines = [];
-    var prefixLength,
+    const flags = data[start];
+    const lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;
+    const highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;
+    const reader = new Reader(data, start + 9, end);
+    const prefixSizeBits = (flags >> 1 & 7) + 1;
+    const rangeSizeBits = (flags >> 4 & 7) + 1;
+    const lines = [];
+    let prefixLength,
         rangeLength,
         currentRangeLow = lowestValue;
 
@@ -21068,7 +11004,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
     } while (currentRangeLow < highestValue);
 
     prefixLength = reader.readBits(prefixSizeBits);
-    lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));
+    lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, "lower"]));
     prefixLength = reader.readBits(prefixSizeBits);
     lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));
 
@@ -21080,16 +11016,16 @@ var Jbig2Image = function Jbig2ImageClosure() {
     return new HuffmanTable(lines, false);
   }
 
-  var standardTablesCache = {};
+  const standardTablesCache = {};
 
   function getStandardTable(number) {
-    var table = standardTablesCache[number];
+    let table = standardTablesCache[number];
 
     if (table) {
       return table;
     }
 
-    var lines;
+    let lines;
 
     switch (number) {
       case 1:
@@ -21097,51 +11033,51 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       case 2:
-        lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 
32, 0x3E], [6, 0x3F]];
+        lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 
32, 0x3e], [6, 0x3f]];
         break;
 
       case 3:
-        lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 
6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];
+        lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 
6, 0x1e], [-257, 8, 32, 0xff, "lower"], [75, 7, 32, 0x7e], [6, 0x3e]];
         break;
 
       case 4:
-        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 
32, 0x1F]];
+        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 
32, 0x1f]];
         break;
 
       case 5:
-        lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 
6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];
+        lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 
6, 0x1e], [-256, 7, 32, 0x7f, "lower"], [76, 6, 32, 0x3e]];
         break;
 
       case 6:
-        lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 
6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 
9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];
+        lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 
6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 
9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, "lower"], [2048, 6, 32, 0x3f]];
         break;
 
       case 7:
-        lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 
0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 
0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];
+        lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 
0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 
0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, "lower"], [2048, 5, 32, 0x1f]];
         break;
 
       case 8:
-        lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 
0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], 
[22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], 
[646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];
+        lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 
0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], 
[22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], 
[646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, "lower"], [1670, 9, 32, 0x1ff], [2, 0x1]];
         break;
 
       case 9:
-        lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 
0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], 
[39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], 
[779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];
+        lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 
0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], 
[39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], 
[779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, "lower"], [3339, 9, 32, 0x1ff], [2, 0x0]];
         break;
 
       case 10:
-        lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], 
[2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 
6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], 
[2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];
+        lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], 
[2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 
6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], 
[2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, "lower"], [4166, 8, 32, 0xff], [2, 0x2]];
         break;
 
       case 11:
-        lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 
0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 
0x7E], [141, 7, 32, 0x7F]];
+        lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 
0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 
0x7e], [141, 7, 32, 0x7f]];
         break;
 
       case 12:
-        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 
0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 
0xFE], [73, 8, 32, 0xFF]];
+        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 
0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 
0xfe], [73, 8, 32, 0xff]];
         break;
 
       case 13:
-        lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 
0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 
0x7E], [141, 7, 32, 0x7F]];
+        lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 
0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 
0x7e], [141, 7, 32, 0x7f]];
         break;
 
       case 14:
@@ -21149,17 +11085,14 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       case 15:
-        lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], 
[0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 
32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];
+        lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], 
[0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 
32, 0x7e, "lower"], [25, 7, 32, 0x7f]];
         break;
 
       default:
-        throw new Jbig2Error("standard table B.".concat(number, " does not exist"));
+        throw new Jbig2Error(`standard table B.${number} does not exist`);
     }
 
-    var length = lines.length,
-        i;
-
-    for (i = 0; i < length; i++) {
+    for (let i = 0, ii = lines.length; i < ii; i++) {
       lines[i] = new HuffmanLine(lines[i]);
     }
 
@@ -21178,22 +11111,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   Reader.prototype = {
-    readBit: function readBit() {
+    readBit() {
       if (this.shift < 0) {
         if (this.position >= this.end) {
-          throw new Jbig2Error('end of data while reading bit');
+          throw new Jbig2Error("end of data while reading bit");
         }
 
         this.currentByte = this.data[this.position++];
         this.shift = 7;
       }
 
-      var bit = this.currentByte >> this.shift & 1;
+      const bit = this.currentByte >> this.shift & 1;
       this.shift--;
       return bit;
     },
-    readBits: function readBits(numBits) {
-      var result = 0,
+
+    readBits(numBits) {
+      let result = 0,
           i;
 
       for (i = numBits - 1; i >= 0; i--) {
@@ -21202,26 +11136,26 @@ var Jbig2Image = function Jbig2ImageClosure() {
 
       return result;
     },
-    byteAlign: function byteAlign() {
+
+    byteAlign() {
       this.shift = -1;
     },
-    next: function next() {
+
+    next() {
       if (this.position >= this.end) {
         return -1;
       }
 
       return this.data[this.position++];
     }
+
   };
 
   function getCustomHuffmanTable(index, referredTo, customTables) {
-    var currentIndex = 0,
-        i,
-        ii = referredTo.length,
-        table;
+    let currentIndex = 0;
 
-    for (i = 0; i < ii; i++) {
-      table = customTables[referredTo[i]];
+    for (let i = 0, ii = referredTo.length; i < ii; i++) {
+      const table = customTables[referredTo[i]];
 
       if (table) {
         if (index === currentIndex) {
@@ -21232,34 +11166,30 @@ var Jbig2Image = function Jbig2ImageClosure() {
       }
     }
 
-    throw new Jbig2Error('can\'t find custom Huffman table');
+    throw new Jbig2Error("can't find custom Huffman table");
   }
 
   function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {
-    var codes = [],
-        i,
-        codeLength;
+    const codes = [];
 
-    for (i = 0; i <= 34; i++) {
-      codeLength = reader.readBits(4);
+    for (let i = 0; i <= 34; i++) {
+      const codeLength = reader.readBits(4);
       codes.push(new HuffmanLine([i, codeLength, 0, 0]));
     }
 
-    var runCodesTable = new HuffmanTable(codes, false);
+    const runCodesTable = new HuffmanTable(codes, false);
     codes.length = 0;
 
-    for (i = 0; i < numberOfSymbols;) {
-      codeLength = runCodesTable.decode(reader);
+    for (let i = 0; i < numberOfSymbols;) {
+      const codeLength = runCodesTable.decode(reader);
 
       if (codeLength >= 32) {
-        var repeatedLength = void 0,
-            numberOfRepeats = void 0,
-            j = void 0;
+        let repeatedLength, numberOfRepeats, j;
 
         switch (codeLength) {
           case 32:
             if (i === 0) {
-              throw new Jbig2Error('no previous value in symbol ID table');
+              throw new Jbig2Error("no previous value in symbol ID table");
             }
 
             numberOfRepeats = reader.readBits(2) + 3;
@@ -21277,7 +11207,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
             break;
 
           default:
-            throw new Jbig2Error('invalid code length in symbol ID table');
+            throw new Jbig2Error("invalid code length in symbol ID table");
         }
 
         for (j = 0; j < numberOfRepeats; j++) {
@@ -21291,8 +11221,8 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     reader.byteAlign();
-    var symbolIDTable = new HuffmanTable(codes, false);
-    var customIndex = 0,
+    const symbolIDTable = new HuffmanTable(codes, false);
+    let customIndex = 0,
         tableFirstS,
         tableDeltaS,
         tableDeltaT;
@@ -21309,7 +11239,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error('invalid Huffman FS selector');
+        throw new Jbig2Error("invalid Huffman FS selector");
     }
 
     switch (textRegion.huffmanDS) {
@@ -21325,7 +11255,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error('invalid Huffman DS selector');
+        throw new Jbig2Error("invalid Huffman DS selector");
     }
 
     switch (textRegion.huffmanDT) {
@@ -21341,23 +11271,23 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error('invalid Huffman DT selector');
+        throw new Jbig2Error("invalid Huffman DT selector");
     }
 
     if (textRegion.refinement) {
-      throw new Jbig2Error('refinement with Huffman is not supported');
+      throw new Jbig2Error("refinement with Huffman is not supported");
     }
 
     return {
-      symbolIDTable: symbolIDTable,
-      tableFirstS: tableFirstS,
-      tableDeltaS: tableDeltaS,
-      tableDeltaT: tableDeltaT
+      symbolIDTable,
+      tableFirstS,
+      tableDeltaS,
+      tableDeltaT
     };
   }
 
   function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {
-    var customIndex = 0,
+    let customIndex = 0,
         tableDeltaHeight,
         tableDeltaWidth;
 
@@ -21373,7 +11303,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error('invalid Huffman DH selector');
+        throw new Jbig2Error("invalid Huffman DH selector");
     }
 
     switch (dictionary.huffmanDWSelector) {
@@ -21388,10 +11318,10 @@ var Jbig2Image = function Jbig2ImageClosure() {
         break;
 
       default:
-        throw new Jbig2Error('invalid Huffman DW selector');
+        throw new Jbig2Error("invalid Huffman DW selector");
     }
 
-    var tableBitmapSize, tableAggregateInstances;
+    let tableBitmapSize, tableAggregateInstances;
 
     if (dictionary.bitmapSizeSelector) {
       tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);
@@ -21407,24 +11337,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     return {
-      tableDeltaHeight: tableDeltaHeight,
-      tableDeltaWidth: tableDeltaWidth,
-      tableBitmapSize: tableBitmapSize,
-      tableAggregateInstances: tableAggregateInstances
+      tableDeltaHeight,
+      tableDeltaWidth,
+      tableBitmapSize,
+      tableAggregateInstances
     };
   }
 
   function readUncompressedBitmap(reader, width, height) {
-    var bitmap = [],
-        x,
-        y,
-        row;
+    const bitmap = [];
 
-    for (y = 0; y < height; y++) {
-      row = new Uint8Array(width);
+    for (let y = 0; y < height; y++) {
+      const row = new Uint8Array(width);
       bitmap.push(row);
 
-      for (x = 0; x < width; x++) {
+      for (let x = 0; x < width; x++) {
         row[x] = reader.readBit();
       }
 
@@ -21435,28 +11362,24 @@ var Jbig2Image = function Jbig2ImageClosure() {
   }
 
   function decodeMMRBitmap(input, width, height, endOfBlock) {
-    var params = {
+    const params = {
       K: -1,
       Columns: width,
       Rows: height,
       BlackIs1: true,
       EndOfBlock: endOfBlock
     };
-    var decoder = new _ccitt.CCITTFaxDecoder(input, params);
-    var bitmap = [],
-        x,
-        y,
-        row,
-        currentByte,
-        shift,
+    const decoder = new _ccitt.CCITTFaxDecoder(input, params);
+    const bitmap = [];
+    let currentByte,
         eof = false;
 
-    for (y = 0; y < height; y++) {
-      row = new Uint8Array(width);
+    for (let y = 0; y < height; y++) {
+      const row = new Uint8Array(width);
       bitmap.push(row);
-      shift = -1;
+      let shift = -1;
 
-      for (x = 0; x < width; x++) {
+      for (let x = 0; x < width; x++) {
         if (shift < 0) {
           currentByte = decoder.readNextChar();
 
@@ -21474,9 +11397,9 @@ var Jbig2Image = function Jbig2ImageClosure() {
     }
 
     if (endOfBlock && !eof) {
-      var lookForEOFLimit = 5;
+      const lookForEOFLimit = 5;
 
-      for (var i = 0; i < lookForEOFLimit; i++) {
+      for (let i = 0; i < lookForEOFLimit; i++) {
         if (decoder.readNextChar() === -1) {
           break;
         }
@@ -21489,19 +11412,21 @@ var Jbig2Image = function Jbig2ImageClosure() {
   function Jbig2Image() {}
 
   Jbig2Image.prototype = {
-    parseChunks: function parseChunks(chunks) {
+    parseChunks(chunks) {
       return parseJbig2Chunks(chunks);
     },
-    parse: function parse(data) {
-      var _parseJbig = parseJbig2(data),
-          imgData = _parseJbig.imgData,
-          width = _parseJbig.width,
-          height = _parseJbig.height;
 
+    parse(data) {
+      const {
+        imgData,
+        width,
+        height
+      } = parseJbig2(data);
       this.width = width;
       this.height = height;
       return imgData;
     }
+
   };
   return Jbig2Image;
 }();
@@ -21509,7 +11434,7 @@ var Jbig2Image = function Jbig2ImageClosure() {
 exports.Jbig2Image = Jbig2Image;
 
 /***/ }),
-/* 195 */
+/* 16 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -21517,16 +11442,9 @@ exports.Jbig2Image = Jbig2Image;
 
 Object.defineProperty(exports, "__esModule", {
   value: true
-});
-exports.ArithmeticDecoder = 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); return Constructor; }
-
-var QeTable = [{
+});
+exports.ArithmeticDecoder = void 0;
+const QeTable = [{
   qe: 0x5601,
   nmps: 1,
   nlps: 1,
@@ -21542,7 +11460,7 @@ var QeTable = [{
   nlps: 9,
   switchFlag: 0
 }, {
-  qe: 0x0AC1,
+  qe: 0x0ac1,
   nmps: 4,
   nlps: 12,
   switchFlag: 0
@@ -21587,7 +11505,7 @@ var QeTable = [{
   nlps: 18,
   switchFlag: 0
 }, {
-  qe: 0x1C01,
+  qe: 0x1c01,
   nmps: 13,
   nlps: 20,
   switchFlag: 0
@@ -21647,7 +11565,7 @@ var QeTable = [{
   nlps: 21,
   switchFlag: 0
 }, {
-  qe: 0x1C01,
+  qe: 0x1c01,
   nmps: 25,
   nlps: 22,
   switchFlag: 0
@@ -21677,17 +11595,17 @@ var QeTable = [{
   nlps: 27,
   switchFlag: 0
 }, {
-  qe: 0x0AC1,
+  qe: 0x0ac1,
   nmps: 31,
   nlps: 28,
   switchFlag: 0
 }, {
-  qe: 0x09C1,
+  qe: 0x09c1,
   nmps: 32,
   nlps: 29,
   switchFlag: 0
 }, {
-  qe: 0x08A1,
+  qe: 0x08a1,
   nmps: 33,
   nlps: 30,
   switchFlag: 0
@@ -21702,7 +11620,7 @@ var QeTable = [{
   nlps: 32,
   switchFlag: 0
 }, {
-  qe: 0x02A1,
+  qe: 0x02a1,
   nmps: 36,
   nlps: 33,
   switchFlag: 0
@@ -21763,123 +11681,114 @@ var QeTable = [{
   switchFlag: 0
 }];
 
-var ArithmeticDecoder =
-/*#__PURE__*/
-function () {
-  function ArithmeticDecoder(data, start, end) {
-    _classCallCheck(this, ArithmeticDecoder);
-
+class ArithmeticDecoder {
+  constructor(data, start, end) {
     this.data = data;
     this.bp = start;
     this.dataEnd = end;
     this.chigh = data[start];
     this.clow = 0;
     this.byteIn();
-    this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F;
-    this.clow = this.clow << 7 & 0xFFFF;
+    this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;
+    this.clow = this.clow << 7 & 0xffff;
     this.ct -= 7;
     this.a = 0x8000;
   }
 
-  _createClass(ArithmeticDecoder, [{
-    key: "byteIn",
-    value: function byteIn() {
-      var data = this.data;
-      var bp = this.bp;
+  byteIn() {
+    const data = this.data;
+    let bp = this.bp;
 
-      if (data[bp] === 0xFF) {
-        if (data[bp + 1] > 0x8F) {
-          this.clow += 0xFF00;
-          this.ct = 8;
-        } else {
-          bp++;
-          this.clow += data[bp] << 9;
-          this.ct = 7;
-          this.bp = bp;
-        }
+    if (data[bp] === 0xff) {
+      if (data[bp + 1] > 0x8f) {
+        this.clow += 0xff00;
+        this.ct = 8;
       } else {
         bp++;
-        this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00;
-        this.ct = 8;
+        this.clow += data[bp] << 9;
+        this.ct = 7;
         this.bp = bp;
       }
+    } else {
+      bp++;
+      this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;
+      this.ct = 8;
+      this.bp = bp;
+    }
 
-      if (this.clow > 0xFFFF) {
-        this.chigh += this.clow >> 16;
-        this.clow &= 0xFFFF;
-      }
+    if (this.clow > 0xffff) {
+      this.chigh += this.clow >> 16;
+      this.clow &= 0xffff;
     }
-  }, {
-    key: "readBit",
-    value: function readBit(contexts, pos) {
-      var cx_index = contexts[pos] >> 1,
-          cx_mps = contexts[pos] & 1;
-      var qeTableIcx = QeTable[cx_index];
-      var qeIcx = qeTableIcx.qe;
-      var d;
-      var a = this.a - qeIcx;
-
-      if (this.chigh < qeIcx) {
-        if (a < qeIcx) {
-          a = qeIcx;
-          d = cx_mps;
-          cx_index = qeTableIcx.nmps;
-        } else {
-          a = qeIcx;
-          d = 1 ^ cx_mps;
+  }
 
-          if (qeTableIcx.switchFlag === 1) {
-            cx_mps = d;
-          }
+  readBit(contexts, pos) {
+    let cx_index = contexts[pos] >> 1,
+        cx_mps = contexts[pos] & 1;
+    const qeTableIcx = QeTable[cx_index];
+    const qeIcx = qeTableIcx.qe;
+    let d;
+    let a = this.a - qeIcx;
 
-          cx_index = qeTableIcx.nlps;
-        }
+    if (this.chigh < qeIcx) {
+      if (a < qeIcx) {
+        a = qeIcx;
+        d = cx_mps;
+        cx_index = qeTableIcx.nmps;
       } else {
-        this.chigh -= qeIcx;
+        a = qeIcx;
+        d = 1 ^ cx_mps;
 
-        if ((a & 0x8000) !== 0) {
-          this.a = a;
-          return cx_mps;
+        if (qeTableIcx.switchFlag === 1) {
+          cx_mps = d;
         }
 
-        if (a < qeIcx) {
-          d = 1 ^ cx_mps;
+        cx_index = qeTableIcx.nlps;
+      }
+    } else {
+      this.chigh -= qeIcx;
+
+      if ((a & 0x8000) !== 0) {
+        this.a = a;
+        return cx_mps;
+      }
 
-          if (qeTableIcx.switchFlag === 1) {
-            cx_mps = d;
-          }
+      if (a < qeIcx) {
+        d = 1 ^ cx_mps;
 
-          cx_index = qeTableIcx.nlps;
-        } else {
-          d = cx_mps;
-          cx_index = qeTableIcx.nmps;
+        if (qeTableIcx.switchFlag === 1) {
+          cx_mps = d;
         }
+
+        cx_index = qeTableIcx.nlps;
+      } else {
+        d = cx_mps;
+        cx_index = qeTableIcx.nmps;
       }
+    }
 
-      do {
-        if (this.ct === 0) {
-          this.byteIn();
-        }
+    do {
+      if (this.ct === 0) {
+        this.byteIn();
+      }
 
-        a <<= 1;
-        this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1;
-        this.clow = this.clow << 1 & 0xFFFF;
-        this.ct--;
-      } while ((a & 0x8000) === 0);
+      a <<= 1;
+      this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;
+      this.clow = this.clow << 1 & 0xffff;
+      this.ct--;
+    } while ((a & 0x8000) === 0);
 
-      this.a = a;
-      contexts[pos] = cx_index << 1 | cx_mps;
-      return d;
-    }
-  }]);
+    this.a = a;
+    contexts[pos] = cx_index << 1 | cx_mps;
+    return d;
+  }
 
-  return ArithmeticDecoder;
-}();
+}
 
 exports.ArithmeticDecoder = ArithmeticDecoder;
 
 /***/ }),
-/* 196 */
+/* 17 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -21890,20 +11799,20 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.JpegStream = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var _stream = __w_pdfjs_require__(190);
+var _stream = __w_pdfjs_require__(11);
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-var _jpg = __w_pdfjs_require__(197);
+var _jpg = __w_pdfjs_require__(18);
 
-var JpegStream = function JpegStreamClosure() {
+const JpegStream = function JpegStreamClosure() {
   function JpegStream(stream, maybeLength, dict, params) {
-    var ch;
+    let ch;
 
     while ((ch = stream.getByte()) !== -1) {
-      if (ch === 0xFF) {
+      if (ch === 0xff) {
         stream.skip(-1);
         break;
       }
@@ -21918,9 +11827,9 @@ var JpegStream = function JpegStreamClosure() {
   }
 
   JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(JpegStream.prototype, 'bytes', {
+  Object.defineProperty(JpegStream.prototype, "bytes", {
     get: function JpegStream_bytes() {
-      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
     },
     configurable: true
   });
@@ -21932,20 +11841,20 @@ var JpegStream = function JpegStreamClosure() {
       return;
     }
 
-    var jpegOptions = {
+    const jpegOptions = {
       decodeTransform: undefined,
       colorTransform: undefined
     };
-    var decodeArr = this.dict.getArray('Decode', 'D');
+    const decodeArr = this.dict.getArray("Decode", "D");
 
     if (this.forceRGB && Array.isArray(decodeArr)) {
-      var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;
-      var decodeArrLength = decodeArr.length;
-      var transform = new Int32Array(decodeArrLength);
-      var transformNeeded = false;
-      var maxValue = (1 << bitsPerComponent) - 1;
+      const bitsPerComponent = this.dict.get("BitsPerComponent") || 8;
+      const decodeArrLength = decodeArr.length;
+      const transform = new Int32Array(decodeArrLength);
+      let transformNeeded = false;
+      const maxValue = (1 << bitsPerComponent) - 1;
 
-      for (var i = 0; i < decodeArrLength; i += 2) {
+      for (let i = 0; i < decodeArrLength; i += 2) {
         transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;
         transform[i + 1] = decodeArr[i] * maxValue | 0;
 
@@ -21960,16 +11869,16 @@ var JpegStream = function JpegStreamClosure() {
     }
 
     if ((0, _primitives.isDict)(this.params)) {
-      var colorTransform = this.params.get('ColorTransform');
+      const colorTransform = this.params.get("ColorTransform");
 
       if (Number.isInteger(colorTransform)) {
         jpegOptions.colorTransform = colorTransform;
       }
     }
 
-    var jpegImage = new _jpg.JpegImage(jpegOptions);
+    const jpegImage = new _jpg.JpegImage(jpegOptions);
     jpegImage.parse(this.bytes);
-    var data = jpegImage.getData({
+    const data = jpegImage.getData({
       width: this.drawWidth,
       height: this.drawHeight,
       forceRGB: this.forceRGB,
@@ -21980,89 +11889,157 @@ var JpegStream = function JpegStreamClosure() {
     this.eof = true;
   };
 
-  JpegStream.prototype.getIR = function () {
-    var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-    return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);
-  };
-
-  return JpegStream;
-}();
+  Object.defineProperty(JpegStream.prototype, "maybeValidDimensions", {
+    get: function JpegStream_maybeValidDimensions() {
+      const {
+        dict,
+        stream
+      } = this;
+      const dictHeight = dict.get("Height", "H");
+      const startPos = stream.pos;
+      let validDimensions = true,
+          foundSOF = false,
+          b;
 
-exports.JpegStream = JpegStream;
+      while ((b = stream.getByte()) !== -1) {
+        if (b !== 0xff) {
+          continue;
+        }
 
-/***/ }),
-/* 197 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+        switch (stream.getByte()) {
+          case 0xc0:
+          case 0xc1:
+          case 0xc2:
+            foundSOF = true;
+            stream.pos += 2;
+            stream.pos += 1;
+            const scanLines = stream.getUint16();
+
+            if (scanLines === dictHeight) {
+              break;
+            }
 
-"use strict";
+            if (scanLines === 0) {
+              validDimensions = false;
+              break;
+            }
 
+            if (scanLines > dictHeight * 10) {
+              validDimensions = false;
+              break;
+            }
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.JpegImage = void 0;
+            break;
 
-var _util = __w_pdfjs_require__(5);
+          case 0xc3:
+          case 0xc5:
+          case 0xc6:
+          case 0xc7:
+          case 0xc9:
+          case 0xca:
+          case 0xcb:
+          case 0xcd:
+          case 0xce:
+          case 0xcf:
+            foundSOF = true;
+            break;
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+          case 0xc4:
+          case 0xcc:
+          case 0xda:
+          case 0xdb:
+          case 0xdc:
+          case 0xdd:
+          case 0xde:
+          case 0xdf:
+          case 0xe0:
+          case 0xe1:
+          case 0xe2:
+          case 0xe3:
+          case 0xe4:
+          case 0xe5:
+          case 0xe6:
+          case 0xe7:
+          case 0xe8:
+          case 0xe9:
+          case 0xea:
+          case 0xeb:
+          case 0xec:
+          case 0xed:
+          case 0xee:
+          case 0xef:
+          case 0xfe:
+            const markerLength = stream.getUint16();
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+            if (markerLength > 2) {
+              stream.skip(markerLength - 2);
+            } else {
+              stream.skip(-2);
+            }
 
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } return _assertThisInitialized(self); }
+            break;
 
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been 
initialised - super() hasn't been called"); } return self; }
+          case 0xff:
+            stream.skip(-1);
+            break;
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+          case 0xd9:
+            foundSOF = true;
+            break;
+        }
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+        if (foundSOF) {
+          break;
+        }
+      }
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+      stream.pos = startPos;
+      return (0, _util.shadow)(this, "maybeValidDimensions", validDimensions);
+    },
+    configurable: true
+  });
 
-var JpegError =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(JpegError, _BaseException);
+  JpegStream.prototype.getIR = function (forceDataSchema = false) {
+    return (0, _util.createObjectURL)(this.bytes, "image/jpeg", forceDataSchema);
+  };
 
-  function JpegError(msg) {
-    _classCallCheck(this, JpegError);
+  return JpegStream;
+}();
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(JpegError).call(this, "JPEG error: 
".concat(msg)));
-  }
+exports.JpegStream = JpegStream;
 
-  return JpegError;
-}(_util.BaseException);
+/***/ }),
+/* 18 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
 
-var DNLMarkerError =
-/*#__PURE__*/
-function (_BaseException2) {
-  _inherits(DNLMarkerError, _BaseException2);
+"use strict";
 
-  function DNLMarkerError(message, scanLines) {
-    var _this;
 
-    _classCallCheck(this, DNLMarkerError);
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.JpegImage = void 0;
 
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(DNLMarkerError).call(this, message));
-    _this.scanLines = scanLines;
-    return _this;
-  }
+var _util = __w_pdfjs_require__(2);
 
-  return DNLMarkerError;
-}(_util.BaseException);
+var _core_utils = __w_pdfjs_require__(7);
 
-var EOIMarkerError =
-/*#__PURE__*/
-function (_BaseException3) {
-  _inherits(EOIMarkerError, _BaseException3);
+class JpegError extends _util.BaseException {
+  constructor(msg) {
+    super(`JPEG error: ${msg}`);
+  }
 
-  function EOIMarkerError() {
-    _classCallCheck(this, EOIMarkerError);
+}
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(EOIMarkerError).apply(this, arguments));
+class DNLMarkerError extends _util.BaseException {
+  constructor(message, scanLines) {
+    super(message);
+    this.scanLines = scanLines;
   }
 
-  return EOIMarkerError;
-}(_util.BaseException);
+}
+
+class EOIMarkerError extends _util.BaseException {}
 
 var JpegImage = function JpegImageClosure() {
   var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 
40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 
58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);
@@ -22075,13 +12052,10 @@ var JpegImage = function JpegImageClosure() {
   var dctSqrt2 = 5793;
   var dctSqrt1d2 = 2896;
 
-  function JpegImage() {
-    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        _ref$decodeTransform = _ref.decodeTransform,
-        decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,
-        _ref$colorTransform = _ref.colorTransform,
-        colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;
-
+  function JpegImage({
+    decodeTransform = null,
+    colorTransform = -1
+  } = {}) {
     this._decodeTransform = decodeTransform;
     this._colorTransform = colorTransform;
   }
@@ -22145,8 +12119,7 @@ var JpegImage = function JpegImageClosure() {
     return 64 * ((component.blocksPerLine + 1) * row + col);
   }
 
-  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, 
successivePrev, successive) {
-    var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
+  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, 
successivePrev, successive, parseDNLMarker = false) {
     var mcusPerLine = frame.mcusPerLine;
     var progressive = frame.progressive;
     var startOffset = offset,
@@ -22161,22 +12134,31 @@ var JpegImage = function JpegImageClosure() {
 
       bitsData = data[offset++];
 
-      if (bitsData === 0xFF) {
+      if (bitsData === 0xff) {
         var nextByte = data[offset++];
 
         if (nextByte) {
-          if (nextByte === 0xDC && parseDNLMarker) {
+          if (nextByte === 0xdc && parseDNLMarker) {
+            offset += 2;
+            const scanLines = (0, _core_utils.readUint16)(data, offset);
             offset += 2;
-            var scanLines = data[offset++] << 8 | data[offset++];
 
             if (scanLines > 0 && scanLines !== frame.scanLines) {
-              throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', scanLines);
+              throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data", scanLines);
+            }
+          } else if (nextByte === 0xd9) {
+            if (parseDNLMarker) {
+              const maybeScanLines = blockRow * 8;
+
+              if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {
+                throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, " + "possibly 
caused by incorrect `scanLines` parameter", maybeScanLines);
+              }
             }
-          } else if (nextByte === 0xD9) {
-            throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');
+
+            throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data");
           }
 
-          throw new JpegError("unexpected marker ".concat((bitsData << 8 | nextByte).toString(16)));
+          throw new JpegError(`unexpected marker ${(bitsData << 8 | nextByte).toString(16)}`);
         }
       }
 
@@ -22190,13 +12172,15 @@ var JpegImage = function JpegImageClosure() {
       while (true) {
         node = node[readBit()];
 
-        if (typeof node === 'number') {
-          return node;
-        }
+        switch (typeof node) {
+          case "number":
+            return node;
 
-        if (_typeof(node) !== 'object') {
-          throw new JpegError('invalid huffman sequence');
+          case "object":
+            continue;
         }
+
+        throw new JpegError("invalid huffman sequence");
       }
     }
 
@@ -22306,8 +12290,8 @@ var JpegImage = function JpegImageClosure() {
       var rs;
 
       while (k <= e) {
-        var offsetZ = offset + dctZigZag[k];
-        var sign = component.blockData[offsetZ] < 0 ? -1 : 1;
+        const offsetZ = offset + dctZigZag[k];
+        const sign = component.blockData[offsetZ] < 0 ? -1 : 1;
 
         switch (successiveACState) {
           case 0:
@@ -22325,7 +12309,7 @@ var JpegImage = function JpegImageClosure() {
               }
             } else {
               if (s !== 1) {
-                throw new JpegError('invalid ACn encoding');
+                throw new JpegError("invalid ACn encoding");
               }
 
               successiveACNextValue = receiveAndExtend(s);
@@ -22378,17 +12362,19 @@ var JpegImage = function JpegImageClosure() {
       }
     }
 
+    let blockRow = 0;
+
     function decodeMcu(component, decode, mcu, row, col) {
       var mcuRow = mcu / mcusPerLine | 0;
       var mcuCol = mcu % mcusPerLine;
-      var blockRow = mcuRow * component.v + row;
+      blockRow = mcuRow * component.v + row;
       var blockCol = mcuCol * component.h + col;
       var offset = getBlockBufferOffset(component, blockRow, blockCol);
       decode(component, offset);
     }
 
     function decodeBlock(component, decode, mcu) {
-      var blockRow = mcu / component.blocksPerLine | 0;
+      blockRow = mcu / component.blocksPerLine | 0;
       var blockCol = mcu % component.blocksPerLine;
       var offset = getBlockBufferOffset(component, blockRow, blockCol);
       decode(component, offset);
@@ -22460,17 +12446,17 @@ var JpegImage = function JpegImageClosure() {
       if (!fileMarker) {
         break;
       } else if (fileMarker.invalid) {
-        (0, _util.warn)('decodeScan - unexpected MCU data, current marker is: ' + fileMarker.invalid);
+        (0, _util.warn)("decodeScan - unexpected MCU data, current marker is: " + fileMarker.invalid);
         offset = fileMarker.offset;
       }
 
       var marker = fileMarker && fileMarker.marker;
 
-      if (!marker || marker <= 0xFF00) {
-        throw new JpegError('decodeScan - a valid marker was not found.');
+      if (!marker || marker <= 0xff00) {
+        throw new JpegError("decodeScan - a valid marker was not found.");
       }
 
-      if (marker >= 0xFFD0 && marker <= 0xFFD7) {
+      if (marker >= 0xffd0 && marker <= 0xffd7) {
         offset += 2;
       } else {
         break;
@@ -22480,7 +12466,7 @@ var JpegImage = function JpegImageClosure() {
     fileMarker = findNextFileMarker(data, offset);
 
     if (fileMarker && fileMarker.invalid) {
-      (0, _util.warn)('decodeScan - unexpected Scan data, current marker is: ' + fileMarker.invalid);
+      (0, _util.warn)("decodeScan - unexpected Scan data, current marker is: " + fileMarker.invalid);
       offset = fileMarker.offset;
     }
 
@@ -22495,7 +12481,7 @@ var JpegImage = function JpegImageClosure() {
     var t;
 
     if (!qt) {
-      throw new JpegError('missing required Quantization Table.');
+      throw new JpegError("missing required Quantization Table.");
     }
 
     for (var row = 0; row < 64; row += 8) {
@@ -22578,7 +12564,15 @@ var JpegImage = function JpegImageClosure() {
 
       if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {
         t = dctSqrt2 * p0 + 8192 >> 14;
-        t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4;
+
+        if (t < -2040) {
+          t = 0;
+        } else if (t >= 2024) {
+          t = 255;
+        } else {
+          t = t + 2056 >> 4;
+        }
+
         blockData[blockBufferOffset + col] = t;
         blockData[blockBufferOffset + col + 8] = t;
         blockData[blockBufferOffset + col + 16] = t;
@@ -22625,14 +12619,71 @@ var JpegImage = function JpegImageClosure() {
       p5 = v2 - v5;
       p3 = v3 + v4;
       p4 = v3 - v4;
-      p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4;
-      p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4;
-      p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4;
-      p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4;
-      p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4;
-      p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4;
-      p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4;
-      p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4;
+
+      if (p0 < 16) {
+        p0 = 0;
+      } else if (p0 >= 4080) {
+        p0 = 255;
+      } else {
+        p0 >>= 4;
+      }
+
+      if (p1 < 16) {
+        p1 = 0;
+      } else if (p1 >= 4080) {
+        p1 = 255;
+      } else {
+        p1 >>= 4;
+      }
+
+      if (p2 < 16) {
+        p2 = 0;
+      } else if (p2 >= 4080) {
+        p2 = 255;
+      } else {
+        p2 >>= 4;
+      }
+
+      if (p3 < 16) {
+        p3 = 0;
+      } else if (p3 >= 4080) {
+        p3 = 255;
+      } else {
+        p3 >>= 4;
+      }
+
+      if (p4 < 16) {
+        p4 = 0;
+      } else if (p4 >= 4080) {
+        p4 = 255;
+      } else {
+        p4 >>= 4;
+      }
+
+      if (p5 < 16) {
+        p5 = 0;
+      } else if (p5 >= 4080) {
+        p5 = 255;
+      } else {
+        p5 >>= 4;
+      }
+
+      if (p6 < 16) {
+        p6 = 0;
+      } else if (p6 >= 4080) {
+        p6 = 255;
+      } else {
+        p6 >>= 4;
+      }
+
+      if (p7 < 16) {
+        p7 = 0;
+      } else if (p7 >= 4080) {
+        p7 = 255;
+      } else {
+        p7 >>= 4;
+      }
+
       blockData[blockBufferOffset + col] = p0;
       blockData[blockBufferOffset + col + 8] = p1;
       blockData[blockBufferOffset + col + 16] = p2;
@@ -22659,23 +12710,17 @@ var JpegImage = function JpegImageClosure() {
     return component.blockData;
   }
 
-  function findNextFileMarker(data, currentPos) {
-    var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;
-
-    function peekUint16(pos) {
-      return data[pos] << 8 | data[pos + 1];
-    }
-
-    var maxPos = data.length - 1;
+  function findNextFileMarker(data, currentPos, startPos = currentPos) {
+    const maxPos = data.length - 1;
     var newPos = startPos < currentPos ? startPos : currentPos;
 
     if (currentPos >= maxPos) {
       return null;
     }
 
-    var currentMarker = peekUint16(currentPos);
+    var currentMarker = (0, _core_utils.readUint16)(data, currentPos);
 
-    if (currentMarker >= 0xFFC0 && currentMarker <= 0xFFFE) {
+    if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {
       return {
         invalid: null,
         marker: currentMarker,
@@ -22683,14 +12728,14 @@ var JpegImage = function JpegImageClosure() {
       };
     }
 
-    var newMarker = peekUint16(newPos);
+    var newMarker = (0, _core_utils.readUint16)(data, newPos);
 
-    while (!(newMarker >= 0xFFC0 && newMarker <= 0xFFFE)) {
+    while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {
       if (++newPos >= maxPos) {
         return null;
       }
 
-      newMarker = peekUint16(newPos);
+      newMarker = (0, _core_utils.readUint16)(data, newPos);
     }
 
     return {
@@ -22701,24 +12746,17 @@ var JpegImage = function JpegImageClosure() {
   }
 
   JpegImage.prototype = {
-    parse: function parse(data) {
-      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-          _ref2$dnlScanLines = _ref2.dnlScanLines,
-          dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;
-
-      function readUint16() {
-        var value = data[offset] << 8 | data[offset + 1];
-        offset += 2;
-        return value;
-      }
-
+    parse(data, {
+      dnlScanLines = null
+    } = {}) {
       function readDataBlock() {
-        var length = readUint16();
-        var endOffset = offset + length - 2;
+        const length = (0, _core_utils.readUint16)(data, offset);
+        offset += 2;
+        let endOffset = offset + length - 2;
         var fileMarker = findNextFileMarker(data, endOffset, offset);
 
         if (fileMarker && fileMarker.invalid) {
-          (0, _util.warn)('readDataBlock - incorrect length, current marker is: ' + fileMarker.invalid);
+          (0, _util.warn)("readDataBlock - incorrect length, current marker is: " + fileMarker.invalid);
           endOffset = fileMarker.offset;
         }
 
@@ -22751,43 +12789,45 @@ var JpegImage = function JpegImageClosure() {
       var jfif = null;
       var adobe = null;
       var frame, resetInterval;
-      var numSOSMarkers = 0;
+      let numSOSMarkers = 0;
       var quantizationTables = [];
       var huffmanTablesAC = [],
           huffmanTablesDC = [];
-      var fileMarker = readUint16();
+      let fileMarker = (0, _core_utils.readUint16)(data, offset);
+      offset += 2;
 
-      if (fileMarker !== 0xFFD8) {
-        throw new JpegError('SOI not found');
+      if (fileMarker !== 0xffd8) {
+        throw new JpegError("SOI not found");
       }
 
-      fileMarker = readUint16();
+      fileMarker = (0, _core_utils.readUint16)(data, offset);
+      offset += 2;
 
-      markerLoop: while (fileMarker !== 0xFFD9) {
+      markerLoop: while (fileMarker !== 0xffd9) {
         var i, j, l;
 
         switch (fileMarker) {
-          case 0xFFE0:
-          case 0xFFE1:
-          case 0xFFE2:
-          case 0xFFE3:
-          case 0xFFE4:
-          case 0xFFE5:
-          case 0xFFE6:
-          case 0xFFE7:
-          case 0xFFE8:
-          case 0xFFE9:
-          case 0xFFEA:
-          case 0xFFEB:
-          case 0xFFEC:
-          case 0xFFED:
-          case 0xFFEE:
-          case 0xFFEF:
-          case 0xFFFE:
+          case 0xffe0:
+          case 0xffe1:
+          case 0xffe2:
+          case 0xffe3:
+          case 0xffe4:
+          case 0xffe5:
+          case 0xffe6:
+          case 0xffe7:
+          case 0xffe8:
+          case 0xffe9:
+          case 0xffea:
+          case 0xffeb:
+          case 0xffec:
+          case 0xffed:
+          case 0xffee:
+          case 0xffef:
+          case 0xfffe:
             var appData = readDataBlock();
 
-            if (fileMarker === 0xFFE0) {
-              if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 
&& appData[4] === 0) {
+            if (fileMarker === 0xffe0) {
+              if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 
&& appData[4] === 0) {
                 jfif = {
                   version: {
                     major: appData[5],
@@ -22803,8 +12843,8 @@ var JpegImage = function JpegImageClosure() {
               }
             }
 
-            if (fileMarker === 0xFFEE) {
-              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 
&& appData[4] === 0x65) {
+            if (fileMarker === 0xffee) {
+              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 
&& appData[4] === 0x65) {
                 adobe = {
                   version: appData[5] << 8 | appData[6],
                   flags0: appData[7] << 8 | appData[8],
@@ -22816,8 +12856,9 @@ var JpegImage = function JpegImageClosure() {
 
             break;
 
-          case 0xFFDB:
-            var quantizationTablesLength = readUint16();
+          case 0xffdb:
+            const quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);
+            offset += 2;
             var quantizationTablesEnd = quantizationTablesLength + offset - 2;
             var z;
 
@@ -22833,10 +12874,11 @@ var JpegImage = function JpegImageClosure() {
               } else if (quantizationTableSpec >> 4 === 1) {
                 for (j = 0; j < 64; j++) {
                   z = dctZigZag[j];
-                  tableData[z] = readUint16();
+                  tableData[z] = (0, _core_utils.readUint16)(data, offset);
+                  offset += 2;
                 }
               } else {
-                throw new JpegError('DQT - invalid table spec');
+                throw new JpegError("DQT - invalid table spec");
               }
 
               quantizationTables[quantizationTableSpec & 15] = tableData;
@@ -22844,21 +12886,23 @@ var JpegImage = function JpegImageClosure() {
 
             break;
 
-          case 0xFFC0:
-          case 0xFFC1:
-          case 0xFFC2:
+          case 0xffc0:
+          case 0xffc1:
+          case 0xffc2:
             if (frame) {
-              throw new JpegError('Only single frame JPEGs supported');
+              throw new JpegError("Only single frame JPEGs supported");
             }
 
-            readUint16();
+            offset += 2;
             frame = {};
-            frame.extended = fileMarker === 0xFFC1;
-            frame.progressive = fileMarker === 0xFFC2;
+            frame.extended = fileMarker === 0xffc1;
+            frame.progressive = fileMarker === 0xffc2;
             frame.precision = data[offset++];
-            var sofScanLines = readUint16();
+            const sofScanLines = (0, _core_utils.readUint16)(data, offset);
+            offset += 2;
             frame.scanLines = dnlScanLines || sofScanLines;
-            frame.samplesPerLine = readUint16();
+            frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);
+            offset += 2;
             frame.components = [];
             frame.componentIds = {};
             var componentsCount = data[offset++],
@@ -22881,8 +12925,8 @@ var JpegImage = function JpegImageClosure() {
 
               var qId = data[offset + 2];
               l = frame.components.push({
-                h: h,
-                v: v,
+                h,
+                v,
                 quantizationId: qId,
                 quantizationTable: null
               });
@@ -22895,8 +12939,9 @@ var JpegImage = function JpegImageClosure() {
             prepareComponents(frame);
             break;
 
-          case 0xFFC4:
-            var huffmanLength = readUint16();
+          case 0xffc4:
+            const huffmanLength = (0, _core_utils.readUint16)(data, offset);
+            offset += 2;
 
             for (i = 2; i < huffmanLength;) {
               var huffmanTableSpec = data[offset++];
@@ -22919,14 +12964,15 @@ var JpegImage = function JpegImageClosure() {
 
             break;
 
-          case 0xFFDD:
-            readUint16();
-            resetInterval = readUint16();
+          case 0xffdd:
+            offset += 2;
+            resetInterval = (0, _core_utils.readUint16)(data, offset);
+            offset += 2;
             break;
 
-          case 0xFFDA:
-            var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;
-            readUint16();
+          case 0xffda:
+            const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;
+            offset += 2;
             var selectorsCount = data[offset++];
             var components = [],
                 component;
@@ -22949,12 +12995,12 @@ var JpegImage = function JpegImageClosure() {
               offset += processed;
             } catch (ex) {
               if (ex instanceof DNLMarkerError) {
-                (0, _util.warn)("".concat(ex.message, " -- attempting to re-parse the JPEG image."));
+                (0, _util.warn)(`${ex.message} -- attempting to re-parse the JPEG image.`);
                 return this.parse(data, {
                   dnlScanLines: ex.scanLines
                 });
               } else if (ex instanceof EOIMarkerError) {
-                (0, _util.warn)("".concat(ex.message, " -- ignoring the rest of the image data."));
+                (0, _util.warn)(`${ex.message} -- ignoring the rest of the image data.`);
                 break markerLoop;
               }
 
@@ -22963,40 +13009,36 @@ var JpegImage = function JpegImageClosure() {
 
             break;
 
-          case 0xFFDC:
+          case 0xffdc:
             offset += 4;
             break;
 
-          case 0xFFFF:
-            if (data[offset] !== 0xFF) {
+          case 0xffff:
+            if (data[offset] !== 0xff) {
               offset--;
             }
 
             break;
 
           default:
-            if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {
-              offset -= 3;
-              break;
-            }
-
-            var nextFileMarker = findNextFileMarker(data, offset - 2);
+            const nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);
 
             if (nextFileMarker && nextFileMarker.invalid) {
-              (0, _util.warn)('JpegImage.parse - unexpected data, current marker is: ' + 
nextFileMarker.invalid);
+              (0, _util.warn)("JpegImage.parse - unexpected data, current marker is: " + 
nextFileMarker.invalid);
               offset = nextFileMarker.offset;
               break;
             }
 
-            if (offset > data.length - 2) {
-              (0, _util.warn)('JpegImage.parse - reached the end of the image data ' + 'without finding an 
EOI marker (0xFFD9).');
+            if (offset >= data.length - 1) {
+              (0, _util.warn)("JpegImage.parse - reached the end of the image data " + "without finding an 
EOI marker (0xFFD9).");
               break markerLoop;
             }
 
-            throw new JpegError('JpegImage.parse - unknown marker: ' + fileMarker.toString(16));
+            throw new JpegError("JpegImage.parse - unknown marker: " + fileMarker.toString(16));
         }
 
-        fileMarker = readUint16();
+        fileMarker = (0, _core_utils.readUint16)(data, offset);
+        offset += 2;
       }
 
       this.width = frame.samplesPerLine;
@@ -23025,8 +13067,8 @@ var JpegImage = function JpegImageClosure() {
       this.numComponents = this.components.length;
       return undefined;
     },
-    _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {
-      var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+    _getLinearizedBlockData(width, height, isSourcePDF = false) {
       var scaleX = this.width / width,
           scaleY = this.height / height;
       var component, componentScaleX, componentScaleY, blocksPerScanline;
@@ -23039,6 +13081,7 @@ var JpegImage = function JpegImageClosure() {
       var data = new Uint8ClampedArray(dataLength);
       var xScaleBlockOffset = new Uint32Array(width);
       var mask3LSB = 0xfffffff8;
+      let lastComponentScaleX;
 
       for (i = 0; i < numComponents; i++) {
         component = this.components[i];
@@ -23048,9 +13091,13 @@ var JpegImage = function JpegImageClosure() {
         output = component.output;
         blocksPerScanline = component.blocksPerLine + 1 << 3;
 
-        for (x = 0; x < width; x++) {
-          j = 0 | x * componentScaleX;
-          xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;
+        if (componentScaleX !== lastComponentScaleX) {
+          for (x = 0; x < width; x++) {
+            j = 0 | x * componentScaleX;
+            xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;
+          }
+
+          lastComponentScaleX = componentScaleX;
         }
 
         for (y = 0; y < height; y++) {
@@ -23064,7 +13111,7 @@ var JpegImage = function JpegImageClosure() {
         }
       }
 
-      var transform = this._decodeTransform;
+      let transform = this._decodeTransform;
 
       if (!isSourcePDF && numComponents === 4 && !transform) {
         transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);
@@ -23148,30 +13195,28 @@ var JpegImage = function JpegImageClosure() {
     _convertCmykToRgb: function convertCmykToRgb(data) {
       var c, m, y, k;
       var offset = 0;
-      var scale = 1 / 255;
 
       for (var i = 0, length = data.length; i < length; i += 4) {
-        c = data[i] * scale;
-        m = data[i + 1] * scale;
-        y = data[i + 2] * scale;
-        k = data[i + 3] * scale;
-        data[offset++] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 
212.25662451639585 * k - 285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 
17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 
17.5119270841813) - k * (21.86122147463605 * k + 189.48180835922747);
-        data[offset++] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 
31.159100130055922 * k - 79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 
131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 
24.86741582555878) - k * (20.737325471181034 * k + 187.80453709719578);
-        data[offset++] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 
0.23883238689178934 * k - 14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 
50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 
193.58209356861505) - k * (22.33816807309886 * k + 180.12613974708367);
+        c = data[i];
+        m = data[i + 1];
+        y = data[i + 2];
+        k = data[i + 3];
+        data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 
0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m 
- 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * 
(-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * 
k + 0.7430659151342254);
+        data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 
0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * 
m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 
* y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 
0.7364883807733168);
+        data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 
0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 
* m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * 
(5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k 
+ 0.7063770186160144);
       }
 
       return data.subarray(0, offset);
     },
-    getData: function getData(_ref3) {
-      var width = _ref3.width,
-          height = _ref3.height,
-          _ref3$forceRGB = _ref3.forceRGB,
-          forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,
-          _ref3$isSourcePDF = _ref3.isSourcePDF,
-          isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;
 
+    getData({
+      width,
+      height,
+      forceRGB = false,
+      isSourcePDF = false
+    }) {
       if (this.numComponents > 4) {
-        throw new JpegError('Unsupported color mode');
+        throw new JpegError("Unsupported color mode");
       }
 
       var data = this._getLinearizedBlockData(width, height, isSourcePDF);
@@ -23205,6 +13250,7 @@ var JpegImage = function JpegImageClosure() {
 
       return data;
     }
+
   };
   return JpegImage;
 }();
@@ -23212,7 +13258,7 @@ var JpegImage = function JpegImageClosure() {
 exports.JpegImage = JpegImage;
 
 /***/ }),
-/* 198 */
+/* 19 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -23223,13 +13269,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.JpxStream = void 0;
 
-var _stream = __w_pdfjs_require__(190);
+var _stream = __w_pdfjs_require__(11);
 
-var _jpx = __w_pdfjs_require__(199);
+var _jpx = __w_pdfjs_require__(20);
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var JpxStream = function JpxStreamClosure() {
+const JpxStream = function JpxStreamClosure() {
   function JpxStream(stream, maybeLength, dict, params) {
     this.stream = stream;
     this.maybeLength = maybeLength;
@@ -23240,9 +13286,9 @@ var JpxStream = function JpxStreamClosure() {
   }
 
   JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(JpxStream.prototype, 'bytes', {
+  Object.defineProperty(JpxStream.prototype, "bytes", {
     get: function JpxStream_bytes() {
-      return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
+      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
     },
     configurable: true
   });
@@ -23254,32 +13300,32 @@ var JpxStream = function JpxStreamClosure() {
       return;
     }
 
-    var jpxImage = new _jpx.JpxImage();
+    const jpxImage = new _jpx.JpxImage();
     jpxImage.parse(this.bytes);
-    var width = jpxImage.width;
-    var height = jpxImage.height;
-    var componentsCount = jpxImage.componentsCount;
-    var tileCount = jpxImage.tiles.length;
+    const width = jpxImage.width;
+    const height = jpxImage.height;
+    const componentsCount = jpxImage.componentsCount;
+    const tileCount = jpxImage.tiles.length;
 
     if (tileCount === 1) {
       this.buffer = jpxImage.tiles[0].items;
     } else {
-      var data = new Uint8ClampedArray(width * height * componentsCount);
-
-      for (var k = 0; k < tileCount; k++) {
-        var tileComponents = jpxImage.tiles[k];
-        var tileWidth = tileComponents.width;
-        var tileHeight = tileComponents.height;
-        var tileLeft = tileComponents.left;
-        var tileTop = tileComponents.top;
-        var src = tileComponents.items;
-        var srcPosition = 0;
-        var dataPosition = (width * tileTop + tileLeft) * componentsCount;
-        var imgRowSize = width * componentsCount;
-        var tileRowSize = tileWidth * componentsCount;
-
-        for (var j = 0; j < tileHeight; j++) {
-          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);
+      const data = new Uint8ClampedArray(width * height * componentsCount);
+
+      for (let k = 0; k < tileCount; k++) {
+        const tileComponents = jpxImage.tiles[k];
+        const tileWidth = tileComponents.width;
+        const tileHeight = tileComponents.height;
+        const tileLeft = tileComponents.left;
+        const tileTop = tileComponents.top;
+        const src = tileComponents.items;
+        let srcPosition = 0;
+        let dataPosition = (width * tileTop + tileLeft) * componentsCount;
+        const imgRowSize = width * componentsCount;
+        const tileRowSize = tileWidth * componentsCount;
+
+        for (let j = 0; j < tileHeight; j++) {
+          const rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);
           data.set(rowBytes, dataPosition);
           srcPosition += tileRowSize;
           dataPosition += imgRowSize;
@@ -23299,7 +13345,7 @@ var JpxStream = function JpxStreamClosure() {
 exports.JpxStream = JpxStream;
 
 /***/ }),
-/* 199 */
+/* 20 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -23310,44 +13356,25 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.JpxImage = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _arithmetic_decoder = __w_pdfjs_require__(195);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+var _util = __w_pdfjs_require__(2);
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+var _core_utils = __w_pdfjs_require__(7);
 
-var JpxError =
-/*#__PURE__*/
-function (_BaseException) {
-  _inherits(JpxError, _BaseException);
+var _arithmetic_decoder = __w_pdfjs_require__(16);
 
-  function JpxError(msg) {
-    _classCallCheck(this, JpxError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(JpxError).call(this, "JPX error: ".concat(msg)));
+class JpxError extends _util.BaseException {
+  constructor(msg) {
+    super(`JPX error: ${msg}`);
   }
 
-  return JpxError;
-}(_util.BaseException);
+}
 
 var JpxImage = function JpxImageClosure() {
   var SubbandsGainLog2 = {
-    'LL': 0,
-    'LH': 1,
-    'HL': 1,
-    'HH': 2
+    LL: 0,
+    LH: 1,
+    HL: 1,
+    HH: 2
   };
 
   function JpxImage() {
@@ -23356,9 +13383,9 @@ var JpxImage = function JpxImageClosure() {
 
   JpxImage.prototype = {
     parse: function JpxImage_parse(data) {
-      var head = (0, _util.readUint16)(data, 0);
+      var head = (0, _core_utils.readUint16)(data, 0);
 
-      if (head === 0xFF4F) {
+      if (head === 0xff4f) {
         this.parseCodestream(data, 0, data.length);
         return;
       }
@@ -23368,12 +13395,12 @@ var JpxImage = function JpxImageClosure() {
 
       while (position < length) {
         var headerSize = 8;
-        var lbox = (0, _util.readUint32)(data, position);
-        var tbox = (0, _util.readUint32)(data, position + 4);
+        var lbox = (0, _core_utils.readUint32)(data, position);
+        var tbox = (0, _core_utils.readUint32)(data, position + 4);
         position += headerSize;
 
         if (lbox === 1) {
-          lbox = (0, _util.readUint32)(data, position) * 4294967296 + (0, _util.readUint32)(data, position + 
4);
+          lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, 
_core_utils.readUint32)(data, position + 4);
           position += 8;
           headerSize += 8;
         }
@@ -23383,22 +13410,22 @@ var JpxImage = function JpxImageClosure() {
         }
 
         if (lbox < headerSize) {
-          throw new JpxError('Invalid box field size');
+          throw new JpxError("Invalid box field size");
         }
 
         var dataLength = lbox - headerSize;
         var jumpDataLength = true;
 
         switch (tbox) {
-          case 0x6A703268:
+          case 0x6a703268:
             jumpDataLength = false;
             break;
 
-          case 0x636F6C72:
+          case 0x636f6c72:
             var method = data[position];
 
             if (method === 1) {
-              var colorspace = (0, _util.readUint32)(data, position + 3);
+              var colorspace = (0, _core_utils.readUint32)(data, position + 3);
 
               switch (colorspace) {
                 case 16:
@@ -23407,27 +13434,27 @@ var JpxImage = function JpxImageClosure() {
                   break;
 
                 default:
-                  (0, _util.warn)('Unknown colorspace ' + colorspace);
+                  (0, _util.warn)("Unknown colorspace " + colorspace);
                   break;
               }
             } else if (method === 2) {
-              (0, _util.info)('ICC profile not supported');
+              (0, _util.info)("ICC profile not supported");
             }
 
             break;
 
-          case 0x6A703263:
+          case 0x6a703263:
             this.parseCodestream(data, position, position + dataLength);
             break;
 
-          case 0x6A502020:
-            if ((0, _util.readUint32)(data, position) !== 0x0d0a870a) {
-              (0, _util.warn)('Invalid JP2 signature');
+          case 0x6a502020:
+            if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {
+              (0, _util.warn)("Invalid JP2 signature");
             }
 
             break;
 
-          case 0x6A501A1A:
+          case 0x6a501a1a:
           case 0x66747970:
           case 0x72726571:
           case 0x72657320:
@@ -23435,8 +13462,8 @@ var JpxImage = function JpxImageClosure() {
             break;
 
           default:
-            var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, 
tbox & 0xFF);
-            (0, _util.warn)('Unsupported header type ' + tbox + ' (' + headerType + ')');
+            var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, 
tbox & 0xff);
+            (0, _util.warn)("Unsupported header type " + tbox + " (" + headerType + ")");
             break;
         }
 
@@ -23453,7 +13480,7 @@ var JpxImage = function JpxImageClosure() {
         newByte = stream.getByte();
         var code = oldByte << 8 | newByte;
 
-        if (code === 0xFF51) {
+        if (code === 0xff51) {
           stream.skip(4);
           var Xsiz = stream.getInt32() >>> 0;
           var Ysiz = stream.getInt32() >>> 0;
@@ -23469,7 +13496,7 @@ var JpxImage = function JpxImageClosure() {
         }
       }
 
-      throw new JpxError('No size marker found in JPX stream');
+      throw new JpxError("No size marker found in JPX stream");
     },
     parseCodestream: function JpxImage_parseCodestream(data, start, end) {
       var context = {};
@@ -23479,7 +13506,7 @@ var JpxImage = function JpxImageClosure() {
         var position = start;
 
         while (position + 1 < end) {
-          var code = (0, _util.readUint16)(data, position);
+          var code = (0, _core_utils.readUint16)(data, position);
           position += 2;
           var length = 0,
               j,
@@ -23490,32 +13517,32 @@ var JpxImage = function JpxImageClosure() {
               tile;
 
           switch (code) {
-            case 0xFF4F:
+            case 0xff4f:
               context.mainHeader = true;
               break;
 
-            case 0xFFD9:
+            case 0xffd9:
               break;
 
-            case 0xFF51:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff51:
+              length = (0, _core_utils.readUint16)(data, position);
               var siz = {};
-              siz.Xsiz = (0, _util.readUint32)(data, position + 4);
-              siz.Ysiz = (0, _util.readUint32)(data, position + 8);
-              siz.XOsiz = (0, _util.readUint32)(data, position + 12);
-              siz.YOsiz = (0, _util.readUint32)(data, position + 16);
-              siz.XTsiz = (0, _util.readUint32)(data, position + 20);
-              siz.YTsiz = (0, _util.readUint32)(data, position + 24);
-              siz.XTOsiz = (0, _util.readUint32)(data, position + 28);
-              siz.YTOsiz = (0, _util.readUint32)(data, position + 32);
-              var componentsCount = (0, _util.readUint16)(data, position + 36);
+              siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);
+              siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);
+              siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);
+              siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);
+              siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);
+              siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);
+              siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);
+              siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);
+              var componentsCount = (0, _core_utils.readUint16)(data, position + 36);
               siz.Csiz = componentsCount;
               var components = [];
               j = position + 38;
 
               for (var i = 0; i < componentsCount; i++) {
                 var component = {
-                  precision: (data[j] & 0x7F) + 1,
+                  precision: (data[j] & 0x7f) + 1,
                   isSigned: !!(data[j] & 0x80),
                   XRsiz: data[j + 1],
                   YRsiz: data[j + 2]
@@ -23532,13 +13559,13 @@ var JpxImage = function JpxImageClosure() {
               context.COC = [];
               break;
 
-            case 0xFF5C:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff5c:
+              length = (0, _core_utils.readUint16)(data, position);
               var qcd = {};
               j = position + 2;
               sqcd = data[j++];
 
-              switch (sqcd & 0x1F) {
+              switch (sqcd & 0x1f) {
                 case 0:
                   spqcdSize = 8;
                   scalarExpounded = true;
@@ -23555,7 +13582,7 @@ var JpxImage = function JpxImageClosure() {
                   break;
 
                 default:
-                  throw new Error('Invalid SQcd value ' + sqcd);
+                  throw new Error("Invalid SQcd value " + sqcd);
               }
 
               qcd.noQuantization = spqcdSize === 8;
@@ -23589,8 +13616,8 @@ var JpxImage = function JpxImageClosure() {
 
               break;
 
-            case 0xFF5D:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff5d:
+              length = (0, _core_utils.readUint16)(data, position);
               var qcc = {};
               j = position + 2;
               var cqcc;
@@ -23598,13 +13625,13 @@ var JpxImage = function JpxImageClosure() {
               if (context.SIZ.Csiz < 257) {
                 cqcc = data[j++];
               } else {
-                cqcc = (0, _util.readUint16)(data, j);
+                cqcc = (0, _core_utils.readUint16)(data, j);
                 j += 2;
               }
 
               sqcd = data[j++];
 
-              switch (sqcd & 0x1F) {
+              switch (sqcd & 0x1f) {
                 case 0:
                   spqcdSize = 8;
                   scalarExpounded = true;
@@ -23621,7 +13648,7 @@ var JpxImage = function JpxImageClosure() {
                   break;
 
                 default:
-                  throw new Error('Invalid SQcd value ' + sqcd);
+                  throw new Error("Invalid SQcd value " + sqcd);
               }
 
               qcc.noQuantization = spqcdSize === 8;
@@ -23654,8 +13681,8 @@ var JpxImage = function JpxImageClosure() {
 
               break;
 
-            case 0xFF52:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff52:
+              length = (0, _core_utils.readUint16)(data, position);
               var cod = {};
               j = position + 2;
               var scod = data[j++];
@@ -23663,12 +13690,12 @@ var JpxImage = function JpxImageClosure() {
               cod.sopMarkerUsed = !!(scod & 2);
               cod.ephMarkerUsed = !!(scod & 4);
               cod.progressionOrder = data[j++];
-              cod.layersCount = (0, _util.readUint16)(data, j);
+              cod.layersCount = (0, _core_utils.readUint16)(data, j);
               j += 2;
               cod.multipleComponentTransform = data[j++];
               cod.decompositionLevelsCount = data[j++];
-              cod.xcb = (data[j++] & 0xF) + 2;
-              cod.ycb = (data[j++] & 0xF) + 2;
+              cod.xcb = (data[j++] & 0xf) + 2;
+              cod.ycb = (data[j++] & 0xf) + 2;
               var blockStyle = data[j++];
               cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);
               cod.resetContextProbabilities = !!(blockStyle & 2);
@@ -23684,7 +13711,7 @@ var JpxImage = function JpxImageClosure() {
                 while (j < length + position) {
                   var precinctsSize = data[j++];
                   precinctsSizes.push({
-                    PPx: precinctsSize & 0xF,
+                    PPx: precinctsSize & 0xf,
                     PPy: precinctsSize >> 4
                   });
                 }
@@ -23695,28 +13722,28 @@ var JpxImage = function JpxImageClosure() {
               var unsupported = [];
 
               if (cod.selectiveArithmeticCodingBypass) {
-                unsupported.push('selectiveArithmeticCodingBypass');
+                unsupported.push("selectiveArithmeticCodingBypass");
               }
 
               if (cod.resetContextProbabilities) {
-                unsupported.push('resetContextProbabilities');
+                unsupported.push("resetContextProbabilities");
               }
 
               if (cod.terminationOnEachCodingPass) {
-                unsupported.push('terminationOnEachCodingPass');
+                unsupported.push("terminationOnEachCodingPass");
               }
 
               if (cod.verticallyStripe) {
-                unsupported.push('verticallyStripe');
+                unsupported.push("verticallyStripe");
               }
 
               if (cod.predictableTermination) {
-                unsupported.push('predictableTermination');
+                unsupported.push("predictableTermination");
               }
 
               if (unsupported.length > 0) {
                 doNotRecover = true;
-                throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')');
+                throw new Error("Unsupported COD options (" + unsupported.join(", ") + ")");
               }
 
               if (context.mainHeader) {
@@ -23728,11 +13755,11 @@ var JpxImage = function JpxImageClosure() {
 
               break;
 
-            case 0xFF90:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff90:
+              length = (0, _core_utils.readUint16)(data, position);
               tile = {};
-              tile.index = (0, _util.readUint16)(data, position + 2);
-              tile.length = (0, _util.readUint32)(data, position + 4);
+              tile.index = (0, _core_utils.readUint16)(data, position + 2);
+              tile.length = (0, _core_utils.readUint32)(data, position + 4);
               tile.dataEnd = tile.length + position - 2;
               tile.partIndex = data[position + 8];
               tile.partsCount = data[position + 9];
@@ -23748,7 +13775,7 @@ var JpxImage = function JpxImageClosure() {
               context.currentTile = tile;
               break;
 
-            case 0xFF93:
+            case 0xff93:
               tile = context.currentTile;
 
               if (tile.partIndex === 0) {
@@ -23760,18 +13787,18 @@ var JpxImage = function JpxImageClosure() {
               parseTilePackets(context, data, position, length);
               break;
 
-            case 0xFF55:
-            case 0xFF57:
-            case 0xFF58:
-            case 0xFF64:
-              length = (0, _util.readUint16)(data, position);
+            case 0xff55:
+            case 0xff57:
+            case 0xff58:
+            case 0xff64:
+              length = (0, _core_utils.readUint16)(data, position);
               break;
 
-            case 0xFF53:
-              throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented');
+            case 0xff53:
+              throw new Error("Codestream code 0xFF53 (COC) is not implemented");
 
             default:
-              throw new Error('Unknown codestream code: ' + code.toString(16));
+              throw new Error("Unknown codestream code: " + code.toString(16));
           }
 
           position += length;
@@ -23780,7 +13807,7 @@ var JpxImage = function JpxImageClosure() {
         if (doNotRecover || this.failOnCorruptedImage) {
           throw new JpxError(e.message);
         } else {
-          (0, _util.warn)('JPX: Trying to recover from: ' + e.message);
+          (0, _util.warn)("JPX: Trying to recover from: " + e.message);
         }
       }
 
@@ -23868,13 +13895,13 @@ var JpxImage = function JpxImageClosure() {
     var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - 
Math.floor(resolution.try0 / precinctHeight) : 0;
     var numprecincts = numprecinctswide * numprecinctshigh;
     resolution.precinctParameters = {
-      precinctWidth: precinctWidth,
-      precinctHeight: precinctHeight,
-      numprecinctswide: numprecinctswide,
-      numprecinctshigh: numprecinctshigh,
-      numprecincts: numprecincts,
-      precinctWidthInSubband: precinctWidthInSubband,
-      precinctHeightInSubband: precinctHeightInSubband
+      precinctWidth,
+      precinctHeight,
+      numprecinctswide,
+      numprecinctshigh,
+      numprecincts,
+      precinctWidthInSubband,
+      precinctHeightInSubband
     };
   }
 
@@ -23975,7 +14002,7 @@ var JpxImage = function JpxImageClosure() {
     }
 
     return {
-      layerNumber: layerNumber,
+      layerNumber,
       codeblocks: precinctCodeblocks
     };
   }
@@ -24025,7 +14052,7 @@ var JpxImage = function JpxImageClosure() {
         r = 0;
       }
 
-      throw new JpxError('Out of packets');
+      throw new JpxError("Out of packets");
     };
   }
 
@@ -24074,7 +14101,7 @@ var JpxImage = function JpxImageClosure() {
         l = 0;
       }
 
-      throw new JpxError('Out of packets');
+      throw new JpxError("Out of packets");
     };
   }
 
@@ -24145,7 +14172,7 @@ var JpxImage = function JpxImageClosure() {
         p = 0;
       }
 
-      throw new JpxError('Out of packets');
+      throw new JpxError("Out of packets");
     };
   }
 
@@ -24197,7 +14224,7 @@ var JpxImage = function JpxImageClosure() {
         px = 0;
       }
 
-      throw new JpxError('Out of packets');
+      throw new JpxError("Out of packets");
     };
   }
 
@@ -24249,7 +14276,7 @@ var JpxImage = function JpxImageClosure() {
         py = 0;
       }
 
-      throw new JpxError('Out of packets');
+      throw new JpxError("Out of packets");
     };
   }
 
@@ -24313,10 +14340,10 @@ var JpxImage = function JpxImageClosure() {
 
     return {
       components: sizePerComponent,
-      minWidth: minWidth,
-      minHeight: minHeight,
-      maxNumWide: maxNumWide,
-      maxNumHigh: maxNumHigh
+      minWidth,
+      minHeight,
+      maxNumWide,
+      maxNumHigh
     };
   }
 
@@ -24347,7 +14374,7 @@ var JpxImage = function JpxImageClosure() {
 
         if (r === 0) {
           subband = {};
-          subband.type = 'LL';
+          subband.type = "LL";
           subband.tbx0 = Math.ceil(component.tcx0 / scale);
           subband.tby0 = Math.ceil(component.tcy0 / scale);
           subband.tbx1 = Math.ceil(component.tcx1 / scale);
@@ -24360,7 +14387,7 @@ var JpxImage = function JpxImageClosure() {
           var bscale = 1 << decompositionLevelsCount - r + 1;
           var resolutionSubbands = [];
           subband = {};
-          subband.type = 'HL';
+          subband.type = "HL";
           subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);
           subband.tby0 = Math.ceil(component.tcy0 / bscale);
           subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);
@@ -24370,7 +14397,7 @@ var JpxImage = function JpxImageClosure() {
           subbands.push(subband);
           resolutionSubbands.push(subband);
           subband = {};
-          subband.type = 'LH';
+          subband.type = "LH";
           subband.tbx0 = Math.ceil(component.tcx0 / bscale);
           subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);
           subband.tbx1 = Math.ceil(component.tcx1 / bscale);
@@ -24380,7 +14407,7 @@ var JpxImage = function JpxImageClosure() {
           subbands.push(subband);
           resolutionSubbands.push(subband);
           subband = {};
-          subband.type = 'HH';
+          subband.type = "HH";
           subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);
           subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);
           subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);
@@ -24421,7 +14448,7 @@ var JpxImage = function JpxImageClosure() {
         break;
 
       default:
-        throw new JpxError("Unsupported progression order ".concat(progressionOrder));
+        throw new JpxError(`Unsupported progression order ${progressionOrder}`);
     }
   }
 
@@ -24445,7 +14472,7 @@ var JpxImage = function JpxImageClosure() {
           bufferSize += 8;
         }
 
-        if (b === 0xFF) {
+        if (b === 0xff) {
           skipNextBit = true;
         }
       }
@@ -24455,10 +14482,10 @@ var JpxImage = function JpxImageClosure() {
     }
 
     function skipMarkerIfEqual(value) {
-      if (data[offset + position - 1] === 0xFF && data[offset + position] === value) {
+      if (data[offset + position - 1] === 0xff && data[offset + position] === value) {
         skipBytes(1);
         return true;
-      } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) {
+      } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {
         skipBytes(2);
         return true;
       }
@@ -24536,13 +14563,13 @@ var JpxImage = function JpxImageClosure() {
         var firstTimeInclusion = false;
         var valueReady;
 
-        if (codeblock['included'] !== undefined) {
+        if (codeblock["included"] !== undefined) {
           codeblockIncluded = !!readBits(1);
         } else {
           precinct = codeblock.precinct;
           var inclusionTree, zeroBitPlanesTree;
 
-          if (precinct['inclusionTree'] !== undefined) {
+          if (precinct["inclusionTree"] !== undefined) {
             inclusionTree = precinct.inclusionTree;
           } else {
             var width = precinct.cbxMax - precinct.cbxMin + 1;
@@ -24600,12 +14627,12 @@ var JpxImage = function JpxImageClosure() {
           codeblock.Lblock++;
         }
 
-        var codingpassesLog2 = (0, _util.log2)(codingpasses);
+        var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);
         var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + 
codeblock.Lblock;
         var codedDataLength = readBits(bits);
         queue.push({
-          codeblock: codeblock,
-          codingpasses: codingpasses,
+          codeblock,
+          codingpasses,
           dataLength: codedDataLength
         });
       }
@@ -24620,12 +14647,12 @@ var JpxImage = function JpxImageClosure() {
         var packetItem = queue.shift();
         codeblock = packetItem.codeblock;
 
-        if (codeblock['data'] === undefined) {
+        if (codeblock["data"] === undefined) {
           codeblock.data = [];
         }
 
         codeblock.data.push({
-          data: data,
+          data,
           start: offset + position,
           end: offset + position + packetItem.dataLength,
           codingpasses: packetItem.codingpasses
@@ -24642,8 +14669,8 @@ var JpxImage = function JpxImageClosure() {
     var y0 = subband.tby0;
     var width = subband.tbx1 - subband.tbx0;
     var codeblocks = subband.codeblocks;
-    var right = subband.type.charAt(0) === 'H' ? 1 : 0;
-    var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;
+    var right = subband.type.charAt(0) === "H" ? 1 : 0;
+    var bottom = subband.type.charAt(1) === "H" ? levelWidth : 0;
 
     for (var i = 0, ii = codeblocks.length; i < ii; ++i) {
       var codeblock = codeblocks[i];
@@ -24654,7 +14681,7 @@ var JpxImage = function JpxImageClosure() {
         continue;
       }
 
-      if (codeblock['data'] === undefined) {
+      if (codeblock["data"] === undefined) {
         continue;
       }
 
@@ -24715,7 +14742,7 @@ var JpxImage = function JpxImageClosure() {
       var magnitudeCorrection = reversible ? 0 : 0.5;
       var k, n, nb;
       position = 0;
-      var interleave = subband.type !== 'LL';
+      var interleave = subband.type !== "LL";
 
       for (j = 0; j < blockHeight; j++) {
         var row = offset / width | 0;
@@ -24785,14 +14812,14 @@ var JpxImage = function JpxImageClosure() {
 
         var subband = resolution.subbands[j];
         var gainLog2 = SubbandsGainLog2[subband.type];
-        var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);
+        var delta = reversible ? 1 : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);
         var mb = guardBits + epsilon - 1;
         copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, 
segmentationSymbolUsed);
       }
 
       subbandCoefficients.push({
-        width: width,
-        height: height,
+        width,
+        height,
         items: coefficients
       });
     }
@@ -24865,7 +14892,7 @@ var JpxImage = function JpxImageClosure() {
             y0 = y0items[j] + offset;
             y1 = y1items[j];
             y2 = y2items[j];
-            var g = y0 - (y2 + y1 >> 2);
+            const g = y0 - (y2 + y1 >> 2);
             out[pos++] = g + y2 >> shift;
             out[pos++] = g >> shift;
             out[pos++] = g + y1 >> shift;
@@ -24914,13 +14941,13 @@ var JpxImage = function JpxImageClosure() {
 
   var TagTree = function TagTreeClosure() {
     function TagTree(width, height) {
-      var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;
+      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;
       this.levels = [];
 
       for (var i = 0; i < levelsLength; i++) {
         var level = {
-          width: width,
-          height: height,
+          width,
+          height,
           items: []
         };
         this.levels.push(level);
@@ -24982,7 +15009,7 @@ var JpxImage = function JpxImageClosure() {
 
   var InclusionTree = function InclusionTreeClosure() {
     function InclusionTree(width, height, defaultValue) {
-      var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;
+      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;
       this.levels = [];
 
       for (var i = 0; i < levelsLength; i++) {
@@ -24993,9 +15020,9 @@ var JpxImage = function JpxImageClosure() {
         }
 
         var level = {
-          width: width,
-          height: height,
-          items: items
+          width,
+          height,
+          items
         };
         this.levels.push(level);
         width = Math.ceil(width / 2);
@@ -25013,7 +15040,7 @@ var JpxImage = function JpxImageClosure() {
           level.index = index;
           var value = level.items[index];
 
-          if (value === 0xFF) {
+          if (value === 0xff) {
             break;
           }
 
@@ -25050,7 +15077,7 @@ var JpxImage = function JpxImageClosure() {
         var currentLevel = this.currentLevel;
         var level = this.levels[currentLevel];
         var value = level.items[level.index];
-        level.items[level.index] = 0xFF;
+        level.items[level.index] = 0xff;
         currentLevel--;
 
         if (currentLevel < 0) {
@@ -25076,11 +15103,31 @@ var JpxImage = function JpxImageClosure() {
     function BitModel(width, height, subband, zeroBitPlanes, mb) {
       this.width = width;
       this.height = height;
-      this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : 
LLAndLHContextsLabel;
+      let contextLabelTable;
+
+      if (subband === "HH") {
+        contextLabelTable = HHContextLabel;
+      } else if (subband === "HL") {
+        contextLabelTable = HLContextLabel;
+      } else {
+        contextLabelTable = LLAndLHContextsLabel;
+      }
+
+      this.contextLabelTable = contextLabelTable;
       var coefficientCount = width * height;
       this.neighborsSignificance = new Uint8Array(coefficientCount);
       this.coefficentsSign = new Uint8Array(coefficientCount);
-      this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new 
Uint16Array(coefficientCount) : new Uint8Array(coefficientCount);
+      let coefficentsMagnitude;
+
+      if (mb > 14) {
+        coefficentsMagnitude = new Uint32Array(coefficientCount);
+      } else if (mb > 6) {
+        coefficentsMagnitude = new Uint16Array(coefficientCount);
+      } else {
+        coefficentsMagnitude = new Uint8Array(coefficientCount);
+      }
+
+      this.coefficentsMagnitude = coefficentsMagnitude;
       this.processingFlags = new Uint8Array(coefficientCount);
       var bitsDecoded = new Uint8Array(coefficientCount);
 
@@ -25381,8 +15428,8 @@ var JpxImage = function JpxImageClosure() {
         var contexts = this.contexts;
         var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, 
UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, 
UNIFORM_CONTEXT);
 
-        if (symbol !== 0xA) {
-          throw new JpxError('Invalid segmentation symbol');
+        if (symbol !== 0xa) {
+          throw new JpxError("Invalid segmentation symbol");
         }
       }
     };
@@ -25502,9 +15549,9 @@ var JpxImage = function JpxImageClosure() {
       }
 
       return {
-        width: width,
-        height: height,
-        items: items
+        width,
+        height,
+        items
       };
     };
 
@@ -25634,7 +15681,7 @@ var JpxImage = function JpxImageClosure() {
 exports.JpxImage = JpxImage;
 
 /***/ }),
-/* 200 */
+/* 21 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -25645,29 +15692,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = 
exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher 
= exports.AES128Cipher = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _stream = __w_pdfjs_require__(190);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+var _util = __w_pdfjs_require__(2);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+var _primitives = __w_pdfjs_require__(4);
 
-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 } }); 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 _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); return Constructor; }
+var _stream = __w_pdfjs_require__(11);
 
 var ARCFourCipher = function ARCFourCipherClosure() {
   function ARCFourCipher(key) {
@@ -25685,7 +15714,7 @@ var ARCFourCipher = function ARCFourCipherClosure() {
 
     for (i = 0; i < 256; ++i) {
       tmp = s[i];
-      j = j + tmp + key[i % keyLength] & 0xFF;
+      j = j + tmp + key[i % keyLength] & 0xff;
       s[i] = s[j];
       s[j] = tmp;
     }
@@ -25705,13 +15734,13 @@ var ARCFourCipher = function ARCFourCipherClosure() {
       var output = new Uint8Array(n);
 
       for (i = 0; i < n; ++i) {
-        a = a + 1 & 0xFF;
+        a = a + 1 & 0xff;
         tmp = s[a];
-        b = b + tmp & 0xFF;
+        b = b + tmp & 0xff;
         tmp2 = s[b];
         s[a] = tmp2;
         s[b] = tmp;
-        output[i] = data[i] ^ s[tmp + tmp2 & 0xFF];
+        output[i] = data[i] ^ s[tmp + tmp2 & 0xff];
       }
 
       this.a = a;
@@ -25749,11 +15778,11 @@ var calculateMD5 = function calculateMD5Closure() {
       padded[i++] = 0;
     }
 
-    padded[i++] = length << 3 & 0xFF;
-    padded[i++] = length >> 5 & 0xFF;
-    padded[i++] = length >> 13 & 0xFF;
-    padded[i++] = length >> 21 & 0xFF;
-    padded[i++] = length >>> 29 & 0xFF;
+    padded[i++] = length << 3 & 0xff;
+    padded[i++] = length >> 5 & 0xff;
+    padded[i++] = length >> 13 & 0xff;
+    padded[i++] = length >> 21 & 0xff;
+    padded[i++] = length >>> 29 & 0xff;
     padded[i++] = 0;
     padded[i++] = 0;
     padded[i++] = 0;
@@ -25869,7 +15898,7 @@ var Word64 = function Word64Closure() {
       var lowAdd = (this.low >>> 0) + (word.low >>> 0);
       var highAdd = (this.high >>> 0) + (word.high >>> 0);
 
-      if (lowAdd > 0xFFFFFFFF) {
+      if (lowAdd > 0xffffffff) {
         highAdd += 1;
       }
 
@@ -25877,14 +15906,14 @@ var Word64 = function Word64Closure() {
       this.high = highAdd | 0;
     },
     copyTo: function Word64_copyTo(bytes, offset) {
-      bytes[offset] = this.high >>> 24 & 0xFF;
-      bytes[offset + 1] = this.high >> 16 & 0xFF;
-      bytes[offset + 2] = this.high >> 8 & 0xFF;
-      bytes[offset + 3] = this.high & 0xFF;
-      bytes[offset + 4] = this.low >>> 24 & 0xFF;
-      bytes[offset + 5] = this.low >> 16 & 0xFF;
-      bytes[offset + 6] = this.low >> 8 & 0xFF;
-      bytes[offset + 7] = this.low & 0xFF;
+      bytes[offset] = this.high >>> 24 & 0xff;
+      bytes[offset + 1] = this.high >> 16 & 0xff;
+      bytes[offset + 2] = this.high >> 8 & 0xff;
+      bytes[offset + 3] = this.high & 0xff;
+      bytes[offset + 4] = this.low >>> 24 & 0xff;
+      bytes[offset + 5] = this.low >> 16 & 0xff;
+      bytes[offset + 6] = this.low >> 8 & 0xff;
+      bytes[offset + 7] = this.low & 0xff;
     },
     assign: function Word64_assign(word) {
       this.high = word.high;
@@ -25952,11 +15981,11 @@ var calculateSHA256 = function calculateSHA256Closure() {
     padded[i++] = 0;
     padded[i++] = 0;
     padded[i++] = 0;
-    padded[i++] = length >>> 29 & 0xFF;
-    padded[i++] = length >> 21 & 0xFF;
-    padded[i++] = length >> 13 & 0xFF;
-    padded[i++] = length >> 5 & 0xFF;
-    padded[i++] = length << 3 & 0xFF;
+    padded[i++] = length >>> 29 & 0xff;
+    padded[i++] = length >> 21 & 0xff;
+    padded[i++] = length >> 13 & 0xff;
+    padded[i++] = length >> 5 & 0xff;
+    padded[i++] = length << 3 & 0xff;
     var w = new Uint32Array(64);
 
     for (i = 0; i < paddedLength;) {
@@ -26128,11 +16157,11 @@ var calculateSHA512 = function calculateSHA512Closure() {
     padded[i++] = 0;
     padded[i++] = 0;
     padded[i++] = 0;
-    padded[i++] = length >>> 29 & 0xFF;
-    padded[i++] = length >> 21 & 0xFF;
-    padded[i++] = length >> 13 & 0xFF;
-    padded[i++] = length >> 5 & 0xFF;
-    padded[i++] = length << 3 & 0xFF;
+    padded[i++] = length >>> 29 & 0xff;
+    padded[i++] = length >> 21 & 0xff;
+    padded[i++] = length >> 13 & 0xff;
+    padded[i++] = length >> 5 & 0xff;
+    padded[i++] = length << 3 & 0xff;
     var w = new Array(80);
 
     for (i = 0; i < 80; i++) {
@@ -26264,14 +16293,10 @@ var NullCipher = function NullCipherClosure() {
   return NullCipher;
 }();
 
-var AESBaseCipher =
-/*#__PURE__*/
-function () {
-  function AESBaseCipher() {
-    _classCallCheck(this, AESBaseCipher);
-
+class AESBaseCipher {
+  constructor() {
     if (this.constructor === AESBaseCipher) {
-      (0, _util.unreachable)('Cannot initialize AESBaseCipher.');
+      (0, _util.unreachable)("Cannot initialize AESBaseCipher.");
     }
 
     this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 
0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 
0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 
0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 
0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 
0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 
0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 
0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 
0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 
0x5e, 0x0b, 0xdb, 0xe0, 0
 x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 
0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 
0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 
0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 
0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 
0x0f, 0xb0, 0x54, 0xbb, 0x16]);
@@ -26279,7 +16304,7 @@ function () {
     this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 
0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 
0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 
0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 
0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 
0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 
0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 
0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 
0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 
0xf9082b94, 0xf701269f, 0x4d
 e6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 
0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 
0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 
0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 
0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 
0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 
0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 
0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 
0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 
0x94de6c87, 0x86c57b9a, 0x88c
 c7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 
0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 
0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 
0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 
0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 
0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 
0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 
0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 
0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 
0xef15e8e6, 0xe11ce5ed, 0xf307
 f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 
0x8d4697a3]);
     this._mixCol = new Uint8Array(256);
 
-    for (var i = 0; i < 256; i++) {
+    for (let i = 0; i < 256; i++) {
       if (i < 128) {
         this._mixCol[i] = i << 1;
       } else {
@@ -26291,63 +16316,20 @@ function () {
     this.bufferPosition = 0;
   }
 
-  _createClass(AESBaseCipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      (0, _util.unreachable)('Cannot call `_expandKey` on the base class');
-    }
-  }, {
-    key: "_decrypt",
-    value: function _decrypt(input, key) {
-      var t, u, v;
-      var state = new Uint8Array(16);
-      state.set(input);
-
-      for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {
-        state[j] ^= key[k];
-      }
-
-      for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {
-        t = state[13];
-        state[13] = state[9];
-        state[9] = state[5];
-        state[5] = state[1];
-        state[1] = t;
-        t = state[14];
-        u = state[10];
-        state[14] = state[6];
-        state[10] = state[2];
-        state[6] = t;
-        state[2] = u;
-        t = state[15];
-        u = state[11];
-        v = state[7];
-        state[15] = state[3];
-        state[11] = t;
-        state[7] = u;
-        state[3] = v;
-
-        for (var _j = 0; _j < 16; ++_j) {
-          state[_j] = this._inv_s[state[_j]];
-        }
+  _expandKey(cipherKey) {
+    (0, _util.unreachable)("Cannot call `_expandKey` on the base class");
+  }
 
-        for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {
-          state[_j2] ^= key[_k];
-        }
+  _decrypt(input, key) {
+    let t, u, v;
+    const state = new Uint8Array(16);
+    state.set(input);
 
-        for (var _j3 = 0; _j3 < 16; _j3 += 4) {
-          var s0 = this._mix[state[_j3]];
-          var s1 = this._mix[state[_j3 + 1]];
-          var s2 = this._mix[state[_j3 + 2]];
-          var s3 = this._mix[state[_j3 + 3]];
-          t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;
-          state[_j3] = t >>> 24 & 0xFF;
-          state[_j3 + 1] = t >> 16 & 0xFF;
-          state[_j3 + 2] = t >> 8 & 0xFF;
-          state[_j3 + 3] = t & 0xFF;
-        }
-      }
+    for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
+      state[j] ^= key[k];
+    }
 
+    for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {
       t = state[13];
       state[13] = state[9];
       state[9] = state[5];
@@ -26367,68 +16349,67 @@ function () {
       state[7] = u;
       state[3] = v;
 
-      for (var _j4 = 0; _j4 < 16; ++_j4) {
-        state[_j4] = this._inv_s[state[_j4]];
-        state[_j4] ^= key[_j4];
+      for (let j = 0; j < 16; ++j) {
+        state[j] = this._inv_s[state[j]];
+      }
+
+      for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
+        state[j] ^= key[k];
       }
 
-      return state;
+      for (let j = 0; j < 16; j += 4) {
+        const s0 = this._mix[state[j]];
+        const s1 = this._mix[state[j + 1]];
+        const s2 = this._mix[state[j + 2]];
+        const s3 = this._mix[state[j + 3]];
+        t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;
+        state[j] = t >>> 24 & 0xff;
+        state[j + 1] = t >> 16 & 0xff;
+        state[j + 2] = t >> 8 & 0xff;
+        state[j + 3] = t & 0xff;
+      }
     }
-  }, {
-    key: "_encrypt",
-    value: function _encrypt(input, key) {
-      var s = this._s;
-      var t, u, v;
-      var state = new Uint8Array(16);
-      state.set(input);
-
-      for (var j = 0; j < 16; ++j) {
-        state[j] ^= key[j];
-      }
-
-      for (var i = 1; i < this._cyclesOfRepetition; i++) {
-        for (var _j5 = 0; _j5 < 16; ++_j5) {
-          state[_j5] = s[state[_j5]];
-        }
-
-        v = state[1];
-        state[1] = state[5];
-        state[5] = state[9];
-        state[9] = state[13];
-        state[13] = v;
-        v = state[2];
-        u = state[6];
-        state[2] = state[10];
-        state[6] = state[14];
-        state[10] = v;
-        state[14] = u;
-        v = state[3];
-        u = state[7];
-        t = state[11];
-        state[3] = state[15];
-        state[7] = v;
-        state[11] = u;
-        state[15] = t;
-
-        for (var _j6 = 0; _j6 < 16; _j6 += 4) {
-          var s0 = state[_j6 + 0];
-          var s1 = state[_j6 + 1];
-          var s2 = state[_j6 + 2];
-          var s3 = state[_j6 + 3];
-          t = s0 ^ s1 ^ s2 ^ s3;
-          state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];
-          state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];
-          state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];
-          state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];
-        }
-
-        for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {
-          state[_j7] ^= key[k];
-        }
-      }
-
-      for (var _j8 = 0; _j8 < 16; ++_j8) {
-        state[_j8] = s[state[_j8]];
+
+    t = state[13];
+    state[13] = state[9];
+    state[9] = state[5];
+    state[5] = state[1];
+    state[1] = t;
+    t = state[14];
+    u = state[10];
+    state[14] = state[6];
+    state[10] = state[2];
+    state[6] = t;
+    state[2] = u;
+    t = state[15];
+    u = state[11];
+    v = state[7];
+    state[15] = state[3];
+    state[11] = t;
+    state[7] = u;
+    state[3] = v;
+
+    for (let j = 0; j < 16; ++j) {
+      state[j] = this._inv_s[state[j]];
+      state[j] ^= key[j];
+    }
+
+    return state;
+  }
+
+  _encrypt(input, key) {
+    const s = this._s;
+    let t, u, v;
+    const state = new Uint8Array(16);
+    state.set(input);
+
+    for (let j = 0; j < 16; ++j) {
+      state[j] ^= key[j];
+    }
+
+    for (let i = 1; i < this._cyclesOfRepetition; i++) {
+      for (let j = 0; j < 16; ++j) {
+        state[j] = s[state[j]];
       }
 
       v = state[1];
@@ -26450,285 +16431,293 @@ function () {
       state[11] = u;
       state[15] = t;
 
-      for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {
-        state[_j9] ^= key[_k2];
+      for (let j = 0; j < 16; j += 4) {
+        const s0 = state[j + 0];
+        const s1 = state[j + 1];
+        const s2 = state[j + 2];
+        const s3 = state[j + 3];
+        t = s0 ^ s1 ^ s2 ^ s3;
+        state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];
+        state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];
+        state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];
+        state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];
       }
 
-      return state;
+      for (let j = 0, k = i * 16; j < 16; ++j, ++k) {
+        state[j] ^= key[k];
+      }
     }
-  }, {
-    key: "_decryptBlock2",
-    value: function _decryptBlock2(data, finalize) {
-      var sourceLength = data.length;
-      var buffer = this.buffer,
-          bufferLength = this.bufferPosition;
-      var result = [],
-          iv = this.iv;
-
-      for (var i = 0; i < sourceLength; ++i) {
-        buffer[bufferLength] = data[i];
-        ++bufferLength;
 
-        if (bufferLength < 16) {
-          continue;
-        }
+    for (let j = 0; j < 16; ++j) {
+      state[j] = s[state[j]];
+    }
+
+    v = state[1];
+    state[1] = state[5];
+    state[5] = state[9];
+    state[9] = state[13];
+    state[13] = v;
+    v = state[2];
+    u = state[6];
+    state[2] = state[10];
+    state[6] = state[14];
+    state[10] = v;
+    state[14] = u;
+    v = state[3];
+    u = state[7];
+    t = state[11];
+    state[3] = state[15];
+    state[7] = v;
+    state[11] = u;
+    state[15] = t;
 
-        var plain = this._decrypt(buffer, this._key);
+    for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {
+      state[j] ^= key[k];
+    }
+
+    return state;
+  }
+
+  _decryptBlock2(data, finalize) {
+    const sourceLength = data.length;
+    let buffer = this.buffer,
+        bufferLength = this.bufferPosition;
+    const result = [];
+    let iv = this.iv;
+
+    for (let i = 0; i < sourceLength; ++i) {
+      buffer[bufferLength] = data[i];
+      ++bufferLength;
+
+      if (bufferLength < 16) {
+        continue;
+      }
+
+      const plain = this._decrypt(buffer, this._key);
+
+      for (let j = 0; j < 16; ++j) {
+        plain[j] ^= iv[j];
+      }
+
+      iv = buffer;
+      result.push(plain);
+      buffer = new Uint8Array(16);
+      bufferLength = 0;
+    }
+
+    this.buffer = buffer;
+    this.bufferLength = bufferLength;
+    this.iv = iv;
+
+    if (result.length === 0) {
+      return new Uint8Array(0);
+    }
+
+    let outputLength = 16 * result.length;
+
+    if (finalize) {
+      const lastBlock = result[result.length - 1];
+      let psLen = lastBlock[15];
 
-        for (var j = 0; j < 16; ++j) {
-          plain[j] ^= iv[j];
+      if (psLen <= 16) {
+        for (let i = 15, ii = 16 - psLen; i >= ii; --i) {
+          if (lastBlock[i] !== psLen) {
+            psLen = 0;
+            break;
+          }
         }
 
-        iv = buffer;
-        result.push(plain);
-        buffer = new Uint8Array(16);
-        bufferLength = 0;
+        outputLength -= psLen;
+        result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);
       }
+    }
 
-      this.buffer = buffer;
-      this.bufferLength = bufferLength;
+    const output = new Uint8Array(outputLength);
+
+    for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
+      output.set(result[i], j);
+    }
+
+    return output;
+  }
+
+  decryptBlock(data, finalize, iv = null) {
+    const sourceLength = data.length;
+    const buffer = this.buffer;
+    let bufferLength = this.bufferPosition;
+
+    if (iv) {
       this.iv = iv;
+    } else {
+      for (let i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {
+        buffer[bufferLength] = data[i];
+      }
 
-      if (result.length === 0) {
+      if (bufferLength < 16) {
+        this.bufferLength = bufferLength;
         return new Uint8Array(0);
       }
 
-      var outputLength = 16 * result.length;
+      this.iv = buffer;
+      data = data.subarray(16);
+    }
 
-      if (finalize) {
-        var lastBlock = result[result.length - 1];
-        var psLen = lastBlock[15];
+    this.buffer = new Uint8Array(16);
+    this.bufferLength = 0;
+    this.decryptBlock = this._decryptBlock2;
+    return this.decryptBlock(data, finalize);
+  }
 
-        if (psLen <= 16) {
-          for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {
-            if (lastBlock[_i] !== psLen) {
-              psLen = 0;
-              break;
-            }
-          }
+  encrypt(data, iv) {
+    const sourceLength = data.length;
+    let buffer = this.buffer,
+        bufferLength = this.bufferPosition;
+    const result = [];
 
-          outputLength -= psLen;
-          result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);
-        }
-      }
+    if (!iv) {
+      iv = new Uint8Array(16);
+    }
 
-      var output = new Uint8Array(outputLength);
+    for (let i = 0; i < sourceLength; ++i) {
+      buffer[bufferLength] = data[i];
+      ++bufferLength;
 
-      for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {
-        output.set(result[_i2], _j10);
+      if (bufferLength < 16) {
+        continue;
       }
 
-      return output;
-    }
-  }, {
-    key: "decryptBlock",
-    value: function decryptBlock(data, finalize) {
-      var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var sourceLength = data.length;
-      var buffer = this.buffer,
-          bufferLength = this.bufferPosition;
-
-      if (iv) {
-        this.iv = iv;
-      } else {
-        for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {
-          buffer[bufferLength] = data[i];
-        }
+      for (let j = 0; j < 16; ++j) {
+        buffer[j] ^= iv[j];
+      }
 
-        if (bufferLength < 16) {
-          this.bufferLength = bufferLength;
-          return new Uint8Array(0);
-        }
+      const cipher = this._encrypt(buffer, this._key);
 
-        this.iv = buffer;
-        data = data.subarray(16);
-      }
+      iv = cipher;
+      result.push(cipher);
+      buffer = new Uint8Array(16);
+      bufferLength = 0;
+    }
 
-      this.buffer = new Uint8Array(16);
-      this.bufferLength = 0;
-      this.decryptBlock = this._decryptBlock2;
-      return this.decryptBlock(data, finalize);
+    this.buffer = buffer;
+    this.bufferLength = bufferLength;
+    this.iv = iv;
+
+    if (result.length === 0) {
+      return new Uint8Array(0);
     }
-  }, {
-    key: "encrypt",
-    value: function encrypt(data, iv) {
-      var sourceLength = data.length;
-      var buffer = this.buffer,
-          bufferLength = this.bufferPosition;
-      var result = [];
 
-      if (!iv) {
-        iv = new Uint8Array(16);
-      }
+    const outputLength = 16 * result.length;
+    const output = new Uint8Array(outputLength);
 
-      for (var i = 0; i < sourceLength; ++i) {
-        buffer[bufferLength] = data[i];
-        ++bufferLength;
+    for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {
+      output.set(result[i], j);
+    }
 
-        if (bufferLength < 16) {
-          continue;
-        }
+    return output;
+  }
 
-        for (var j = 0; j < 16; ++j) {
-          buffer[j] ^= iv[j];
-        }
+}
 
-        var cipher = this._encrypt(buffer, this._key);
+class AES128Cipher extends AESBaseCipher {
+  constructor(key) {
+    super();
+    this._cyclesOfRepetition = 10;
+    this._keySize = 160;
+    this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 
0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 
0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 
0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 
0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 
0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 
0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 
0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 
0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 
0x04, 0x08, 0x10, 0x20, 0x40
 , 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 
0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 
0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 
0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 
0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 
0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);
+    this._key = this._expandKey(key);
+  }
 
-        iv = cipher;
-        result.push(cipher);
-        buffer = new Uint8Array(16);
-        bufferLength = 0;
-      }
+  _expandKey(cipherKey) {
+    const b = 176;
+    const s = this._s;
+    const rcon = this._rcon;
+    const result = new Uint8Array(b);
+    result.set(cipherKey);
 
-      this.buffer = buffer;
-      this.bufferLength = bufferLength;
-      this.iv = iv;
+    for (let j = 16, i = 1; j < b; ++i) {
+      let t1 = result[j - 3];
+      let t2 = result[j - 2];
+      let t3 = result[j - 1];
+      let t4 = result[j - 4];
+      t1 = s[t1];
+      t2 = s[t2];
+      t3 = s[t3];
+      t4 = s[t4];
+      t1 = t1 ^ rcon[i];
 
-      if (result.length === 0) {
-        return new Uint8Array(0);
+      for (let n = 0; n < 4; ++n) {
+        result[j] = t1 ^= result[j - 16];
+        j++;
+        result[j] = t2 ^= result[j - 16];
+        j++;
+        result[j] = t3 ^= result[j - 16];
+        j++;
+        result[j] = t4 ^= result[j - 16];
+        j++;
       }
+    }
+
+    return result;
+  }
 
-      var outputLength = 16 * result.length;
-      var output = new Uint8Array(outputLength);
+}
 
-      for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {
-        output.set(result[_i3], _j11);
-      }
+exports.AES128Cipher = AES128Cipher;
 
-      return output;
-    }
-  }]);
+class AES256Cipher extends AESBaseCipher {
+  constructor(key) {
+    super();
+    this._cyclesOfRepetition = 14;
+    this._keySize = 224;
+    this._key = this._expandKey(key);
+  }
 
-  return AESBaseCipher;
-}();
+  _expandKey(cipherKey) {
+    const b = 240;
+    const s = this._s;
+    const result = new Uint8Array(b);
+    result.set(cipherKey);
+    let r = 1;
+    let t1, t2, t3, t4;
 
-var AES128Cipher =
-/*#__PURE__*/
-function (_AESBaseCipher) {
-  _inherits(AES128Cipher, _AESBaseCipher);
-
-  function AES128Cipher(key) {
-    var _this;
-
-    _classCallCheck(this, AES128Cipher);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(AES128Cipher).call(this));
-    _this._cyclesOfRepetition = 10;
-    _this._keySize = 160;
-    _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 
0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 
0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 
0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 
0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 
0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 
0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 
0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 
0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 
0x04, 0x08, 0x10, 0x20, 0x4
 0, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 
0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 
0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 
0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 
0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 
0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);
-    _this._key = _this._expandKey(key);
-    return _this;
-  }
-
-  _createClass(AES128Cipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      var b = 176;
-      var s = this._s;
-      var rcon = this._rcon;
-      var result = new Uint8Array(b);
-      result.set(cipherKey);
-
-      for (var j = 16, i = 1; j < b; ++i) {
-        var t1 = result[j - 3];
-        var t2 = result[j - 2];
-        var t3 = result[j - 1];
-        var t4 = result[j - 4];
+    for (let j = 32, i = 1; j < b; ++i) {
+      if (j % 32 === 16) {
+        t1 = s[t1];
+        t2 = s[t2];
+        t3 = s[t3];
+        t4 = s[t4];
+      } else if (j % 32 === 0) {
+        t1 = result[j - 3];
+        t2 = result[j - 2];
+        t3 = result[j - 1];
+        t4 = result[j - 4];
         t1 = s[t1];
         t2 = s[t2];
         t3 = s[t3];
         t4 = s[t4];
-        t1 = t1 ^ rcon[i];
+        t1 = t1 ^ r;
 
-        for (var n = 0; n < 4; ++n) {
-          result[j] = t1 ^= result[j - 16];
-          j++;
-          result[j] = t2 ^= result[j - 16];
-          j++;
-          result[j] = t3 ^= result[j - 16];
-          j++;
-          result[j] = t4 ^= result[j - 16];
-          j++;
+        if ((r <<= 1) >= 256) {
+          r = (r ^ 0x1b) & 0xff;
         }
       }
 
-      return result;
-    }
-  }]);
-
-  return AES128Cipher;
-}(AESBaseCipher);
-
-exports.AES128Cipher = AES128Cipher;
-
-var AES256Cipher =
-/*#__PURE__*/
-function (_AESBaseCipher2) {
-  _inherits(AES256Cipher, _AESBaseCipher2);
-
-  function AES256Cipher(key) {
-    var _this2;
-
-    _classCallCheck(this, AES256Cipher);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AES256Cipher).call(this));
-    _this2._cyclesOfRepetition = 14;
-    _this2._keySize = 224;
-    _this2._key = _this2._expandKey(key);
-    return _this2;
-  }
-
-  _createClass(AES256Cipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      var b = 240;
-      var s = this._s;
-      var result = new Uint8Array(b);
-      result.set(cipherKey);
-      var r = 1;
-      var t1, t2, t3, t4;
-
-      for (var j = 32, i = 1; j < b; ++i) {
-        if (j % 32 === 16) {
-          t1 = s[t1];
-          t2 = s[t2];
-          t3 = s[t3];
-          t4 = s[t4];
-        } else if (j % 32 === 0) {
-          t1 = result[j - 3];
-          t2 = result[j - 2];
-          t3 = result[j - 1];
-          t4 = result[j - 4];
-          t1 = s[t1];
-          t2 = s[t2];
-          t3 = s[t3];
-          t4 = s[t4];
-          t1 = t1 ^ r;
-
-          if ((r <<= 1) >= 256) {
-            r = (r ^ 0x1b) & 0xFF;
-          }
-        }
-
-        for (var n = 0; n < 4; ++n) {
-          result[j] = t1 ^= result[j - 32];
-          j++;
-          result[j] = t2 ^= result[j - 32];
-          j++;
-          result[j] = t3 ^= result[j - 32];
-          j++;
-          result[j] = t4 ^= result[j - 32];
-          j++;
-        }
+      for (let n = 0; n < 4; ++n) {
+        result[j] = t1 ^= result[j - 32];
+        j++;
+        result[j] = t2 ^= result[j - 32];
+        j++;
+        result[j] = t3 ^= result[j - 32];
+        j++;
+        result[j] = t4 ^= result[j - 32];
+        j++;
       }
-
-      return result;
     }
-  }]);
 
-  return AES256Cipher;
-}(AESBaseCipher);
+    return result;
+  }
+
+}
 
 exports.AES256Cipher = AES256Cipher;
 
@@ -26970,20 +16959,20 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
       hashData[i++] = ownerPassword[j];
     }
 
-    hashData[i++] = flags & 0xFF;
-    hashData[i++] = flags >> 8 & 0xFF;
-    hashData[i++] = flags >> 16 & 0xFF;
-    hashData[i++] = flags >>> 24 & 0xFF;
+    hashData[i++] = flags & 0xff;
+    hashData[i++] = flags >> 8 & 0xff;
+    hashData[i++] = flags >> 16 & 0xff;
+    hashData[i++] = flags >>> 24 & 0xff;
 
     for (j = 0, n = fileId.length; j < n; ++j) {
       hashData[i++] = fileId[j];
     }
 
     if (revision >= 4 && !encryptMetadata) {
-      hashData[i++] = 0xFF;
-      hashData[i++] = 0xFF;
-      hashData[i++] = 0xFF;
-      hashData[i++] = 0xFF;
+      hashData[i++] = 0xff;
+      hashData[i++] = 0xff;
+      hashData[i++] = 0xff;
+      hashData[i++] = 0xff;
     }
 
     var hash = calculateMD5(hashData, 0, i);
@@ -27090,36 +17079,36 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
     return userPassword;
   }
 
-  var identityName = _primitives.Name.get('Identity');
+  var identityName = _primitives.Name.get("Identity");
 
   function CipherTransformFactory(dict, fileId, password) {
-    var filter = dict.get('Filter');
+    var filter = dict.get("Filter");
 
-    if (!(0, _primitives.isName)(filter, 'Standard')) {
-      throw new _util.FormatError('unknown encryption method');
+    if (!(0, _primitives.isName)(filter, "Standard")) {
+      throw new _util.FormatError("unknown encryption method");
     }
 
     this.dict = dict;
-    var algorithm = dict.get('V');
+    var algorithm = dict.get("V");
 
     if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm 
!== 5) {
-      throw new _util.FormatError('unsupported encryption algorithm');
+      throw new _util.FormatError("unsupported encryption algorithm");
     }
 
     this.algorithm = algorithm;
-    var keyLength = dict.get('Length');
+    var keyLength = dict.get("Length");
 
     if (!keyLength) {
       if (algorithm <= 3) {
         keyLength = 40;
       } else {
-        var cfDict = dict.get('CF');
-        var streamCryptoName = dict.get('StmF');
+        var cfDict = dict.get("CF");
+        var streamCryptoName = dict.get("StmF");
 
         if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {
           cfDict.suppressEncryption = true;
           var handlerDict = cfDict.get(streamCryptoName.name);
-          keyLength = handlerDict && handlerDict.get('Length') || 128;
+          keyLength = handlerDict && handlerDict.get("Length") || 128;
 
           if (keyLength < 40) {
             keyLength <<= 3;
@@ -27129,14 +17118,14 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
     }
 
     if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {
-      throw new _util.FormatError('invalid key length');
+      throw new _util.FormatError("invalid key length");
     }
 
-    var ownerPassword = (0, _util.stringToBytes)(dict.get('O')).subarray(0, 32);
-    var userPassword = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 32);
-    var flags = dict.get('P');
-    var revision = dict.get('R');
-    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false;
+    var ownerPassword = (0, _util.stringToBytes)(dict.get("O")).subarray(0, 32);
+    var userPassword = (0, _util.stringToBytes)(dict.get("U")).subarray(0, 32);
+    var flags = dict.get("P");
+    var revision = dict.get("R");
+    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get("EncryptMetadata") !== false;
     this.encryptMetadata = encryptMetadata;
     var fileIdBytes = (0, _util.stringToBytes)(fileId);
     var passwordBytes;
@@ -27146,7 +17135,7 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
         try {
           password = (0, _util.utf8StringToString)(password);
         } catch (ex) {
-          (0, _util.warn)('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');
+          (0, _util.warn)("CipherTransformFactory: " + "Unable to convert UTF8 encoded password.");
         }
       }
 
@@ -27158,41 +17147,41 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
     if (algorithm !== 5) {
       encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, 
revision, keyLength, encryptMetadata);
     } else {
-      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get('O')).subarray(32, 40);
-      var ownerKeySalt = (0, _util.stringToBytes)(dict.get('O')).subarray(40, 48);
-      var uBytes = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 48);
-      var userValidationSalt = (0, _util.stringToBytes)(dict.get('U')).subarray(32, 40);
-      var userKeySalt = (0, _util.stringToBytes)(dict.get('U')).subarray(40, 48);
-      var ownerEncryption = (0, _util.stringToBytes)(dict.get('OE'));
-      var userEncryption = (0, _util.stringToBytes)(dict.get('UE'));
-      var perms = (0, _util.stringToBytes)(dict.get('Perms'));
+      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get("O")).subarray(32, 40);
+      var ownerKeySalt = (0, _util.stringToBytes)(dict.get("O")).subarray(40, 48);
+      var uBytes = (0, _util.stringToBytes)(dict.get("U")).subarray(0, 48);
+      var userValidationSalt = (0, _util.stringToBytes)(dict.get("U")).subarray(32, 40);
+      var userKeySalt = (0, _util.stringToBytes)(dict.get("U")).subarray(40, 48);
+      var ownerEncryption = (0, _util.stringToBytes)(dict.get("OE"));
+      var userEncryption = (0, _util.stringToBytes)(dict.get("UE"));
+      var perms = (0, _util.stringToBytes)(dict.get("Perms"));
       encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, 
ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);
     }
 
     if (!encryptionKey && !password) {
-      throw new _util.PasswordException('No password given', _util.PasswordResponses.NEED_PASSWORD);
+      throw new _util.PasswordException("No password given", _util.PasswordResponses.NEED_PASSWORD);
     } else if (!encryptionKey && password) {
       var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);
       encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, 
revision, keyLength, encryptMetadata);
     }
 
     if (!encryptionKey) {
-      throw new _util.PasswordException('Incorrect Password', _util.PasswordResponses.INCORRECT_PASSWORD);
+      throw new _util.PasswordException("Incorrect Password", _util.PasswordResponses.INCORRECT_PASSWORD);
     }
 
     this.encryptionKey = encryptionKey;
 
     if (algorithm >= 4) {
-      var cf = dict.get('CF');
+      var cf = dict.get("CF");
 
       if ((0, _primitives.isDict)(cf)) {
         cf.suppressEncryption = true;
       }
 
       this.cf = cf;
-      this.stmf = dict.get('StmF') || identityName;
-      this.strf = dict.get('StrF') || identityName;
-      this.eff = dict.get('EFF') || this.stmf;
+      this.stmf = dict.get("StmF") || identityName;
+      this.strf = dict.get("StrF") || identityName;
+      this.eff = dict.get("EFF") || this.stmf;
     }
   }
 
@@ -27205,16 +17194,16 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
       key[i] = encryptionKey[i];
     }
 
-    key[i++] = num & 0xFF;
-    key[i++] = num >> 8 & 0xFF;
-    key[i++] = num >> 16 & 0xFF;
-    key[i++] = gen & 0xFF;
-    key[i++] = gen >> 8 & 0xFF;
+    key[i++] = num & 0xff;
+    key[i++] = num >> 8 & 0xff;
+    key[i++] = num >> 16 & 0xff;
+    key[i++] = gen & 0xff;
+    key[i++] = gen >> 8 & 0xff;
 
     if (isAes) {
       key[i++] = 0x73;
       key[i++] = 0x41;
-      key[i++] = 0x6C;
+      key[i++] = 0x6c;
       key[i++] = 0x54;
     }
 
@@ -27224,41 +17213,41 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
 
   function buildCipherConstructor(cf, name, num, gen, key) {
     if (!(0, _primitives.isName)(name)) {
-      throw new _util.FormatError('Invalid crypt filter name.');
+      throw new _util.FormatError("Invalid crypt filter name.");
     }
 
     var cryptFilter = cf.get(name.name);
     var cfm;
 
     if (cryptFilter !== null && cryptFilter !== undefined) {
-      cfm = cryptFilter.get('CFM');
+      cfm = cryptFilter.get("CFM");
     }
 
-    if (!cfm || cfm.name === 'None') {
+    if (!cfm || cfm.name === "None") {
       return function cipherTransformFactoryBuildCipherConstructorNone() {
         return new NullCipher();
       };
     }
 
-    if (cfm.name === 'V2') {
+    if (cfm.name === "V2") {
       return function cipherTransformFactoryBuildCipherConstructorV2() {
         return new ARCFourCipher(buildObjectKey(num, gen, key, false));
       };
     }
 
-    if (cfm.name === 'AESV2') {
+    if (cfm.name === "AESV2") {
       return function cipherTransformFactoryBuildCipherConstructorAESV2() {
         return new AES128Cipher(buildObjectKey(num, gen, key, true));
       };
     }
 
-    if (cfm.name === 'AESV3') {
+    if (cfm.name === "AESV3") {
       return function cipherTransformFactoryBuildCipherConstructorAESV3() {
         return new AES256Cipher(key);
       };
     }
 
-    throw new _util.FormatError('Unknown crypto method');
+    throw new _util.FormatError("Unknown crypto method");
   }
 
   CipherTransformFactory.prototype = {
@@ -27282,7 +17271,7 @@ var CipherTransformFactory = function CipherTransformFactoryClosure() {
 exports.CipherTransformFactory = CipherTransformFactory;
 
 /***/ }),
-/* 201 */
+/* 22 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -27293,46 +17282,28 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.ColorSpace = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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 _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); } }
+var _util = __w_pdfjs_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _primitives = __w_pdfjs_require__(4);
 
 function resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {
-  var COMPONENTS = 3;
+  const COMPONENTS = 3;
   alpha01 = alpha01 !== 1 ? 0 : alpha01;
-  var xRatio = w1 / w2;
-  var yRatio = h1 / h2;
-  var newIndex = 0,
+  const xRatio = w1 / w2;
+  const yRatio = h1 / h2;
+  let newIndex = 0,
       oldIndex;
-  var xScaled = new Uint16Array(w2);
-  var w1Scanline = w1 * COMPONENTS;
+  const xScaled = new Uint16Array(w2);
+  const w1Scanline = w1 * COMPONENTS;
 
-  for (var i = 0; i < w2; i++) {
+  for (let i = 0; i < w2; i++) {
     xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;
   }
 
-  for (var _i = 0; _i < h2; _i++) {
-    var py = Math.floor(_i * yRatio) * w1Scanline;
+  for (let i = 0; i < h2; i++) {
+    const py = Math.floor(i * yRatio) * w1Scanline;
 
-    for (var j = 0; j < w2; j++) {
+    for (let j = 0; j < w2; j++) {
       oldIndex = py + xScaled[j];
       dest[newIndex++] = src[oldIndex++];
       dest[newIndex++] = src[oldIndex++];
@@ -27342,806 +17313,684 @@ function resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {
   }
 }
 
-var ColorSpace =
-/*#__PURE__*/
-function () {
-  function ColorSpace(name, numComps) {
-    _classCallCheck(this, ColorSpace);
-
+class ColorSpace {
+  constructor(name, numComps) {
     if (this.constructor === ColorSpace) {
-      (0, _util.unreachable)('Cannot initialize ColorSpace.');
+      (0, _util.unreachable)("Cannot initialize ColorSpace.");
     }
 
     this.name = name;
     this.numComps = numComps;
   }
 
-  _createClass(ColorSpace, [{
-    key: "getRgb",
-    value: function getRgb(src, srcOffset) {
-      var rgb = new Uint8ClampedArray(3);
-      this.getRgbItem(src, srcOffset, rgb, 0);
-      return rgb;
-    }
-  }, {
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      (0, _util.unreachable)('Should not call ColorSpace.getRgbItem');
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      (0, _util.unreachable)('Should not call ColorSpace.getRgbBuffer');
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      (0, _util.unreachable)('Should not call ColorSpace.getOutputLength');
-    }
-  }, {
-    key: "isPassthrough",
-    value: function isPassthrough(bits) {
-      return false;
-    }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
-    }
-  }, {
-    key: "fillRgb",
-    value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, 
alpha01) {
-      var count = originalWidth * originalHeight;
-      var rgbBuf = null;
-      var numComponentColors = 1 << bpc;
-      var needsResizing = originalHeight !== height || originalWidth !== width;
+  getRgb(src, srcOffset) {
+    const rgb = new Uint8ClampedArray(3);
+    this.getRgbItem(src, srcOffset, rgb, 0);
+    return rgb;
+  }
+
+  getRgbItem(src, srcOffset, dest, destOffset) {
+    (0, _util.unreachable)("Should not call ColorSpace.getRgbItem");
+  }
 
-      if (this.isPassthrough(bpc)) {
-        rgbBuf = comps;
-      } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && 
this.name !== 'DeviceRGB') {
-        var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);
+  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+    (0, _util.unreachable)("Should not call ColorSpace.getRgbBuffer");
+  }
 
-        for (var i = 0; i < numComponentColors; i++) {
-          allColors[i] = i;
-        }
+  getOutputLength(inputLength, alpha01) {
+    (0, _util.unreachable)("Should not call ColorSpace.getOutputLength");
+  }
 
-        var colorMap = new Uint8ClampedArray(numComponentColors * 3);
-        this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);
+  isPassthrough(bits) {
+    return false;
+  }
 
-        if (!needsResizing) {
-          var destPos = 0;
+  isDefaultDecode(decodeMap, bpc) {
+    return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
+  }
 
-          for (var _i2 = 0; _i2 < count; ++_i2) {
-            var key = comps[_i2] * 3;
-            dest[destPos++] = colorMap[key];
-            dest[destPos++] = colorMap[key + 1];
-            dest[destPos++] = colorMap[key + 2];
-            destPos += alpha01;
-          }
-        } else {
-          rgbBuf = new Uint8Array(count * 3);
-          var rgbPos = 0;
+  fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {
+    const count = originalWidth * originalHeight;
+    let rgbBuf = null;
+    const numComponentColors = 1 << bpc;
+    const needsResizing = originalHeight !== height || originalWidth !== width;
 
-          for (var _i3 = 0; _i3 < count; ++_i3) {
-            var _key = comps[_i3] * 3;
+    if (this.isPassthrough(bpc)) {
+      rgbBuf = comps;
+    } else if (this.numComps === 1 && count > numComponentColors && this.name !== "DeviceGray" && this.name 
!== "DeviceRGB") {
+      const allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);
 
-            rgbBuf[rgbPos++] = colorMap[_key];
-            rgbBuf[rgbPos++] = colorMap[_key + 1];
-            rgbBuf[rgbPos++] = colorMap[_key + 2];
-          }
+      for (let i = 0; i < numComponentColors; i++) {
+        allColors[i] = i;
+      }
+
+      const colorMap = new Uint8ClampedArray(numComponentColors * 3);
+      this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);
+
+      if (!needsResizing) {
+        let destPos = 0;
+
+        for (let i = 0; i < count; ++i) {
+          const key = comps[i] * 3;
+          dest[destPos++] = colorMap[key];
+          dest[destPos++] = colorMap[key + 1];
+          dest[destPos++] = colorMap[key + 2];
+          destPos += alpha01;
         }
       } else {
-        if (!needsResizing) {
-          this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);
-        } else {
-          rgbBuf = new Uint8ClampedArray(count * 3);
-          this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);
+        rgbBuf = new Uint8Array(count * 3);
+        let rgbPos = 0;
+
+        for (let i = 0; i < count; ++i) {
+          const key = comps[i] * 3;
+          rgbBuf[rgbPos++] = colorMap[key];
+          rgbBuf[rgbPos++] = colorMap[key + 1];
+          rgbBuf[rgbPos++] = colorMap[key + 2];
         }
       }
+    } else {
+      if (!needsResizing) {
+        this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);
+      } else {
+        rgbBuf = new Uint8ClampedArray(count * 3);
+        this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);
+      }
+    }
 
-      if (rgbBuf) {
-        if (needsResizing) {
-          resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);
-        } else {
-          var _destPos = 0,
-              _rgbPos = 0;
+    if (rgbBuf) {
+      if (needsResizing) {
+        resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);
+      } else {
+        let destPos = 0,
+            rgbPos = 0;
 
-          for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            _destPos += alpha01;
-          }
+        for (let i = 0, ii = width * actualHeight; i < ii; i++) {
+          dest[destPos++] = rgbBuf[rgbPos++];
+          dest[destPos++] = rgbBuf[rgbPos++];
+          dest[destPos++] = rgbBuf[rgbPos++];
+          destPos += alpha01;
         }
       }
     }
-  }, {
-    key: "usesZeroToOneRange",
-    get: function get() {
-      return (0, _util.shadow)(this, 'usesZeroToOneRange', true);
-    }
-  }], [{
-    key: "parse",
-    value: function parse(cs, xref, res, pdfFunctionFactory) {
-      var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);
-      return this.fromIR(IR);
-    }
-  }, {
-    key: "fromIR",
-    value: function fromIR(IR) {
-      var name = Array.isArray(IR) ? IR[0] : IR;
-      var whitePoint, blackPoint, gamma;
+  }
 
-      switch (name) {
-        case 'DeviceGrayCS':
-          return this.singletons.gray;
+  get usesZeroToOneRange() {
+    return (0, _util.shadow)(this, "usesZeroToOneRange", true);
+  }
 
-        case 'DeviceRgbCS':
-          return this.singletons.rgb;
+  static parse(cs, xref, res, pdfFunctionFactory) {
+    const IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);
+    return this.fromIR(IR);
+  }
 
-        case 'DeviceCmykCS':
-          return this.singletons.cmyk;
+  static fromIR(IR) {
+    const name = Array.isArray(IR) ? IR[0] : IR;
+    let whitePoint, blackPoint, gamma;
 
-        case 'CalGrayCS':
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          gamma = IR[3];
-          return new CalGrayCS(whitePoint, blackPoint, gamma);
+    switch (name) {
+      case "DeviceGrayCS":
+        return this.singletons.gray;
 
-        case 'CalRGBCS':
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          gamma = IR[3];
-          var matrix = IR[4];
-          return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);
+      case "DeviceRgbCS":
+        return this.singletons.rgb;
 
-        case 'PatternCS':
-          var basePatternCS = IR[1];
+      case "DeviceCmykCS":
+        return this.singletons.cmyk;
 
-          if (basePatternCS) {
-            basePatternCS = this.fromIR(basePatternCS);
-          }
+      case "CalGrayCS":
+        whitePoint = IR[1];
+        blackPoint = IR[2];
+        gamma = IR[3];
+        return new CalGrayCS(whitePoint, blackPoint, gamma);
 
-          return new PatternCS(basePatternCS);
+      case "CalRGBCS":
+        whitePoint = IR[1];
+        blackPoint = IR[2];
+        gamma = IR[3];
+        const matrix = IR[4];
+        return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);
 
-        case 'IndexedCS':
-          var baseIndexedCS = IR[1];
-          var hiVal = IR[2];
-          var lookup = IR[3];
-          return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);
+      case "PatternCS":
+        let basePatternCS = IR[1];
 
-        case 'AlternateCS':
-          var numComps = IR[1];
-          var alt = IR[2];
-          var tintFn = IR[3];
-          return new AlternateCS(numComps, this.fromIR(alt), tintFn);
+        if (basePatternCS) {
+          basePatternCS = this.fromIR(basePatternCS);
+        }
 
-        case 'LabCS':
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          var range = IR[3];
-          return new LabCS(whitePoint, blackPoint, range);
+        return new PatternCS(basePatternCS);
 
-        default:
-          throw new _util.FormatError("Unknown colorspace name: ".concat(name));
-      }
+      case "IndexedCS":
+        const baseIndexedCS = IR[1];
+        const hiVal = IR[2];
+        const lookup = IR[3];
+        return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);
+
+      case "AlternateCS":
+        const numComps = IR[1];
+        const alt = IR[2];
+        const tintFn = IR[3];
+        return new AlternateCS(numComps, this.fromIR(alt), tintFn);
+
+      case "LabCS":
+        whitePoint = IR[1];
+        blackPoint = IR[2];
+        const range = IR[3];
+        return new LabCS(whitePoint, blackPoint, range);
+
+      default:
+        throw new _util.FormatError(`Unknown colorspace name: ${name}`);
     }
-  }, {
-    key: "parseToIR",
-    value: function parseToIR(cs, xref) {
-      var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;
-      cs = xref.fetchIfRef(cs);
+  }
 
-      if ((0, _primitives.isName)(cs)) {
-        switch (cs.name) {
-          case 'DeviceGray':
-          case 'G':
-            return 'DeviceGrayCS';
+  static parseToIR(cs, xref, res = null, pdfFunctionFactory) {
+    cs = xref.fetchIfRef(cs);
 
-          case 'DeviceRGB':
-          case 'RGB':
-            return 'DeviceRgbCS';
+    if ((0, _primitives.isName)(cs)) {
+      switch (cs.name) {
+        case "DeviceGray":
+        case "G":
+          return "DeviceGrayCS";
 
-          case 'DeviceCMYK':
-          case 'CMYK':
-            return 'DeviceCmykCS';
+        case "DeviceRGB":
+        case "RGB":
+          return "DeviceRgbCS";
 
-          case 'Pattern':
-            return ['PatternCS', null];
+        case "DeviceCMYK":
+        case "CMYK":
+          return "DeviceCmykCS";
 
-          default:
-            if ((0, _primitives.isDict)(res)) {
-              var colorSpaces = res.get('ColorSpace');
+        case "Pattern":
+          return ["PatternCS", null];
 
-              if ((0, _primitives.isDict)(colorSpaces)) {
-                var resCS = colorSpaces.get(cs.name);
+        default:
+          if ((0, _primitives.isDict)(res)) {
+            const colorSpaces = res.get("ColorSpace");
 
-                if (resCS) {
-                  if ((0, _primitives.isName)(resCS)) {
-                    return this.parseToIR(resCS, xref, res, pdfFunctionFactory);
-                  }
+            if ((0, _primitives.isDict)(colorSpaces)) {
+              const resCS = colorSpaces.get(cs.name);
 
-                  cs = resCS;
-                  break;
+              if (resCS) {
+                if ((0, _primitives.isName)(resCS)) {
+                  return this.parseToIR(resCS, xref, res, pdfFunctionFactory);
                 }
+
+                cs = resCS;
+                break;
               }
             }
+          }
 
-            throw new _util.FormatError("unrecognized colorspace ".concat(cs.name));
-        }
+          throw new _util.FormatError(`unrecognized colorspace ${cs.name}`);
       }
+    }
 
-      if (Array.isArray(cs)) {
-        var mode = xref.fetchIfRef(cs[0]).name;
-        var numComps, params, alt, whitePoint, blackPoint, gamma;
-
-        switch (mode) {
-          case 'DeviceGray':
-          case 'G':
-            return 'DeviceGrayCS';
+    if (Array.isArray(cs)) {
+      const mode = xref.fetchIfRef(cs[0]).name;
+      let numComps, params, alt, whitePoint, blackPoint, gamma;
 
-          case 'DeviceRGB':
-          case 'RGB':
-            return 'DeviceRgbCS';
+      switch (mode) {
+        case "DeviceGray":
+        case "G":
+          return "DeviceGrayCS";
 
-          case 'DeviceCMYK':
-          case 'CMYK':
-            return 'DeviceCmykCS';
+        case "DeviceRGB":
+        case "RGB":
+          return "DeviceRgbCS";
 
-          case 'CalGray':
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray('WhitePoint');
-            blackPoint = params.getArray('BlackPoint');
-            gamma = params.get('Gamma');
-            return ['CalGrayCS', whitePoint, blackPoint, gamma];
+        case "DeviceCMYK":
+        case "CMYK":
+          return "DeviceCmykCS";
 
-          case 'CalRGB':
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray('WhitePoint');
-            blackPoint = params.getArray('BlackPoint');
-            gamma = params.getArray('Gamma');
-            var matrix = params.getArray('Matrix');
-            return ['CalRGBCS', whitePoint, blackPoint, gamma, matrix];
+        case "CalGray":
+          params = xref.fetchIfRef(cs[1]);
+          whitePoint = params.getArray("WhitePoint");
+          blackPoint = params.getArray("BlackPoint");
+          gamma = params.get("Gamma");
+          return ["CalGrayCS", whitePoint, blackPoint, gamma];
 
-          case 'ICCBased':
-            var stream = xref.fetchIfRef(cs[1]);
-            var dict = stream.dict;
-            numComps = dict.get('N');
-            alt = dict.get('Alternate');
+        case "CalRGB":
+          params = xref.fetchIfRef(cs[1]);
+          whitePoint = params.getArray("WhitePoint");
+          blackPoint = params.getArray("BlackPoint");
+          gamma = params.getArray("Gamma");
+          const matrix = params.getArray("Matrix");
+          return ["CalRGBCS", whitePoint, blackPoint, gamma, matrix];
 
-            if (alt) {
-              var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);
-              var altCS = this.fromIR(altIR, pdfFunctionFactory);
+        case "ICCBased":
+          const stream = xref.fetchIfRef(cs[1]);
+          const dict = stream.dict;
+          numComps = dict.get("N");
+          alt = dict.get("Alternate");
 
-              if (altCS.numComps === numComps) {
-                return altIR;
-              }
+          if (alt) {
+            const altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);
+            const altCS = this.fromIR(altIR, pdfFunctionFactory);
 
-              (0, _util.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');
+            if (altCS.numComps === numComps) {
+              return altIR;
             }
 
-            if (numComps === 1) {
-              return 'DeviceGrayCS';
-            } else if (numComps === 3) {
-              return 'DeviceRgbCS';
-            } else if (numComps === 4) {
-              return 'DeviceCmykCS';
-            }
+            (0, _util.warn)("ICCBased color space: Ignoring incorrect /Alternate entry.");
+          }
 
-            break;
+          if (numComps === 1) {
+            return "DeviceGrayCS";
+          } else if (numComps === 3) {
+            return "DeviceRgbCS";
+          } else if (numComps === 4) {
+            return "DeviceCmykCS";
+          }
 
-          case 'Pattern':
-            var basePatternCS = cs[1] || null;
+          break;
 
-            if (basePatternCS) {
-              basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);
-            }
+        case "Pattern":
+          let basePatternCS = cs[1] || null;
 
-            return ['PatternCS', basePatternCS];
+          if (basePatternCS) {
+            basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);
+          }
 
-          case 'Indexed':
-          case 'I':
-            var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);
-            var hiVal = xref.fetchIfRef(cs[2]) + 1;
-            var lookup = xref.fetchIfRef(cs[3]);
+          return ["PatternCS", basePatternCS];
 
-            if ((0, _primitives.isStream)(lookup)) {
-              lookup = lookup.getBytes();
-            }
+        case "Indexed":
+        case "I":
+          const baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);
+          const hiVal = xref.fetchIfRef(cs[2]) + 1;
+          let lookup = xref.fetchIfRef(cs[3]);
 
-            return ['IndexedCS', baseIndexedCS, hiVal, lookup];
+          if ((0, _primitives.isStream)(lookup)) {
+            lookup = lookup.getBytes();
+          }
 
-          case 'Separation':
-          case 'DeviceN':
-            var name = xref.fetchIfRef(cs[1]);
-            numComps = Array.isArray(name) ? name.length : 1;
-            alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);
-            var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));
-            return ['AlternateCS', numComps, alt, tintFn];
+          return ["IndexedCS", baseIndexedCS, hiVal, lookup];
 
-          case 'Lab':
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray('WhitePoint');
-            blackPoint = params.getArray('BlackPoint');
-            var range = params.getArray('Range');
-            return ['LabCS', whitePoint, blackPoint, range];
+        case "Separation":
+        case "DeviceN":
+          const name = xref.fetchIfRef(cs[1]);
+          numComps = Array.isArray(name) ? name.length : 1;
+          alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);
+          const tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));
+          return ["AlternateCS", numComps, alt, tintFn];
 
-          default:
-            throw new _util.FormatError("unimplemented color space object \"".concat(mode, "\""));
-        }
-      }
+        case "Lab":
+          params = xref.fetchIfRef(cs[1]);
+          whitePoint = params.getArray("WhitePoint");
+          blackPoint = params.getArray("BlackPoint");
+          const range = params.getArray("Range");
+          return ["LabCS", whitePoint, blackPoint, range];
 
-      throw new _util.FormatError("unrecognized color space object: \"".concat(cs, "\""));
-    }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decode, numComps) {
-      if (!Array.isArray(decode)) {
-        return true;
+        default:
+          throw new _util.FormatError(`unimplemented color space object "${mode}"`);
       }
+    }
 
-      if (numComps * 2 !== decode.length) {
-        (0, _util.warn)('The decode map is not the correct length');
-        return true;
-      }
+    throw new _util.FormatError(`unrecognized color space object: "${cs}"`);
+  }
 
-      for (var i = 0, ii = decode.length; i < ii; i += 2) {
-        if (decode[i] !== 0 || decode[i + 1] !== 1) {
-          return false;
-        }
-      }
+  static isDefaultDecode(decode, numComps) {
+    if (!Array.isArray(decode)) {
+      return true;
+    }
 
+    if (numComps * 2 !== decode.length) {
+      (0, _util.warn)("The decode map is not the correct length");
       return true;
     }
-  }, {
-    key: "singletons",
-    get: function get() {
-      return (0, _util.shadow)(this, 'singletons', {
-        get gray() {
-          return (0, _util.shadow)(this, 'gray', new DeviceGrayCS());
-        },
 
-        get rgb() {
-          return (0, _util.shadow)(this, 'rgb', new DeviceRgbCS());
-        },
+    for (let i = 0, ii = decode.length; i < ii; i += 2) {
+      if (decode[i] !== 0 || decode[i + 1] !== 1) {
+        return false;
+      }
+    }
 
-        get cmyk() {
-          return (0, _util.shadow)(this, 'cmyk', new DeviceCmykCS());
-        }
+    return true;
+  }
 
-      });
-    }
-  }]);
+  static get singletons() {
+    return (0, _util.shadow)(this, "singletons", {
+      get gray() {
+        return (0, _util.shadow)(this, "gray", new DeviceGrayCS());
+      },
 
-  return ColorSpace;
-}();
+      get rgb() {
+        return (0, _util.shadow)(this, "rgb", new DeviceRgbCS());
+      },
 
-exports.ColorSpace = ColorSpace;
+      get cmyk() {
+        return (0, _util.shadow)(this, "cmyk", new DeviceCmykCS());
+      }
+
+    });
+  }
 
-var AlternateCS =
-/*#__PURE__*/
-function (_ColorSpace) {
-  _inherits(AlternateCS, _ColorSpace);
+}
 
-  function AlternateCS(numComps, base, tintFn) {
-    var _this;
+exports.ColorSpace = ColorSpace;
 
-    _classCallCheck(this, AlternateCS);
+class AlternateCS extends ColorSpace {
+  constructor(numComps, base, tintFn) {
+    super("Alternate", numComps);
+    this.base = base;
+    this.tintFn = tintFn;
+    this.tmpBuf = new Float32Array(base.numComps);
+  }
 
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(AlternateCS).call(this, 'Alternate', numComps));
-    _this.base = base;
-    _this.tintFn = tintFn;
-    _this.tmpBuf = new Float32Array(base.numComps);
-    return _this;
+  getRgbItem(src, srcOffset, dest, destOffset) {
+    const tmpBuf = this.tmpBuf;
+    this.tintFn(src, srcOffset, tmpBuf, 0);
+    this.base.getRgbItem(tmpBuf, 0, dest, destOffset);
   }
 
-  _createClass(AlternateCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var tmpBuf = this.tmpBuf;
-      this.tintFn(src, srcOffset, tmpBuf, 0);
-      this.base.getRgbItem(tmpBuf, 0, dest, destOffset);
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var tintFn = this.tintFn;
-      var base = this.base;
-      var scale = 1 / ((1 << bits) - 1);
-      var baseNumComps = base.numComps;
-      var usesZeroToOneRange = base.usesZeroToOneRange;
-      var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;
-      var pos = isPassthrough ? destOffset : 0;
-      var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);
-      var numComps = this.numComps;
-      var scaled = new Float32Array(numComps);
-      var tinted = new Float32Array(baseNumComps);
-      var i, j;
+  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+    const tintFn = this.tintFn;
+    const base = this.base;
+    const scale = 1 / ((1 << bits) - 1);
+    const baseNumComps = base.numComps;
+    const usesZeroToOneRange = base.usesZeroToOneRange;
+    const isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;
+    let pos = isPassthrough ? destOffset : 0;
+    const baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);
+    const numComps = this.numComps;
+    const scaled = new Float32Array(numComps);
+    const tinted = new Float32Array(baseNumComps);
+    let i, j;
 
-      for (i = 0; i < count; i++) {
-        for (j = 0; j < numComps; j++) {
-          scaled[j] = src[srcOffset++] * scale;
-        }
+    for (i = 0; i < count; i++) {
+      for (j = 0; j < numComps; j++) {
+        scaled[j] = src[srcOffset++] * scale;
+      }
 
-        tintFn(scaled, 0, tinted, 0);
+      tintFn(scaled, 0, tinted, 0);
 
-        if (usesZeroToOneRange) {
-          for (j = 0; j < baseNumComps; j++) {
-            baseBuf[pos++] = tinted[j] * 255;
-          }
-        } else {
-          base.getRgbItem(tinted, 0, baseBuf, pos);
-          pos += baseNumComps;
+      if (usesZeroToOneRange) {
+        for (j = 0; j < baseNumComps; j++) {
+          baseBuf[pos++] = tinted[j] * 255;
         }
+      } else {
+        base.getRgbItem(tinted, 0, baseBuf, pos);
+        pos += baseNumComps;
       }
-
-      if (!isPassthrough) {
-        base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);
     }
-  }]);
-
-  return AlternateCS;
-}(ColorSpace);
-
-var PatternCS =
-/*#__PURE__*/
-function (_ColorSpace2) {
-  _inherits(PatternCS, _ColorSpace2);
-
-  function PatternCS(baseCS) {
-    var _this2;
 
-    _classCallCheck(this, PatternCS);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(PatternCS).call(this, 'Pattern', null));
-    _this2.base = baseCS;
-    return _this2;
+    if (!isPassthrough) {
+      base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);
+    }
   }
 
-  _createClass(PatternCS, [{
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      (0, _util.unreachable)('Should not call PatternCS.isDefaultDecode');
-    }
-  }]);
+  getOutputLength(inputLength, alpha01) {
+    return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);
+  }
 
-  return PatternCS;
-}(ColorSpace);
+}
 
-var IndexedCS =
-/*#__PURE__*/
-function (_ColorSpace3) {
-  _inherits(IndexedCS, _ColorSpace3);
+class PatternCS extends ColorSpace {
+  constructor(baseCS) {
+    super("Pattern", null);
+    this.base = baseCS;
+  }
 
-  function IndexedCS(base, highVal, lookup) {
-    var _this3;
+  isDefaultDecode(decodeMap, bpc) {
+    (0, _util.unreachable)("Should not call PatternCS.isDefaultDecode");
+  }
 
-    _classCallCheck(this, IndexedCS);
+}
 
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(IndexedCS).call(this, 'Indexed', 1));
-    _this3.base = base;
-    _this3.highVal = highVal;
-    var baseNumComps = base.numComps;
-    var length = baseNumComps * highVal;
+class IndexedCS extends ColorSpace {
+  constructor(base, highVal, lookup) {
+    super("Indexed", 1);
+    this.base = base;
+    this.highVal = highVal;
+    const baseNumComps = base.numComps;
+    const length = baseNumComps * highVal;
 
     if ((0, _primitives.isStream)(lookup)) {
-      _this3.lookup = new Uint8Array(length);
-      var bytes = lookup.getBytes(length);
-
-      _this3.lookup.set(bytes);
+      this.lookup = new Uint8Array(length);
+      const bytes = lookup.getBytes(length);
+      this.lookup.set(bytes);
     } else if ((0, _util.isString)(lookup)) {
-      _this3.lookup = new Uint8Array(length);
+      this.lookup = new Uint8Array(length);
 
-      for (var i = 0; i < length; ++i) {
-        _this3.lookup[i] = lookup.charCodeAt(i);
+      for (let i = 0; i < length; ++i) {
+        this.lookup[i] = lookup.charCodeAt(i);
       }
     } else if (lookup instanceof Uint8Array) {
-      _this3.lookup = lookup;
+      this.lookup = lookup;
     } else {
-      throw new _util.FormatError("Unrecognized lookup table: ".concat(lookup));
+      throw new _util.FormatError(`Unrecognized lookup table: ${lookup}`);
     }
+  }
 
-    return _this3;
+  getRgbItem(src, srcOffset, dest, destOffset) {
+    const numComps = this.base.numComps;
+    const start = src[srcOffset] * numComps;
+    this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);
   }
 
-  _createClass(IndexedCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var numComps = this.base.numComps;
-      var start = src[srcOffset] * numComps;
-      this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var base = this.base;
-      var numComps = base.numComps;
-      var outputDelta = base.getOutputLength(numComps, alpha01);
-      var lookup = this.lookup;
+  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+    const base = this.base;
+    const numComps = base.numComps;
+    const outputDelta = base.getOutputLength(numComps, alpha01);
+    const lookup = this.lookup;
 
-      for (var i = 0; i < count; ++i) {
-        var lookupPos = src[srcOffset++] * numComps;
-        base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);
-        destOffset += outputDelta;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);
+    for (let i = 0; i < count; ++i) {
+      const lookupPos = src[srcOffset++] * numComps;
+      base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);
+      destOffset += outputDelta;
     }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      if (!Array.isArray(decodeMap)) {
-        return true;
-      }
+  }
 
-      if (decodeMap.length !== 2) {
-        (0, _util.warn)('Decode map length is not correct');
-        return true;
-      }
+  getOutputLength(inputLength, alpha01) {
+    return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);
+  }
 
-      if (!Number.isInteger(bpc) || bpc < 1) {
-        (0, _util.warn)('Bits per component is not correct');
-        return true;
-      }
+  isDefaultDecode(decodeMap, bpc) {
+    if (!Array.isArray(decodeMap)) {
+      return true;
+    }
+
+    if (decodeMap.length !== 2) {
+      (0, _util.warn)("Decode map length is not correct");
+      return true;
+    }
 
-      return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;
+    if (!Number.isInteger(bpc) || bpc < 1) {
+      (0, _util.warn)("Bits per component is not correct");
+      return true;
     }
-  }]);
 
-  return IndexedCS;
-}(ColorSpace);
+    return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;
+  }
 
-var DeviceGrayCS =
-/*#__PURE__*/
-function (_ColorSpace4) {
-  _inherits(DeviceGrayCS, _ColorSpace4);
+}
 
-  function DeviceGrayCS() {
-    _classCallCheck(this, DeviceGrayCS);
+class DeviceGrayCS extends ColorSpace {
+  constructor() {
+    super("DeviceGray", 1);
+  }
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(DeviceGrayCS).call(this, 'DeviceGray', 1));
+  getRgbItem(src, srcOffset, dest, destOffset) {
+    const c = src[srcOffset] * 255;
+    dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;
   }
 
-  _createClass(DeviceGrayCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var c = src[srcOffset] * 255;
-      dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var scale = 255 / ((1 << bits) - 1);
-      var j = srcOffset,
-          q = destOffset;
+  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+    const scale = 255 / ((1 << bits) - 1);
+    let j = srcOffset,
+        q = destOffset;
 
-      for (var i = 0; i < count; ++i) {
-        var c = scale * src[j++];
-        dest[q++] = c;
-        dest[q++] = c;
-        dest[q++] = c;
-        q += alpha01;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return inputLength * (3 + alpha01);
+    for (let i = 0; i < count; ++i) {
+      const c = scale * src[j++];
+      dest[q++] = c;
+      dest[q++] = c;
+      dest[q++] = c;
+      q += alpha01;
     }
-  }]);
+  }
 
-  return DeviceGrayCS;
-}(ColorSpace);
+  getOutputLength(inputLength, alpha01) {
+    return inputLength * (3 + alpha01);
+  }
 
-var DeviceRgbCS =
-/*#__PURE__*/
-function (_ColorSpace5) {
-  _inherits(DeviceRgbCS, _ColorSpace5);
+}
 
-  function DeviceRgbCS() {
-    _classCallCheck(this, DeviceRgbCS);
+class DeviceRgbCS extends ColorSpace {
+  constructor() {
+    super("DeviceRGB", 3);
+  }
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(DeviceRgbCS).call(this, 'DeviceRGB', 3));
+  getRgbItem(src, srcOffset, dest, destOffset) {
+    dest[destOffset] = src[srcOffset] * 255;
+    dest[destOffset + 1] = src[srcOffset + 1] * 255;
+    dest[destOffset + 2] = src[srcOffset + 2] * 255;
   }
 
-  _createClass(DeviceRgbCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      dest[destOffset] = src[srcOffset] * 255;
-      dest[destOffset + 1] = src[srcOffset + 1] * 255;
-      dest[destOffset + 2] = src[srcOffset + 2] * 255;
+  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+    if (bits === 8 && alpha01 === 0) {
+      dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);
+      return;
     }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      if (bits === 8 && alpha01 === 0) {
-        dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);
-        return;
-      }
 
-      var scale = 255 / ((1 << bits) - 1);
-      var j = srcOffset,
-          q = destOffset;
+    const scale = 255 / ((1 << bits) - 1);
+    let j = srcOffset,
+        q = destOffset;
 
-      for (var i = 0; i < count; ++i) {
-        dest[q++] = scale * src[j++];
-        dest[q++] = scale * src[j++];
-        dest[q++] = scale * src[j++];
-        q += alpha01;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return inputLength * (3 + alpha01) / 3 | 0;
+    for (let i = 0; i < count; ++i) {
+      dest[q++] = scale * src[j++];
+      dest[q++] = scale * src[j++];
+      dest[q++] = scale * src[j++];
+      q += alpha01;
     }
-  }, {
-    key: "isPassthrough",
-    value: function isPassthrough(bits) {
-      return bits === 8;
-    }
-  }]);
+  }
+
+  getOutputLength(inputLength, alpha01) {
+    return inputLength * (3 + alpha01) / 3 | 0;
+  }
+
+  isPassthrough(bits) {
+    return bits === 8;
+  }
 
-  return DeviceRgbCS;
-}(ColorSpace);
+}
 
-var DeviceCmykCS = function DeviceCmykCSClosure() {
+const DeviceCmykCS = function DeviceCmykCSClosure() {
   function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {
-    var c = src[srcOffset] * srcScale;
-    var m = src[srcOffset + 1] * srcScale;
-    var y = src[srcOffset + 2] * srcScale;
-    var k = src[srcOffset + 3] * srcScale;
+    const c = src[srcOffset] * srcScale;
+    const m = src[srcOffset + 1] * srcScale;
+    const y = src[srcOffset + 2] * srcScale;
+    const k = src[srcOffset + 3] * srcScale;
     dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 
212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + 
-17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 
17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);
     dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y 
+ 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 
131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 
24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);
     dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y 
- 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 
50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + 
-193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);
   }
 
-  var DeviceCmykCS =
-  /*#__PURE__*/
-  function (_ColorSpace6) {
-    _inherits(DeviceCmykCS, _ColorSpace6);
-
-    function DeviceCmykCS() {
-      _classCallCheck(this, DeviceCmykCS);
+  class DeviceCmykCS extends ColorSpace {
+    constructor() {
+      super("DeviceCMYK", 4);
+    }
 
-      return _possibleConstructorReturn(this, _getPrototypeOf(DeviceCmykCS).call(this, 'DeviceCMYK', 4));
+    getRgbItem(src, srcOffset, dest, destOffset) {
+      convertToRgb(src, srcOffset, 1, dest, destOffset);
     }
 
-    _createClass(DeviceCmykCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(src, srcOffset, 1, dest, destOffset);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
+    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+      const scale = 1 / ((1 << bits) - 1);
 
-        for (var i = 0; i < count; i++) {
-          convertToRgb(src, srcOffset, scale, dest, destOffset);
-          srcOffset += 4;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength / 4 * (3 + alpha01) | 0;
+      for (let i = 0; i < count; i++) {
+        convertToRgb(src, srcOffset, scale, dest, destOffset);
+        srcOffset += 4;
+        destOffset += 3 + alpha01;
       }
-    }]);
+    }
 
-    return DeviceCmykCS;
-  }(ColorSpace);
+    getOutputLength(inputLength, alpha01) {
+      return inputLength / 4 * (3 + alpha01) | 0;
+    }
+
+  }
 
   return DeviceCmykCS;
 }();
 
-var CalGrayCS = function CalGrayCSClosure() {
+const CalGrayCS = function CalGrayCSClosure() {
   function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {
-    var A = src[srcOffset] * scale;
-    var AG = Math.pow(A, cs.G);
-    var L = cs.YW * AG;
-    var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);
+    const A = src[srcOffset] * scale;
+    const AG = A ** cs.G;
+    const L = cs.YW * AG;
+    const val = Math.max(295.8 * L ** 0.333333333333333333 - 40.8, 0);
     dest[destOffset] = val;
     dest[destOffset + 1] = val;
     dest[destOffset + 2] = val;
   }
 
-  var CalGrayCS =
-  /*#__PURE__*/
-  function (_ColorSpace7) {
-    _inherits(CalGrayCS, _ColorSpace7);
-
-    function CalGrayCS(whitePoint, blackPoint, gamma) {
-      var _this4;
-
-      _classCallCheck(this, CalGrayCS);
-
-      _this4 = _possibleConstructorReturn(this, _getPrototypeOf(CalGrayCS).call(this, 'CalGray', 1));
+  class CalGrayCS extends ColorSpace {
+    constructor(whitePoint, blackPoint, gamma) {
+      super("CalGray", 1);
 
       if (!whitePoint) {
-        throw new _util.FormatError('WhitePoint missing - required for color space CalGray');
+        throw new _util.FormatError("WhitePoint missing - required for color space CalGray");
       }
 
       blackPoint = blackPoint || [0, 0, 0];
       gamma = gamma || 1;
-      _this4.XW = whitePoint[0];
-      _this4.YW = whitePoint[1];
-      _this4.ZW = whitePoint[2];
-      _this4.XB = blackPoint[0];
-      _this4.YB = blackPoint[1];
-      _this4.ZB = blackPoint[2];
-      _this4.G = gamma;
+      this.XW = whitePoint[0];
+      this.YW = whitePoint[1];
+      this.ZW = whitePoint[2];
+      this.XB = blackPoint[0];
+      this.YB = blackPoint[1];
+      this.ZB = blackPoint[2];
+      this.G = gamma;
 
-      if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {
-        throw new _util.FormatError("Invalid WhitePoint components for ".concat(_this4.name) + ', no 
fallback available');
+      if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {
+        throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}` + ", no fallback 
available");
       }
 
-      if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {
-        (0, _util.info)("Invalid BlackPoint for ".concat(_this4.name, ", falling back to default."));
-        _this4.XB = _this4.YB = _this4.ZB = 0;
+      if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
+        (0, _util.info)(`Invalid BlackPoint for ${this.name}, falling back to default.`);
+        this.XB = this.YB = this.ZB = 0;
       }
 
-      if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {
-        (0, _util.warn)("".concat(_this4.name, ", BlackPoint: XB: ").concat(_this4.XB, ", YB: 
").concat(_this4.YB, ", ") + "ZB: ".concat(_this4.ZB, ", only default values are supported."));
+      if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) {
+        (0, _util.warn)(`${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ` + `ZB: ${this.ZB}, only 
default values are supported.`);
       }
 
-      if (_this4.G < 1) {
-        (0, _util.info)("Invalid Gamma: ".concat(_this4.G, " for ").concat(_this4.name, ", ") + 'falling 
back to default.');
-        _this4.G = 1;
+      if (this.G < 1) {
+        (0, _util.info)(`Invalid Gamma: ${this.G} for ${this.name}, ` + "falling back to default.");
+        this.G = 1;
       }
+    }
 
-      return _this4;
+    getRgbItem(src, srcOffset, dest, destOffset) {
+      convertToRgb(this, src, srcOffset, dest, destOffset, 1);
     }
 
-    _createClass(CalGrayCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, dest, destOffset, 1);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
+    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+      const scale = 1 / ((1 << bits) - 1);
 
-        for (var i = 0; i < count; ++i) {
-          convertToRgb(this, src, srcOffset, dest, destOffset, scale);
-          srcOffset += 1;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01);
+      for (let i = 0; i < count; ++i) {
+        convertToRgb(this, src, srcOffset, dest, destOffset, scale);
+        srcOffset += 1;
+        destOffset += 3 + alpha01;
       }
-    }]);
+    }
+
+    getOutputLength(inputLength, alpha01) {
+      return inputLength * (3 + alpha01);
+    }
 
-    return CalGrayCS;
-  }(ColorSpace);
+  }
 
   return CalGrayCS;
 }();
 
-var CalRGBCS = function CalRGBCSClosure() {
-  var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, 
-0.0685, 1.0296]);
-  var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 
0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);
-  var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 
1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);
-  var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);
-  var tempNormalizeMatrix = new Float32Array(3);
-  var tempConvertMatrix1 = new Float32Array(3);
-  var tempConvertMatrix2 = new Float32Array(3);
-  var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;
+const CalRGBCS = function CalRGBCSClosure() {
+  const BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, 
-0.0685, 1.0296]);
+  const BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 
0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);
+  const SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 
1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);
+  const FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);
+  const tempNormalizeMatrix = new Float32Array(3);
+  const tempConvertMatrix1 = new Float32Array(3);
+  const tempConvertMatrix2 = new Float32Array(3);
+  const DECODE_L_CONSTANT = ((8 + 16) / 116) ** 3 / 8.0;
 
   function matrixProduct(a, b, result) {
     result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
@@ -28156,9 +18005,9 @@ var CalRGBCS = function CalRGBCSClosure() {
   }
 
   function convertToD65(sourceWhitePoint, LMS, result) {
-    var D65X = 0.95047;
-    var D65Y = 1;
-    var D65Z = 1.08883;
+    const D65X = 0.95047;
+    const D65Y = 1;
+    const D65Z = 1.08883;
     result[0] = LMS[0] * D65X / sourceWhitePoint[0];
     result[1] = LMS[1] * D65Y / sourceWhitePoint[1];
     result[2] = LMS[2] * D65Z / sourceWhitePoint[2];
@@ -28169,7 +18018,7 @@ var CalRGBCS = function CalRGBCSClosure() {
       return adjustToRange(0, 1, 12.92 * color);
     }
 
-    return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);
+    return adjustToRange(0, 1, (1 + 0.055) * color ** (1 / 2.4) - 0.055);
   }
 
   function adjustToRange(min, max, value) {
@@ -28182,7 +18031,7 @@ var CalRGBCS = function CalRGBCSClosure() {
     }
 
     if (L > 8.0) {
-      return Math.pow((L + 16) / 116, 3);
+      return ((L + 16) / 116) ** 3;
     }
 
     return L * DECODE_L_CONSTANT;
@@ -28196,19 +18045,19 @@ var CalRGBCS = function CalRGBCSClosure() {
       return;
     }
 
-    var zeroDecodeL = decodeL(0);
-    var X_DST = zeroDecodeL;
-    var X_SRC = decodeL(sourceBlackPoint[0]);
-    var Y_DST = zeroDecodeL;
-    var Y_SRC = decodeL(sourceBlackPoint[1]);
-    var Z_DST = zeroDecodeL;
-    var Z_SRC = decodeL(sourceBlackPoint[2]);
-    var X_Scale = (1 - X_DST) / (1 - X_SRC);
-    var X_Offset = 1 - X_Scale;
-    var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);
-    var Y_Offset = 1 - Y_Scale;
-    var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);
-    var Z_Offset = 1 - Z_Scale;
+    const zeroDecodeL = decodeL(0);
+    const X_DST = zeroDecodeL;
+    const X_SRC = decodeL(sourceBlackPoint[0]);
+    const Y_DST = zeroDecodeL;
+    const Y_SRC = decodeL(sourceBlackPoint[1]);
+    const Z_DST = zeroDecodeL;
+    const Z_SRC = decodeL(sourceBlackPoint[2]);
+    const X_Scale = (1 - X_DST) / (1 - X_SRC);
+    const X_Offset = 1 - X_Scale;
+    const Y_Scale = (1 - Y_DST) / (1 - Y_SRC);
+    const Y_Offset = 1 - Y_Scale;
+    const Z_Scale = (1 - Z_DST) / (1 - Z_SRC);
+    const Z_Offset = 1 - Z_Scale;
     result[0] = XYZ_Flat[0] * X_Scale + X_Offset;
     result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;
     result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;
@@ -28222,137 +18071,121 @@ var CalRGBCS = function CalRGBCSClosure() {
       return;
     }
 
-    var LMS = result;
+    const LMS = result;
     matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);
-    var LMS_Flat = tempNormalizeMatrix;
+    const LMS_Flat = tempNormalizeMatrix;
     convertToFlat(sourceWhitePoint, LMS, LMS_Flat);
     matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);
   }
 
   function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {
-    var LMS = result;
+    const LMS = result;
     matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);
-    var LMS_D65 = tempNormalizeMatrix;
+    const LMS_D65 = tempNormalizeMatrix;
     convertToD65(sourceWhitePoint, LMS, LMS_D65);
     matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);
   }
 
   function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {
-    var A = adjustToRange(0, 1, src[srcOffset] * scale);
-    var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);
-    var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);
-    var AGR = Math.pow(A, cs.GR);
-    var BGG = Math.pow(B, cs.GG);
-    var CGB = Math.pow(C, cs.GB);
-    var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;
-    var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;
-    var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;
-    var XYZ = tempConvertMatrix1;
+    const A = adjustToRange(0, 1, src[srcOffset] * scale);
+    const B = adjustToRange(0, 1, src[srcOffset + 1] * scale);
+    const C = adjustToRange(0, 1, src[srcOffset + 2] * scale);
+    const AGR = A ** cs.GR;
+    const BGG = B ** cs.GG;
+    const CGB = C ** cs.GB;
+    const X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;
+    const Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;
+    const Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;
+    const XYZ = tempConvertMatrix1;
     XYZ[0] = X;
     XYZ[1] = Y;
     XYZ[2] = Z;
-    var XYZ_Flat = tempConvertMatrix2;
+    const XYZ_Flat = tempConvertMatrix2;
     normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);
-    var XYZ_Black = tempConvertMatrix1;
+    const XYZ_Black = tempConvertMatrix1;
     compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);
-    var XYZ_D65 = tempConvertMatrix2;
+    const XYZ_D65 = tempConvertMatrix2;
     normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);
-    var SRGB = tempConvertMatrix1;
+    const SRGB = tempConvertMatrix1;
     matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);
     dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;
     dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;
     dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;
   }
 
-  var CalRGBCS =
-  /*#__PURE__*/
-  function (_ColorSpace8) {
-    _inherits(CalRGBCS, _ColorSpace8);
-
-    function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {
-      var _this5;
-
-      _classCallCheck(this, CalRGBCS);
-
-      _this5 = _possibleConstructorReturn(this, _getPrototypeOf(CalRGBCS).call(this, 'CalRGB', 3));
+  class CalRGBCS extends ColorSpace {
+    constructor(whitePoint, blackPoint, gamma, matrix) {
+      super("CalRGB", 3);
 
       if (!whitePoint) {
-        throw new _util.FormatError('WhitePoint missing - required for color space CalRGB');
+        throw new _util.FormatError("WhitePoint missing - required for color space CalRGB");
       }
 
       blackPoint = blackPoint || new Float32Array(3);
       gamma = gamma || new Float32Array([1, 1, 1]);
       matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
-      var XW = whitePoint[0];
-      var YW = whitePoint[1];
-      var ZW = whitePoint[2];
-      _this5.whitePoint = whitePoint;
-      var XB = blackPoint[0];
-      var YB = blackPoint[1];
-      var ZB = blackPoint[2];
-      _this5.blackPoint = blackPoint;
-      _this5.GR = gamma[0];
-      _this5.GG = gamma[1];
-      _this5.GB = gamma[2];
-      _this5.MXA = matrix[0];
-      _this5.MYA = matrix[1];
-      _this5.MZA = matrix[2];
-      _this5.MXB = matrix[3];
-      _this5.MYB = matrix[4];
-      _this5.MZB = matrix[5];
-      _this5.MXC = matrix[6];
-      _this5.MYC = matrix[7];
-      _this5.MZC = matrix[8];
+      const XW = whitePoint[0];
+      const YW = whitePoint[1];
+      const ZW = whitePoint[2];
+      this.whitePoint = whitePoint;
+      const XB = blackPoint[0];
+      const YB = blackPoint[1];
+      const ZB = blackPoint[2];
+      this.blackPoint = blackPoint;
+      this.GR = gamma[0];
+      this.GG = gamma[1];
+      this.GB = gamma[2];
+      this.MXA = matrix[0];
+      this.MYA = matrix[1];
+      this.MZA = matrix[2];
+      this.MXB = matrix[3];
+      this.MYB = matrix[4];
+      this.MZB = matrix[5];
+      this.MXC = matrix[6];
+      this.MYC = matrix[7];
+      this.MZC = matrix[8];
 
       if (XW < 0 || ZW < 0 || YW !== 1) {
-        throw new _util.FormatError("Invalid WhitePoint components for ".concat(_this5.name) + ', no 
fallback available');
+        throw new _util.FormatError(`Invalid WhitePoint components for ${this.name}` + ", no fallback 
available");
       }
 
       if (XB < 0 || YB < 0 || ZB < 0) {
-        (0, _util.info)("Invalid BlackPoint for ".concat(_this5.name, " [").concat(XB, ", ").concat(YB, ", 
").concat(ZB, "], ") + 'falling back to default.');
-        _this5.blackPoint = new Float32Array(3);
+        (0, _util.info)(`Invalid BlackPoint for ${this.name} [${XB}, ${YB}, ${ZB}], ` + "falling back to 
default.");
+        this.blackPoint = new Float32Array(3);
       }
 
-      if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {
-        (0, _util.info)("Invalid Gamma [".concat(_this5.GR, ", ").concat(_this5.GG, ", ").concat(_this5.GB, 
"] for ") + "".concat(_this5.name, ", falling back to default."));
-        _this5.GR = _this5.GG = _this5.GB = 1;
+      if (this.GR < 0 || this.GG < 0 || this.GB < 0) {
+        (0, _util.info)(`Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ` + `${this.name}, falling 
back to default.`);
+        this.GR = this.GG = this.GB = 1;
       }
+    }
 
-      return _this5;
+    getRgbItem(src, srcOffset, dest, destOffset) {
+      convertToRgb(this, src, srcOffset, dest, destOffset, 1);
     }
 
-    _createClass(CalRGBCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, dest, destOffset, 1);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
+    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+      const scale = 1 / ((1 << bits) - 1);
 
-        for (var i = 0; i < count; ++i) {
-          convertToRgb(this, src, srcOffset, dest, destOffset, scale);
-          srcOffset += 3;
-          destOffset += 3 + alpha01;
-        }
+      for (let i = 0; i < count; ++i) {
+        convertToRgb(this, src, srcOffset, dest, destOffset, scale);
+        srcOffset += 3;
+        destOffset += 3 + alpha01;
       }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01) / 3 | 0;
-      }
-    }]);
+    }
+
+    getOutputLength(inputLength, alpha01) {
+      return inputLength * (3 + alpha01) / 3 | 0;
+    }
 
-    return CalRGBCS;
-  }(ColorSpace);
+  }
 
   return CalRGBCS;
 }();
 
-var LabCS = function LabCSClosure() {
+const LabCS = function LabCSClosure() {
   function fn_g(x) {
-    var result;
+    let result;
 
     if (x >= 6 / 29) {
       result = x * x * x;
@@ -28368,9 +18201,9 @@ var LabCS = function LabCSClosure() {
   }
 
   function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {
-    var Ls = src[srcOffset];
-    var as = src[srcOffset + 1];
-    var bs = src[srcOffset + 2];
+    let Ls = src[srcOffset];
+    let as = src[srcOffset + 1];
+    let bs = src[srcOffset + 2];
 
     if (maxVal !== false) {
       Ls = decode(Ls, maxVal, 0, 100);
@@ -28378,24 +18211,34 @@ var LabCS = function LabCSClosure() {
       bs = decode(bs, maxVal, cs.bmin, cs.bmax);
     }
 
-    as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as;
-    bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs;
-    var M = (Ls + 16) / 116;
-    var L = M + as / 500;
-    var N = M - bs / 200;
-    var X = cs.XW * fn_g(L);
-    var Y = cs.YW * fn_g(M);
-    var Z = cs.ZW * fn_g(N);
-    var r, g, b;
+    if (as > cs.amax) {
+      as = cs.amax;
+    } else if (as < cs.amin) {
+      as = cs.amin;
+    }
+
+    if (bs > cs.bmax) {
+      bs = cs.bmax;
+    } else if (bs < cs.bmin) {
+      bs = cs.bmin;
+    }
+
+    const M = (Ls + 16) / 116;
+    const L = M + as / 500;
+    const N = M - bs / 200;
+    const X = cs.XW * fn_g(L);
+    const Y = cs.YW * fn_g(M);
+    const Z = cs.ZW * fn_g(N);
+    let r, g, b;
 
     if (cs.ZW < 1) {
-      r = X * 3.1339 + Y * -1.6170 + Z * -0.4906;
-      g = X * -0.9785 + Y * 1.9160 + Z * 0.0333;
-      b = X * 0.0720 + Y * -0.2290 + Z * 1.4057;
+      r = X * 3.1339 + Y * -1.617 + Z * -0.4906;
+      g = X * -0.9785 + Y * 1.916 + Z * 0.0333;
+      b = X * 0.072 + Y * -0.229 + Z * 1.4057;
     } else {
       r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;
       g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;
-      b = X * 0.0557 + Y * -0.2040 + Z * 1.0570;
+      b = X * 0.0557 + Y * -0.204 + Z * 1.057;
     }
 
     dest[destOffset] = Math.sqrt(r) * 255;
@@ -28403,96 +18246,78 @@ var LabCS = function LabCSClosure() {
     dest[destOffset + 2] = Math.sqrt(b) * 255;
   }
 
-  var LabCS =
-  /*#__PURE__*/
-  function (_ColorSpace9) {
-    _inherits(LabCS, _ColorSpace9);
-
-    function LabCS(whitePoint, blackPoint, range) {
-      var _this6;
-
-      _classCallCheck(this, LabCS);
-
-      _this6 = _possibleConstructorReturn(this, _getPrototypeOf(LabCS).call(this, 'Lab', 3));
+  class LabCS extends ColorSpace {
+    constructor(whitePoint, blackPoint, range) {
+      super("Lab", 3);
 
       if (!whitePoint) {
-        throw new _util.FormatError('WhitePoint missing - required for color space Lab');
+        throw new _util.FormatError("WhitePoint missing - required for color space Lab");
       }
 
       blackPoint = blackPoint || [0, 0, 0];
       range = range || [-100, 100, -100, 100];
-      _this6.XW = whitePoint[0];
-      _this6.YW = whitePoint[1];
-      _this6.ZW = whitePoint[2];
-      _this6.amin = range[0];
-      _this6.amax = range[1];
-      _this6.bmin = range[2];
-      _this6.bmax = range[3];
-      _this6.XB = blackPoint[0];
-      _this6.YB = blackPoint[1];
-      _this6.ZB = blackPoint[2];
+      this.XW = whitePoint[0];
+      this.YW = whitePoint[1];
+      this.ZW = whitePoint[2];
+      this.amin = range[0];
+      this.amax = range[1];
+      this.bmin = range[2];
+      this.bmax = range[3];
+      this.XB = blackPoint[0];
+      this.YB = blackPoint[1];
+      this.ZB = blackPoint[2];
 
-      if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {
-        throw new _util.FormatError('Invalid WhitePoint components, no fallback available');
+      if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {
+        throw new _util.FormatError("Invalid WhitePoint components, no fallback available");
       }
 
-      if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {
-        (0, _util.info)('Invalid BlackPoint, falling back to default');
-        _this6.XB = _this6.YB = _this6.ZB = 0;
+      if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
+        (0, _util.info)("Invalid BlackPoint, falling back to default");
+        this.XB = this.YB = this.ZB = 0;
       }
 
-      if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {
-        (0, _util.info)('Invalid Range, falling back to defaults');
-        _this6.amin = -100;
-        _this6.amax = 100;
-        _this6.bmin = -100;
-        _this6.bmax = 100;
+      if (this.amin > this.amax || this.bmin > this.bmax) {
+        (0, _util.info)("Invalid Range, falling back to defaults");
+        this.amin = -100;
+        this.amax = 100;
+        this.bmin = -100;
+        this.bmax = 100;
       }
+    }
 
-      return _this6;
+    getRgbItem(src, srcOffset, dest, destOffset) {
+      convertToRgb(this, src, srcOffset, false, dest, destOffset);
     }
 
-    _createClass(LabCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, false, dest, destOffset);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var maxVal = (1 << bits) - 1;
+    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
+      const maxVal = (1 << bits) - 1;
 
-        for (var i = 0; i < count; i++) {
-          convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);
-          srcOffset += 3;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01) / 3 | 0;
-      }
-    }, {
-      key: "isDefaultDecode",
-      value: function isDefaultDecode(decodeMap, bpc) {
-        return true;
+      for (let i = 0; i < count; i++) {
+        convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);
+        srcOffset += 3;
+        destOffset += 3 + alpha01;
       }
-    }, {
-      key: "usesZeroToOneRange",
-      get: function get() {
-        return (0, _util.shadow)(this, 'usesZeroToOneRange', false);
-      }
-    }]);
+    }
+
+    getOutputLength(inputLength, alpha01) {
+      return inputLength * (3 + alpha01) / 3 | 0;
+    }
+
+    isDefaultDecode(decodeMap, bpc) {
+      return true;
+    }
+
+    get usesZeroToOneRange() {
+      return (0, _util.shadow)(this, "usesZeroToOneRange", false);
+    }
 
-    return LabCS;
-  }(ColorSpace);
+  }
 
   return LabCS;
 }();
 
 /***/ }),
-/* 202 */
+/* 23 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -28504,199 +18329,158 @@ Object.defineProperty(exports, "__esModule", {
 exports.getQuadPoints = getQuadPoints;
 exports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = 
void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _obj = __w_pdfjs_require__(188);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _colorspace = __w_pdfjs_require__(201);
-
-var _core_utils = __w_pdfjs_require__(186);
-
-var _operator_list = __w_pdfjs_require__(203);
-
-var _stream = __w_pdfjs_require__(190);
-
-function _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) 
{ object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+var _util = __w_pdfjs_require__(2);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+var _obj = __w_pdfjs_require__(9);
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+var _primitives = __w_pdfjs_require__(4);
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+var _colorspace = __w_pdfjs_require__(22);
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
+var _core_utils = __w_pdfjs_require__(7);
 
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
+var _operator_list = __w_pdfjs_require__(24);
 
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
+var _stream = __w_pdfjs_require__(11);
 
-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); return Constructor; }
-
-var AnnotationFactory =
-/*#__PURE__*/
-function () {
-  function AnnotationFactory() {
-    _classCallCheck(this, AnnotationFactory);
+class AnnotationFactory {
+  static create(xref, ref, pdfManager, idFactory) {
+    return pdfManager.ensure(this, "_create", [xref, ref, pdfManager, idFactory]);
   }
 
-  _createClass(AnnotationFactory, null, [{
-    key: "create",
-    value: function create(xref, ref, pdfManager, idFactory) {
-      return pdfManager.ensure(this, '_create', [xref, ref, pdfManager, idFactory]);
-    }
-  }, {
-    key: "_create",
-    value: function _create(xref, ref, pdfManager, idFactory) {
-      var dict = xref.fetchIfRef(ref);
+  static _create(xref, ref, pdfManager, idFactory) {
+    const dict = xref.fetchIfRef(ref);
 
-      if (!(0, _primitives.isDict)(dict)) {
-        return undefined;
-      }
+    if (!(0, _primitives.isDict)(dict)) {
+      return undefined;
+    }
 
-      var id = (0, _primitives.isRef)(ref) ? ref.toString() : "annot_".concat(idFactory.createObjId());
-      var subtype = dict.get('Subtype');
-      subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;
-      var parameters = {
-        xref: xref,
-        dict: dict,
-        subtype: subtype,
-        id: id,
-        pdfManager: pdfManager
-      };
+    const id = (0, _primitives.isRef)(ref) ? ref.toString() : `annot_${idFactory.createObjId()}`;
+    let subtype = dict.get("Subtype");
+    subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;
+    const parameters = {
+      xref,
+      dict,
+      subtype,
+      id,
+      pdfManager
+    };
 
-      switch (subtype) {
-        case 'Link':
-          return new LinkAnnotation(parameters);
+    switch (subtype) {
+      case "Link":
+        return new LinkAnnotation(parameters);
 
-        case 'Text':
-          return new TextAnnotation(parameters);
+      case "Text":
+        return new TextAnnotation(parameters);
 
-        case 'Widget':
-          var fieldType = (0, _core_utils.getInheritableProperty)({
-            dict: dict,
-            key: 'FT'
-          });
-          fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;
+      case "Widget":
+        let fieldType = (0, _core_utils.getInheritableProperty)({
+          dict,
+          key: "FT"
+        });
+        fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;
 
-          switch (fieldType) {
-            case 'Tx':
-              return new TextWidgetAnnotation(parameters);
+        switch (fieldType) {
+          case "Tx":
+            return new TextWidgetAnnotation(parameters);
 
-            case 'Btn':
-              return new ButtonWidgetAnnotation(parameters);
+          case "Btn":
+            return new ButtonWidgetAnnotation(parameters);
 
-            case 'Ch':
-              return new ChoiceWidgetAnnotation(parameters);
-          }
+          case "Ch":
+            return new ChoiceWidgetAnnotation(parameters);
+        }
 
-          (0, _util.warn)('Unimplemented widget field type "' + fieldType + '", ' + 'falling back to base 
field type.');
-          return new WidgetAnnotation(parameters);
+        (0, _util.warn)('Unimplemented widget field type "' + fieldType + '", ' + "falling back to base 
field type.");
+        return new WidgetAnnotation(parameters);
 
-        case 'Popup':
-          return new PopupAnnotation(parameters);
+      case "Popup":
+        return new PopupAnnotation(parameters);
 
-        case 'FreeText':
-          return new FreeTextAnnotation(parameters);
+      case "FreeText":
+        return new FreeTextAnnotation(parameters);
 
-        case 'Line':
-          return new LineAnnotation(parameters);
+      case "Line":
+        return new LineAnnotation(parameters);
 
-        case 'Square':
-          return new SquareAnnotation(parameters);
+      case "Square":
+        return new SquareAnnotation(parameters);
 
-        case 'Circle':
-          return new CircleAnnotation(parameters);
+      case "Circle":
+        return new CircleAnnotation(parameters);
 
-        case 'PolyLine':
-          return new PolylineAnnotation(parameters);
+      case "PolyLine":
+        return new PolylineAnnotation(parameters);
 
-        case 'Polygon':
-          return new PolygonAnnotation(parameters);
+      case "Polygon":
+        return new PolygonAnnotation(parameters);
 
-        case 'Caret':
-          return new CaretAnnotation(parameters);
+      case "Caret":
+        return new CaretAnnotation(parameters);
 
-        case 'Ink':
-          return new InkAnnotation(parameters);
+      case "Ink":
+        return new InkAnnotation(parameters);
 
-        case 'Highlight':
-          return new HighlightAnnotation(parameters);
+      case "Highlight":
+        return new HighlightAnnotation(parameters);
 
-        case 'Underline':
-          return new UnderlineAnnotation(parameters);
+      case "Underline":
+        return new UnderlineAnnotation(parameters);
 
-        case 'Squiggly':
-          return new SquigglyAnnotation(parameters);
+      case "Squiggly":
+        return new SquigglyAnnotation(parameters);
 
-        case 'StrikeOut':
-          return new StrikeOutAnnotation(parameters);
+      case "StrikeOut":
+        return new StrikeOutAnnotation(parameters);
 
-        case 'Stamp':
-          return new StampAnnotation(parameters);
+      case "Stamp":
+        return new StampAnnotation(parameters);
 
-        case 'FileAttachment':
-          return new FileAttachmentAnnotation(parameters);
+      case "FileAttachment":
+        return new FileAttachmentAnnotation(parameters);
 
-        default:
-          if (!subtype) {
-            (0, _util.warn)('Annotation is missing the required /Subtype.');
-          } else {
-            (0, _util.warn)('Unimplemented annotation type "' + subtype + '", ' + 'falling back to base 
annotation.');
-          }
+      default:
+        if (!subtype) {
+          (0, _util.warn)("Annotation is missing the required /Subtype.");
+        } else {
+          (0, _util.warn)('Unimplemented annotation type "' + subtype + '", ' + "falling back to base 
annotation.");
+        }
 
-          return new Annotation(parameters);
-      }
+        return new Annotation(parameters);
     }
-  }]);
+  }
 
-  return AnnotationFactory;
-}();
+}
 
 exports.AnnotationFactory = AnnotationFactory;
 
 function getQuadPoints(dict, rect) {
-  if (!dict.has('QuadPoints')) {
+  if (!dict.has("QuadPoints")) {
     return null;
   }
 
-  var quadPoints = dict.getArray('QuadPoints');
+  const quadPoints = dict.getArray("QuadPoints");
 
   if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {
     return null;
   }
 
-  var quadPointsLists = [];
+  const quadPointsLists = [];
 
-  for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {
+  for (let i = 0, ii = quadPoints.length / 8; i < ii; i++) {
     quadPointsLists.push([]);
 
-    for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {
-      var x = quadPoints[j];
-      var y = quadPoints[j + 1];
+    for (let j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {
+      const x = quadPoints[j];
+      const y = quadPoints[j + 1];
 
       if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {
         return null;
       }
 
       quadPointsLists[i].push({
-        x: x,
-        y: y
+        x,
+        y
       });
     }
   }
@@ -28705,34 +18489,25 @@ function getQuadPoints(dict, rect) {
 }
 
 function getTransformMatrix(rect, bbox, matrix) {
-  var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),
-      _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),
-      minX = _Util$getAxialAligned2[0],
-      minY = _Util$getAxialAligned2[1],
-      maxX = _Util$getAxialAligned2[2],
-      maxY = _Util$getAxialAligned2[3];
+  const [minX, minY, maxX, maxY] = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);
 
   if (minX === maxX || minY === maxY) {
     return [1, 0, 0, 1, rect[0], rect[1]];
   }
 
-  var xRatio = (rect[2] - rect[0]) / (maxX - minX);
-  var yRatio = (rect[3] - rect[1]) / (maxY - minY);
+  const xRatio = (rect[2] - rect[0]) / (maxX - minX);
+  const yRatio = (rect[3] - rect[1]) / (maxY - minY);
   return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];
 }
 
-var Annotation =
-/*#__PURE__*/
-function () {
-  function Annotation(params) {
-    _classCallCheck(this, Annotation);
-
-    var dict = params.dict;
-    this.setContents(dict.get('Contents'));
-    this.setModificationDate(dict.get('M'));
-    this.setFlags(dict.get('F'));
-    this.setRectangle(dict.getArray('Rect'));
-    this.setColor(dict.getArray('C'));
+class Annotation {
+  constructor(params) {
+    const dict = params.dict;
+    this.setContents(dict.get("Contents"));
+    this.setModificationDate(dict.get("M"));
+    this.setFlags(dict.get("F"));
+    this.setRectangle(dict.getArray("Rect"));
+    this.setColor(dict.getArray("C"));
     this.setBorderStyle(dict);
     this.setAppearance(dict);
     this.data = {
@@ -28748,228 +18523,202 @@ function () {
     };
   }
 
-  _createClass(Annotation, [{
-    key: "_hasFlag",
-    value: function _hasFlag(flags, flag) {
-      return !!(flags & flag);
-    }
-  }, {
-    key: "_isViewable",
-    value: function _isViewable(flags) {
-      return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, 
_util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);
-    }
-  }, {
-    key: "_isPrintable",
-    value: function _isPrintable(flags) {
-      return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, 
_util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);
-    }
-  }, {
-    key: "setContents",
-    value: function setContents(contents) {
-      this.contents = (0, _util.stringToPDFString)(contents || '');
-    }
-  }, {
-    key: "setModificationDate",
-    value: function setModificationDate(modificationDate) {
-      this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;
-    }
-  }, {
-    key: "setFlags",
-    value: function setFlags(flags) {
-      this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;
-    }
-  }, {
-    key: "hasFlag",
-    value: function hasFlag(flag) {
-      return this._hasFlag(this.flags, flag);
-    }
-  }, {
-    key: "setRectangle",
-    value: function setRectangle(rectangle) {
-      if (Array.isArray(rectangle) && rectangle.length === 4) {
-        this.rectangle = _util.Util.normalizeRect(rectangle);
-      } else {
-        this.rectangle = [0, 0, 0, 0];
-      }
+  _hasFlag(flags, flag) {
+    return !!(flags & flag);
+  }
+
+  _isViewable(flags) {
+    return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, 
_util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);
+  }
+
+  _isPrintable(flags) {
+    return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, 
_util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);
+  }
+
+  get viewable() {
+    if (this.flags === 0) {
+      return true;
     }
-  }, {
-    key: "setColor",
-    value: function setColor(color) {
-      var rgbColor = new Uint8ClampedArray(3);
 
-      if (!Array.isArray(color)) {
-        this.color = rgbColor;
-        return;
-      }
+    return this._isViewable(this.flags);
+  }
 
-      switch (color.length) {
-        case 0:
-          this.color = null;
-          break;
+  get printable() {
+    if (this.flags === 0) {
+      return false;
+    }
 
-        case 1:
-          _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);
+    return this._isPrintable(this.flags);
+  }
 
-          this.color = rgbColor;
-          break;
+  setContents(contents) {
+    this.contents = (0, _util.stringToPDFString)(contents || "");
+  }
 
-        case 3:
-          _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);
+  setModificationDate(modificationDate) {
+    this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;
+  }
 
-          this.color = rgbColor;
-          break;
+  setFlags(flags) {
+    this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;
+  }
 
-        case 4:
-          _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);
+  hasFlag(flag) {
+    return this._hasFlag(this.flags, flag);
+  }
 
-          this.color = rgbColor;
-          break;
+  setRectangle(rectangle) {
+    if (Array.isArray(rectangle) && rectangle.length === 4) {
+      this.rectangle = _util.Util.normalizeRect(rectangle);
+    } else {
+      this.rectangle = [0, 0, 0, 0];
+    }
+  }
 
-        default:
-          this.color = rgbColor;
-          break;
-      }
+  setColor(color) {
+    const rgbColor = new Uint8ClampedArray(3);
+
+    if (!Array.isArray(color)) {
+      this.color = rgbColor;
+      return;
     }
-  }, {
-    key: "setBorderStyle",
-    value: function setBorderStyle(borderStyle) {
-      this.borderStyle = new AnnotationBorderStyle();
 
-      if (!(0, _primitives.isDict)(borderStyle)) {
-        return;
-      }
+    switch (color.length) {
+      case 0:
+        this.color = null;
+        break;
+
+      case 1:
+        _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);
 
-      if (borderStyle.has('BS')) {
-        var dict = borderStyle.get('BS');
-        var dictType = dict.get('Type');
+        this.color = rgbColor;
+        break;
 
-        if (!dictType || (0, _primitives.isName)(dictType, 'Border')) {
-          this.borderStyle.setWidth(dict.get('W'), this.rectangle);
-          this.borderStyle.setStyle(dict.get('S'));
-          this.borderStyle.setDashArray(dict.getArray('D'));
-        }
-      } else if (borderStyle.has('Border')) {
-        var array = borderStyle.getArray('Border');
+      case 3:
+        _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);
 
-        if (Array.isArray(array) && array.length >= 3) {
-          this.borderStyle.setHorizontalCornerRadius(array[0]);
-          this.borderStyle.setVerticalCornerRadius(array[1]);
-          this.borderStyle.setWidth(array[2], this.rectangle);
+        this.color = rgbColor;
+        break;
 
-          if (array.length === 4) {
-            this.borderStyle.setDashArray(array[3]);
-          }
-        }
-      } else {
-        this.borderStyle.setWidth(0);
-      }
+      case 4:
+        _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);
+
+        this.color = rgbColor;
+        break;
+
+      default:
+        this.color = rgbColor;
+        break;
     }
-  }, {
-    key: "setAppearance",
-    value: function setAppearance(dict) {
-      this.appearance = null;
-      var appearanceStates = dict.get('AP');
+  }
 
-      if (!(0, _primitives.isDict)(appearanceStates)) {
-        return;
-      }
+  setBorderStyle(borderStyle) {
+    this.borderStyle = new AnnotationBorderStyle();
 
-      var normalAppearanceState = appearanceStates.get('N');
+    if (!(0, _primitives.isDict)(borderStyle)) {
+      return;
+    }
 
-      if ((0, _primitives.isStream)(normalAppearanceState)) {
-        this.appearance = normalAppearanceState;
-        return;
-      }
+    if (borderStyle.has("BS")) {
+      const dict = borderStyle.get("BS");
+      const dictType = dict.get("Type");
 
-      if (!(0, _primitives.isDict)(normalAppearanceState)) {
-        return;
+      if (!dictType || (0, _primitives.isName)(dictType, "Border")) {
+        this.borderStyle.setWidth(dict.get("W"), this.rectangle);
+        this.borderStyle.setStyle(dict.get("S"));
+        this.borderStyle.setDashArray(dict.getArray("D"));
       }
+    } else if (borderStyle.has("Border")) {
+      const array = borderStyle.getArray("Border");
 
-      var as = dict.get('AS');
+      if (Array.isArray(array) && array.length >= 3) {
+        this.borderStyle.setHorizontalCornerRadius(array[0]);
+        this.borderStyle.setVerticalCornerRadius(array[1]);
+        this.borderStyle.setWidth(array[2], this.rectangle);
 
-      if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {
-        return;
+        if (array.length === 4) {
+          this.borderStyle.setDashArray(array[3]);
+        }
       }
+    } else {
+      this.borderStyle.setWidth(0);
+    }
+  }
+
+  setAppearance(dict) {
+    this.appearance = null;
+    const appearanceStates = dict.get("AP");
 
-      this.appearance = normalAppearanceState.get(as.name);
+    if (!(0, _primitives.isDict)(appearanceStates)) {
+      return;
     }
-  }, {
-    key: "loadResources",
-    value: function loadResources(keys) {
-      return this.appearance.dict.getAsync('Resources').then(function (resources) {
-        if (!resources) {
-          return undefined;
-        }
 
-        var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);
-        return objectLoader.load().then(function () {
-          return resources;
-        });
-      });
+    const normalAppearanceState = appearanceStates.get("N");
+
+    if ((0, _primitives.isStream)(normalAppearanceState)) {
+      this.appearance = normalAppearanceState;
+      return;
     }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      var _this = this;
-
-      if (!this.appearance) {
-        return Promise.resolve(new _operator_list.OperatorList());
-      }
-
-      var data = this.data;
-      var appearanceDict = this.appearance.dict;
-      var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 
'Font']);
-      var bbox = appearanceDict.getArray('BBox') || [0, 0, 1, 1];
-      var matrix = appearanceDict.getArray('Matrix') || [1, 0, 0, 1, 0, 0];
-      var transform = getTransformMatrix(data.rect, bbox, matrix);
-      return resourcesPromise.then(function (resources) {
-        var opList = new _operator_list.OperatorList();
-        opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);
-        return evaluator.getOperatorList({
-          stream: _this.appearance,
-          task: task,
-          resources: resources,
-          operatorList: opList
-        }).then(function () {
-          opList.addOp(_util.OPS.endAnnotation, []);
 
-          _this.appearance.reset();
+    if (!(0, _primitives.isDict)(normalAppearanceState)) {
+      return;
+    }
 
-          return opList;
-        });
-      });
+    const as = dict.get("AS");
+
+    if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {
+      return;
     }
-  }, {
-    key: "viewable",
-    get: function get() {
-      if (this.flags === 0) {
-        return true;
+
+    this.appearance = normalAppearanceState.get(as.name);
+  }
+
+  loadResources(keys) {
+    return this.appearance.dict.getAsync("Resources").then(resources => {
+      if (!resources) {
+        return undefined;
       }
 
-      return this._isViewable(this.flags);
+      const objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);
+      return objectLoader.load().then(function () {
+        return resources;
+      });
+    });
+  }
+
+  getOperatorList(evaluator, task, renderForms) {
+    if (!this.appearance) {
+      return Promise.resolve(new _operator_list.OperatorList());
     }
-  }, {
-    key: "printable",
-    get: function get() {
-      if (this.flags === 0) {
-        return false;
-      }
 
-      return this._isPrintable(this.flags);
-    }
-  }]);
+    const data = this.data;
+    const appearanceDict = this.appearance.dict;
+    const resourcesPromise = this.loadResources(["ExtGState", "ColorSpace", "Pattern", "Shading", "XObject", 
"Font"]);
+    const bbox = appearanceDict.getArray("BBox") || [0, 0, 1, 1];
+    const matrix = appearanceDict.getArray("Matrix") || [1, 0, 0, 1, 0, 0];
+    const transform = getTransformMatrix(data.rect, bbox, matrix);
+    return resourcesPromise.then(resources => {
+      const opList = new _operator_list.OperatorList();
+      opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);
+      return evaluator.getOperatorList({
+        stream: this.appearance,
+        task,
+        resources,
+        operatorList: opList
+      }).then(() => {
+        opList.addOp(_util.OPS.endAnnotation, []);
+        this.appearance.reset();
+        return opList;
+      });
+    });
+  }
 
-  return Annotation;
-}();
+}
 
 exports.Annotation = Annotation;
 
-var AnnotationBorderStyle =
-/*#__PURE__*/
-function () {
-  function AnnotationBorderStyle() {
-    _classCallCheck(this, AnnotationBorderStyle);
-
+class AnnotationBorderStyle {
+  constructor() {
     this.width = 1;
     this.style = _util.AnnotationBorderStyleType.SOLID;
     this.dashArray = [3];
@@ -28977,988 +18726,681 @@ function () {
     this.verticalCornerRadius = 0;
   }
 
-  _createClass(AnnotationBorderStyle, [{
-    key: "setWidth",
-    value: function setWidth(width) {
-      var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];
-
-      if ((0, _primitives.isName)(width)) {
-        this.width = 0;
-        return;
-      }
+  setWidth(width, rect = [0, 0, 0, 0]) {
+    if ((0, _primitives.isName)(width)) {
+      this.width = 0;
+      return;
+    }
 
-      if (Number.isInteger(width)) {
-        if (width > 0) {
-          var maxWidth = (rect[2] - rect[0]) / 2;
-          var maxHeight = (rect[3] - rect[1]) / 2;
+    if (Number.isInteger(width)) {
+      if (width > 0) {
+        const maxWidth = (rect[2] - rect[0]) / 2;
+        const maxHeight = (rect[3] - rect[1]) / 2;
 
-          if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {
-            (0, _util.warn)("AnnotationBorderStyle.setWidth - ignoring width: ".concat(width));
-            width = 1;
-          }
+        if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {
+          (0, _util.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${width}`);
+          width = 1;
         }
-
-        this.width = width;
       }
+
+      this.width = width;
     }
-  }, {
-    key: "setStyle",
-    value: function setStyle(style) {
-      if (!(0, _primitives.isName)(style)) {
-        return;
-      }
+  }
 
-      switch (style.name) {
-        case 'S':
-          this.style = _util.AnnotationBorderStyleType.SOLID;
-          break;
+  setStyle(style) {
+    if (!(0, _primitives.isName)(style)) {
+      return;
+    }
 
-        case 'D':
-          this.style = _util.AnnotationBorderStyleType.DASHED;
-          break;
+    switch (style.name) {
+      case "S":
+        this.style = _util.AnnotationBorderStyleType.SOLID;
+        break;
 
-        case 'B':
-          this.style = _util.AnnotationBorderStyleType.BEVELED;
-          break;
+      case "D":
+        this.style = _util.AnnotationBorderStyleType.DASHED;
+        break;
 
-        case 'I':
-          this.style = _util.AnnotationBorderStyleType.INSET;
-          break;
+      case "B":
+        this.style = _util.AnnotationBorderStyleType.BEVELED;
+        break;
 
-        case 'U':
-          this.style = _util.AnnotationBorderStyleType.UNDERLINE;
-          break;
+      case "I":
+        this.style = _util.AnnotationBorderStyleType.INSET;
+        break;
 
-        default:
-          break;
-      }
+      case "U":
+        this.style = _util.AnnotationBorderStyleType.UNDERLINE;
+        break;
+
+      default:
+        break;
     }
-  }, {
-    key: "setDashArray",
-    value: function setDashArray(dashArray) {
-      if (Array.isArray(dashArray) && dashArray.length > 0) {
-        var isValid = true;
-        var allZeros = true;
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
+  }
 
-        try {
-          for (var _iterator = dashArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-            var element = _step.value;
-            var validNumber = +element >= 0;
+  setDashArray(dashArray) {
+    if (Array.isArray(dashArray) && dashArray.length > 0) {
+      let isValid = true;
+      let allZeros = true;
 
-            if (!validNumber) {
-              isValid = false;
-              break;
-            } else if (element > 0) {
-              allZeros = false;
-            }
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
+      for (const element of dashArray) {
+        const validNumber = +element >= 0;
 
-        if (isValid && !allZeros) {
-          this.dashArray = dashArray;
-        } else {
-          this.width = 0;
+        if (!validNumber) {
+          isValid = false;
+          break;
+        } else if (element > 0) {
+          allZeros = false;
         }
-      } else if (dashArray) {
+      }
+
+      if (isValid && !allZeros) {
+        this.dashArray = dashArray;
+      } else {
         this.width = 0;
       }
+    } else if (dashArray) {
+      this.width = 0;
     }
-  }, {
-    key: "setHorizontalCornerRadius",
-    value: function setHorizontalCornerRadius(radius) {
-      if (Number.isInteger(radius)) {
-        this.horizontalCornerRadius = radius;
-      }
+  }
+
+  setHorizontalCornerRadius(radius) {
+    if (Number.isInteger(radius)) {
+      this.horizontalCornerRadius = radius;
     }
-  }, {
-    key: "setVerticalCornerRadius",
-    value: function setVerticalCornerRadius(radius) {
-      if (Number.isInteger(radius)) {
-        this.verticalCornerRadius = radius;
-      }
+  }
+
+  setVerticalCornerRadius(radius) {
+    if (Number.isInteger(radius)) {
+      this.verticalCornerRadius = radius;
     }
-  }]);
+  }
 
-  return AnnotationBorderStyle;
-}();
+}
 
 exports.AnnotationBorderStyle = AnnotationBorderStyle;
 
-var MarkupAnnotation =
-/*#__PURE__*/
-function (_Annotation) {
-  _inherits(MarkupAnnotation, _Annotation);
-
-  function MarkupAnnotation(parameters) {
-    var _this2;
-
-    _classCallCheck(this, MarkupAnnotation);
+class MarkupAnnotation extends Annotation {
+  constructor(parameters) {
+    super(parameters);
+    const dict = parameters.dict;
 
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(MarkupAnnotation).call(this, parameters));
-    var dict = parameters.dict;
-
-    if (dict.has('IRT')) {
-      var rawIRT = dict.getRaw('IRT');
-      _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;
-      var rt = dict.get('RT');
-      _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;
+    if (dict.has("IRT")) {
+      const rawIRT = dict.getRaw("IRT");
+      this.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;
+      const rt = dict.get("RT");
+      this.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;
     }
 
-    if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {
-      var parent = dict.get('IRT');
-      _this2.data.title = (0, _util.stringToPDFString)(parent.get('T') || '');
-
-      _this2.setContents(parent.get('Contents'));
+    if (this.data.replyType === _util.AnnotationReplyType.GROUP) {
+      const parent = dict.get("IRT");
+      this.data.title = (0, _util.stringToPDFString)(parent.get("T") || "");
+      this.setContents(parent.get("Contents"));
+      this.data.contents = this.contents;
 
-      _this2.data.contents = _this2.contents;
-
-      if (!parent.has('CreationDate')) {
-        _this2.data.creationDate = null;
+      if (!parent.has("CreationDate")) {
+        this.data.creationDate = null;
       } else {
-        _this2.setCreationDate(parent.get('CreationDate'));
-
-        _this2.data.creationDate = _this2.creationDate;
+        this.setCreationDate(parent.get("CreationDate"));
+        this.data.creationDate = this.creationDate;
       }
 
-      if (!parent.has('M')) {
-        _this2.data.modificationDate = null;
+      if (!parent.has("M")) {
+        this.data.modificationDate = null;
       } else {
-        _this2.setModificationDate(parent.get('M'));
-
-        _this2.data.modificationDate = _this2.modificationDate;
+        this.setModificationDate(parent.get("M"));
+        this.data.modificationDate = this.modificationDate;
       }
 
-      _this2.data.hasPopup = parent.has('Popup');
+      this.data.hasPopup = parent.has("Popup");
 
-      if (!parent.has('C')) {
-        _this2.data.color = null;
+      if (!parent.has("C")) {
+        this.data.color = null;
       } else {
-        _this2.setColor(parent.getArray('C'));
-
-        _this2.data.color = _this2.color;
+        this.setColor(parent.getArray("C"));
+        this.data.color = this.color;
       }
     } else {
-      _this2.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');
-
-      _this2.setCreationDate(dict.get('CreationDate'));
-
-      _this2.data.creationDate = _this2.creationDate;
-      _this2.data.hasPopup = dict.has('Popup');
+      this.data.title = (0, _util.stringToPDFString)(dict.get("T") || "");
+      this.setCreationDate(dict.get("CreationDate"));
+      this.data.creationDate = this.creationDate;
+      this.data.hasPopup = dict.has("Popup");
 
-      if (!dict.has('C')) {
-        _this2.data.color = null;
+      if (!dict.has("C")) {
+        this.data.color = null;
       }
     }
-
-    return _this2;
   }
 
-  _createClass(MarkupAnnotation, [{
-    key: "setCreationDate",
-    value: function setCreationDate(creationDate) {
-      this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;
-    }
-  }]);
+  setCreationDate(creationDate) {
+    this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;
+  }
 
-  return MarkupAnnotation;
-}(Annotation);
+}
 
 exports.MarkupAnnotation = MarkupAnnotation;
 
-var WidgetAnnotation =
-/*#__PURE__*/
-function (_Annotation2) {
-  _inherits(WidgetAnnotation, _Annotation2);
-
-  function WidgetAnnotation(params) {
-    var _this3;
-
-    _classCallCheck(this, WidgetAnnotation);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));
-    var dict = params.dict;
-    var data = _this3.data;
+class WidgetAnnotation extends Annotation {
+  constructor(params) {
+    super(params);
+    const dict = params.dict;
+    const data = this.data;
     data.annotationType = _util.AnnotationType.WIDGET;
-    data.fieldName = _this3._constructFieldName(dict);
+    data.fieldName = this._constructFieldName(dict);
     data.fieldValue = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'V',
+      dict,
+      key: "V",
       getArray: true
     });
-    data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');
+    data.alternativeText = (0, _util.stringToPDFString)(dict.get("TU") || "");
     data.defaultAppearance = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'DA'
-    }) || '';
-    var fieldType = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'FT'
+      dict,
+      key: "DA"
+    }) || "";
+    const fieldType = (0, _core_utils.getInheritableProperty)({
+      dict,
+      key: "FT"
     });
     data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;
-    _this3.fieldResources = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'DR'
+    this.fieldResources = (0, _core_utils.getInheritableProperty)({
+      dict,
+      key: "DR"
     }) || _primitives.Dict.empty;
     data.fieldFlags = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'Ff'
+      dict,
+      key: "Ff"
     });
 
     if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {
       data.fieldFlags = 0;
     }
 
-    data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);
+    data.readOnly = this.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);
 
-    if (data.fieldType === 'Sig') {
+    if (data.fieldType === "Sig") {
       data.fieldValue = null;
-
-      _this3.setFlags(_util.AnnotationFlag.HIDDEN);
+      this.setFlags(_util.AnnotationFlag.HIDDEN);
     }
-
-    return _this3;
   }
 
-  _createClass(WidgetAnnotation, [{
-    key: "_constructFieldName",
-    value: function _constructFieldName(dict) {
-      if (!dict.has('T') && !dict.has('Parent')) {
-        (0, _util.warn)('Unknown field name, falling back to empty field name.');
-        return '';
-      }
-
-      if (!dict.has('Parent')) {
-        return (0, _util.stringToPDFString)(dict.get('T'));
-      }
+  _constructFieldName(dict) {
+    if (!dict.has("T") && !dict.has("Parent")) {
+      (0, _util.warn)("Unknown field name, falling back to empty field name.");
+      return "";
+    }
 
-      var fieldName = [];
+    if (!dict.has("Parent")) {
+      return (0, _util.stringToPDFString)(dict.get("T"));
+    }
 
-      if (dict.has('T')) {
-        fieldName.unshift((0, _util.stringToPDFString)(dict.get('T')));
-      }
+    const fieldName = [];
 
-      var loopDict = dict;
+    if (dict.has("T")) {
+      fieldName.unshift((0, _util.stringToPDFString)(dict.get("T")));
+    }
 
-      while (loopDict.has('Parent')) {
-        loopDict = loopDict.get('Parent');
+    let loopDict = dict;
 
-        if (!(0, _primitives.isDict)(loopDict)) {
-          break;
-        }
+    while (loopDict.has("Parent")) {
+      loopDict = loopDict.get("Parent");
 
-        if (loopDict.has('T')) {
-          fieldName.unshift((0, _util.stringToPDFString)(loopDict.get('T')));
-        }
+      if (!(0, _primitives.isDict)(loopDict)) {
+        break;
       }
 
-      return fieldName.join('.');
-    }
-  }, {
-    key: "hasFieldFlag",
-    value: function hasFieldFlag(flag) {
-      return !!(this.data.fieldFlags & flag);
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      if (renderForms) {
-        return Promise.resolve(new _operator_list.OperatorList());
+      if (loopDict.has("T")) {
+        fieldName.unshift((0, _util.stringToPDFString)(loopDict.get("T")));
       }
-
-      return _get(_getPrototypeOf(WidgetAnnotation.prototype), "getOperatorList", this).call(this, 
evaluator, task, renderForms);
     }
-  }]);
 
-  return WidgetAnnotation;
-}(Annotation);
+    return fieldName.join(".");
+  }
+
+  hasFieldFlag(flag) {
+    return !!(this.data.fieldFlags & flag);
+  }
 
-var TextWidgetAnnotation =
-/*#__PURE__*/
-function (_WidgetAnnotation) {
-  _inherits(TextWidgetAnnotation, _WidgetAnnotation);
+  getOperatorList(evaluator, task, renderForms) {
+    if (renderForms) {
+      return Promise.resolve(new _operator_list.OperatorList());
+    }
 
-  function TextWidgetAnnotation(params) {
-    var _this4;
+    return super.getOperatorList(evaluator, task, renderForms);
+  }
 
-    _classCallCheck(this, TextWidgetAnnotation);
+}
 
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));
-    var dict = params.dict;
-    _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || '');
-    var alignment = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'Q'
+class TextWidgetAnnotation extends WidgetAnnotation {
+  constructor(params) {
+    super(params);
+    const dict = params.dict;
+    this.data.fieldValue = (0, _util.stringToPDFString)(this.data.fieldValue || "");
+    let alignment = (0, _core_utils.getInheritableProperty)({
+      dict,
+      key: "Q"
     });
 
     if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {
       alignment = null;
     }
 
-    _this4.data.textAlignment = alignment;
-    var maximumLength = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: 'MaxLen'
+    this.data.textAlignment = alignment;
+    let maximumLength = (0, _core_utils.getInheritableProperty)({
+      dict,
+      key: "MaxLen"
     });
 
     if (!Number.isInteger(maximumLength) || maximumLength < 0) {
       maximumLength = null;
     }
 
-    _this4.data.maxLen = maximumLength;
-    _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);
-    _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && 
!_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && 
!_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && 
!_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;
-    return _this4;
+    this.data.maxLen = maximumLength;
+    this.data.multiLine = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);
+    this.data.comb = this.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && 
!this.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && 
!this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && 
!this.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && this.data.maxLen !== null;
   }
 
-  _createClass(TextWidgetAnnotation, [{
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      if (renderForms || this.appearance) {
-        return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), "getOperatorList", this).call(this, 
evaluator, task, renderForms);
-      }
-
-      var operatorList = new _operator_list.OperatorList();
-
-      if (!this.data.defaultAppearance) {
-        return Promise.resolve(operatorList);
-      }
-
-      var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));
-      return evaluator.getOperatorList({
-        stream: stream,
-        task: task,
-        resources: this.fieldResources,
-        operatorList: operatorList
-      }).then(function () {
-        return operatorList;
-      });
+  getOperatorList(evaluator, task, renderForms) {
+    if (renderForms || this.appearance) {
+      return super.getOperatorList(evaluator, task, renderForms);
     }
-  }]);
 
-  return TextWidgetAnnotation;
-}(WidgetAnnotation);
+    const operatorList = new _operator_list.OperatorList();
 
-var ButtonWidgetAnnotation =
-/*#__PURE__*/
-function (_WidgetAnnotation2) {
-  _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);
+    if (!this.data.defaultAppearance) {
+      return Promise.resolve(operatorList);
+    }
 
-  function ButtonWidgetAnnotation(params) {
-    var _this5;
+    const stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));
+    return evaluator.getOperatorList({
+      stream,
+      task,
+      resources: this.fieldResources,
+      operatorList
+    }).then(function () {
+      return operatorList;
+    });
+  }
 
-    _classCallCheck(this, ButtonWidgetAnnotation);
+}
 
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));
-    _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && 
!_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
-    _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && 
!_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
-    _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
+class ButtonWidgetAnnotation extends WidgetAnnotation {
+  constructor(params) {
+    super(params);
+    this.data.checkBox = !this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && 
!this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
+    this.data.radioButton = this.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && 
!this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
+    this.data.pushButton = this.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
 
-    if (_this5.data.checkBox) {
-      _this5._processCheckBox(params);
-    } else if (_this5.data.radioButton) {
-      _this5._processRadioButton(params);
-    } else if (_this5.data.pushButton) {
-      _this5._processPushButton(params);
+    if (this.data.checkBox) {
+      this._processCheckBox(params);
+    } else if (this.data.radioButton) {
+      this._processRadioButton(params);
+    } else if (this.data.pushButton) {
+      this._processPushButton(params);
     } else {
-      (0, _util.warn)('Invalid field flags for button widget annotation');
+      (0, _util.warn)("Invalid field flags for button widget annotation");
     }
-
-    return _this5;
   }
 
-  _createClass(ButtonWidgetAnnotation, [{
-    key: "_processCheckBox",
-    value: function _processCheckBox(params) {
-      if ((0, _primitives.isName)(this.data.fieldValue)) {
-        this.data.fieldValue = this.data.fieldValue.name;
-      }
-
-      var customAppearance = params.dict.get('AP');
+  _processCheckBox(params) {
+    if ((0, _primitives.isName)(this.data.fieldValue)) {
+      this.data.fieldValue = this.data.fieldValue.name;
+    }
 
-      if (!(0, _primitives.isDict)(customAppearance)) {
-        return;
-      }
+    const customAppearance = params.dict.get("AP");
 
-      var exportValueOptionsDict = customAppearance.get('D');
+    if (!(0, _primitives.isDict)(customAppearance)) {
+      return;
+    }
 
-      if (!(0, _primitives.isDict)(exportValueOptionsDict)) {
-        return;
-      }
+    const exportValueOptionsDict = customAppearance.get("D");
 
-      var exportValues = exportValueOptionsDict.getKeys();
-      var hasCorrectOptionCount = exportValues.length === 2;
+    if (!(0, _primitives.isDict)(exportValueOptionsDict)) {
+      return;
+    }
 
-      if (!hasCorrectOptionCount) {
-        return;
-      }
+    const exportValues = exportValueOptionsDict.getKeys();
+    const hasCorrectOptionCount = exportValues.length === 2;
 
-      this.data.exportValue = exportValues[0] === 'Off' ? exportValues[1] : exportValues[0];
+    if (!hasCorrectOptionCount) {
+      return;
     }
-  }, {
-    key: "_processRadioButton",
-    value: function _processRadioButton(params) {
-      this.data.fieldValue = this.data.buttonValue = null;
-      var fieldParent = params.dict.get('Parent');
 
-      if ((0, _primitives.isDict)(fieldParent) && fieldParent.has('V')) {
-        var fieldParentValue = fieldParent.get('V');
+    this.data.exportValue = exportValues[0] === "Off" ? exportValues[1] : exportValues[0];
+  }
 
-        if ((0, _primitives.isName)(fieldParentValue)) {
-          this.data.fieldValue = fieldParentValue.name;
-        }
-      }
+  _processRadioButton(params) {
+    this.data.fieldValue = this.data.buttonValue = null;
+    const fieldParent = params.dict.get("Parent");
 
-      var appearanceStates = params.dict.get('AP');
+    if ((0, _primitives.isDict)(fieldParent) && fieldParent.has("V")) {
+      const fieldParentValue = fieldParent.get("V");
 
-      if (!(0, _primitives.isDict)(appearanceStates)) {
-        return;
+      if ((0, _primitives.isName)(fieldParentValue)) {
+        this.data.fieldValue = fieldParentValue.name;
       }
+    }
 
-      var normalAppearanceState = appearanceStates.get('N');
+    const appearanceStates = params.dict.get("AP");
 
-      if (!(0, _primitives.isDict)(normalAppearanceState)) {
-        return;
-      }
+    if (!(0, _primitives.isDict)(appearanceStates)) {
+      return;
+    }
 
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
+    const normalAppearanceState = appearanceStates.get("N");
 
-      try {
-        for (var _iterator2 = normalAppearanceState.getKeys()[Symbol.iterator](), _step2; 
!(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var key = _step2.value;
+    if (!(0, _primitives.isDict)(normalAppearanceState)) {
+      return;
+    }
 
-          if (key !== 'Off') {
-            this.data.buttonValue = key;
-            break;
-          }
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
+    for (const key of normalAppearanceState.getKeys()) {
+      if (key !== "Off") {
+        this.data.buttonValue = key;
+        break;
       }
     }
-  }, {
-    key: "_processPushButton",
-    value: function _processPushButton(params) {
-      if (!params.dict.has('A')) {
-        (0, _util.warn)('Push buttons without action dictionaries are not supported');
-        return;
-      }
+  }
 
-      _obj.Catalog.parseDestDictionary({
-        destDict: params.dict,
-        resultObj: this.data,
-        docBaseUrl: params.pdfManager.docBaseUrl
-      });
+  _processPushButton(params) {
+    if (!params.dict.has("A")) {
+      (0, _util.warn)("Push buttons without action dictionaries are not supported");
+      return;
     }
-  }]);
-
-  return ButtonWidgetAnnotation;
-}(WidgetAnnotation);
-
-var ChoiceWidgetAnnotation =
-/*#__PURE__*/
-function (_WidgetAnnotation3) {
-  _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);
 
-  function ChoiceWidgetAnnotation(params) {
-    var _this6;
+    _obj.Catalog.parseDestDictionary({
+      destDict: params.dict,
+      resultObj: this.data,
+      docBaseUrl: params.pdfManager.docBaseUrl
+    });
+  }
 
-    _classCallCheck(this, ChoiceWidgetAnnotation);
+}
 
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));
-    _this6.data.options = [];
-    var options = (0, _core_utils.getInheritableProperty)({
+class ChoiceWidgetAnnotation extends WidgetAnnotation {
+  constructor(params) {
+    super(params);
+    this.data.options = [];
+    const options = (0, _core_utils.getInheritableProperty)({
       dict: params.dict,
-      key: 'Opt'
+      key: "Opt"
     });
 
     if (Array.isArray(options)) {
-      var xref = params.xref;
+      const xref = params.xref;
 
-      for (var i = 0, ii = options.length; i < ii; i++) {
-        var option = xref.fetchIfRef(options[i]);
-        var isOptionArray = Array.isArray(option);
-        _this6.data.options[i] = {
+      for (let i = 0, ii = options.length; i < ii; i++) {
+        const option = xref.fetchIfRef(options[i]);
+        const isOptionArray = Array.isArray(option);
+        this.data.options[i] = {
           exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,
           displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)
         };
       }
     }
 
-    if (!Array.isArray(_this6.data.fieldValue)) {
-      _this6.data.fieldValue = [_this6.data.fieldValue];
+    if (!Array.isArray(this.data.fieldValue)) {
+      this.data.fieldValue = [this.data.fieldValue];
     }
 
-    _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);
-    _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);
-    return _this6;
+    this.data.combo = this.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);
+    this.data.multiSelect = this.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);
   }
 
-  return ChoiceWidgetAnnotation;
-}(WidgetAnnotation);
-
-var TextAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation) {
-  _inherits(TextAnnotation, _MarkupAnnotation);
-
-  function TextAnnotation(parameters) {
-    var _this7;
-
-    _classCallCheck(this, TextAnnotation);
+}
 
-    var DEFAULT_ICON_SIZE = 22;
-    _this7 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));
-    var dict = parameters.dict;
-    _this7.data.annotationType = _util.AnnotationType.TEXT;
+class TextAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    const DEFAULT_ICON_SIZE = 22;
+    super(parameters);
+    const dict = parameters.dict;
+    this.data.annotationType = _util.AnnotationType.TEXT;
 
-    if (_this7.data.hasAppearance) {
-      _this7.data.name = 'NoIcon';
+    if (this.data.hasAppearance) {
+      this.data.name = "NoIcon";
     } else {
-      _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;
-      _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;
-      _this7.data.name = dict.has('Name') ? dict.get('Name').name : 'Note';
+      this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE;
+      this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE;
+      this.data.name = dict.has("Name") ? dict.get("Name").name : "Note";
     }
 
-    if (dict.has('State')) {
-      _this7.data.state = dict.get('State') || null;
-      _this7.data.stateModel = dict.get('StateModel') || null;
+    if (dict.has("State")) {
+      this.data.state = dict.get("State") || null;
+      this.data.stateModel = dict.get("StateModel") || null;
     } else {
-      _this7.data.state = null;
-      _this7.data.stateModel = null;
+      this.data.state = null;
+      this.data.stateModel = null;
     }
-
-    return _this7;
   }
 
-  return TextAnnotation;
-}(MarkupAnnotation);
-
-var LinkAnnotation =
-/*#__PURE__*/
-function (_Annotation3) {
-  _inherits(LinkAnnotation, _Annotation3);
-
-  function LinkAnnotation(params) {
-    var _this8;
-
-    _classCallCheck(this, LinkAnnotation);
+}
 
-    _this8 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));
-    _this8.data.annotationType = _util.AnnotationType.LINK;
-    var quadPoints = getQuadPoints(params.dict, _this8.rectangle);
+class LinkAnnotation extends Annotation {
+  constructor(params) {
+    super(params);
+    this.data.annotationType = _util.AnnotationType.LINK;
+    const quadPoints = getQuadPoints(params.dict, this.rectangle);
 
     if (quadPoints) {
-      _this8.data.quadPoints = quadPoints;
+      this.data.quadPoints = quadPoints;
     }
 
     _obj.Catalog.parseDestDictionary({
       destDict: params.dict,
-      resultObj: _this8.data,
+      resultObj: this.data,
       docBaseUrl: params.pdfManager.docBaseUrl
     });
-
-    return _this8;
   }
 
-  return LinkAnnotation;
-}(Annotation);
-
-var PopupAnnotation =
-/*#__PURE__*/
-function (_Annotation4) {
-  _inherits(PopupAnnotation, _Annotation4);
-
-  function PopupAnnotation(parameters) {
-    var _this9;
-
-    _classCallCheck(this, PopupAnnotation);
+}
 
-    _this9 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));
-    _this9.data.annotationType = _util.AnnotationType.POPUP;
-    var parentItem = parameters.dict.get('Parent');
+class PopupAnnotation extends Annotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.POPUP;
+    let parentItem = parameters.dict.get("Parent");
 
     if (!parentItem) {
-      (0, _util.warn)('Popup annotation has a missing or invalid parent annotation.');
-      return _possibleConstructorReturn(_this9);
+      (0, _util.warn)("Popup annotation has a missing or invalid parent annotation.");
+      return;
     }
 
-    var parentSubtype = parentItem.get('Subtype');
-    _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;
-    var rawParent = parameters.dict.getRaw('Parent');
-    _this9.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;
-    var rt = parentItem.get('RT');
+    const parentSubtype = parentItem.get("Subtype");
+    this.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;
+    const rawParent = parameters.dict.getRaw("Parent");
+    this.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;
+    const rt = parentItem.get("RT");
 
     if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {
-      parentItem = parentItem.get('IRT');
+      parentItem = parentItem.get("IRT");
     }
 
-    if (!parentItem.has('M')) {
-      _this9.data.modificationDate = null;
+    if (!parentItem.has("M")) {
+      this.data.modificationDate = null;
     } else {
-      _this9.setModificationDate(parentItem.get('M'));
-
-      _this9.data.modificationDate = _this9.modificationDate;
+      this.setModificationDate(parentItem.get("M"));
+      this.data.modificationDate = this.modificationDate;
     }
 
-    if (!parentItem.has('C')) {
-      _this9.data.color = null;
+    if (!parentItem.has("C")) {
+      this.data.color = null;
     } else {
-      _this9.setColor(parentItem.getArray('C'));
-
-      _this9.data.color = _this9.color;
+      this.setColor(parentItem.getArray("C"));
+      this.data.color = this.color;
     }
 
-    if (!_this9.viewable) {
-      var parentFlags = parentItem.get('F');
+    if (!this.viewable) {
+      const parentFlags = parentItem.get("F");
 
-      if (_this9._isViewable(parentFlags)) {
-        _this9.setFlags(parentFlags);
+      if (this._isViewable(parentFlags)) {
+        this.setFlags(parentFlags);
       }
     }
 
-    _this9.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');
-    _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');
-    return _this9;
+    this.data.title = (0, _util.stringToPDFString)(parentItem.get("T") || "");
+    this.data.contents = (0, _util.stringToPDFString)(parentItem.get("Contents") || "");
   }
 
-  return PopupAnnotation;
-}(Annotation);
-
-var FreeTextAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation2) {
-  _inherits(FreeTextAnnotation, _MarkupAnnotation2);
-
-  function FreeTextAnnotation(parameters) {
-    var _this10;
-
-    _classCallCheck(this, FreeTextAnnotation);
+}
 
-    _this10 = _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotation).call(this, parameters));
-    _this10.data.annotationType = _util.AnnotationType.FREETEXT;
-    return _this10;
+class FreeTextAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.FREETEXT;
   }
 
-  return FreeTextAnnotation;
-}(MarkupAnnotation);
-
-var LineAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation3) {
-  _inherits(LineAnnotation, _MarkupAnnotation3);
-
-  function LineAnnotation(parameters) {
-    var _this11;
-
-    _classCallCheck(this, LineAnnotation);
+}
 
-    _this11 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));
-    _this11.data.annotationType = _util.AnnotationType.LINE;
-    _this11.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray('L'));
-    return _this11;
+class LineAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.LINE;
+    this.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray("L"));
   }
 
-  return LineAnnotation;
-}(MarkupAnnotation);
-
-var SquareAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation4) {
-  _inherits(SquareAnnotation, _MarkupAnnotation4);
-
-  function SquareAnnotation(parameters) {
-    var _this12;
-
-    _classCallCheck(this, SquareAnnotation);
+}
 
-    _this12 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));
-    _this12.data.annotationType = _util.AnnotationType.SQUARE;
-    return _this12;
+class SquareAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.SQUARE;
   }
 
-  return SquareAnnotation;
-}(MarkupAnnotation);
-
-var CircleAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation5) {
-  _inherits(CircleAnnotation, _MarkupAnnotation5);
-
-  function CircleAnnotation(parameters) {
-    var _this13;
-
-    _classCallCheck(this, CircleAnnotation);
+}
 
-    _this13 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));
-    _this13.data.annotationType = _util.AnnotationType.CIRCLE;
-    return _this13;
+class CircleAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.CIRCLE;
   }
 
-  return CircleAnnotation;
-}(MarkupAnnotation);
-
-var PolylineAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation6) {
-  _inherits(PolylineAnnotation, _MarkupAnnotation6);
-
-  function PolylineAnnotation(parameters) {
-    var _this14;
-
-    _classCallCheck(this, PolylineAnnotation);
+}
 
-    _this14 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));
-    _this14.data.annotationType = _util.AnnotationType.POLYLINE;
-    var rawVertices = parameters.dict.getArray('Vertices');
-    _this14.data.vertices = [];
+class PolylineAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.POLYLINE;
+    const rawVertices = parameters.dict.getArray("Vertices");
+    this.data.vertices = [];
 
-    for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {
-      _this14.data.vertices.push({
+    for (let i = 0, ii = rawVertices.length; i < ii; i += 2) {
+      this.data.vertices.push({
         x: rawVertices[i],
         y: rawVertices[i + 1]
       });
     }
-
-    return _this14;
   }
 
-  return PolylineAnnotation;
-}(MarkupAnnotation);
-
-var PolygonAnnotation =
-/*#__PURE__*/
-function (_PolylineAnnotation) {
-  _inherits(PolygonAnnotation, _PolylineAnnotation);
-
-  function PolygonAnnotation(parameters) {
-    var _this15;
-
-    _classCallCheck(this, PolygonAnnotation);
+}
 
-    _this15 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));
-    _this15.data.annotationType = _util.AnnotationType.POLYGON;
-    return _this15;
+class PolygonAnnotation extends PolylineAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.POLYGON;
   }
 
-  return PolygonAnnotation;
-}(PolylineAnnotation);
-
-var CaretAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation7) {
-  _inherits(CaretAnnotation, _MarkupAnnotation7);
-
-  function CaretAnnotation(parameters) {
-    var _this16;
-
-    _classCallCheck(this, CaretAnnotation);
+}
 
-    _this16 = _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotation).call(this, parameters));
-    _this16.data.annotationType = _util.AnnotationType.CARET;
-    return _this16;
+class CaretAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.CARET;
   }
 
-  return CaretAnnotation;
-}(MarkupAnnotation);
-
-var InkAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation8) {
-  _inherits(InkAnnotation, _MarkupAnnotation8);
-
-  function InkAnnotation(parameters) {
-    var _this17;
-
-    _classCallCheck(this, InkAnnotation);
+}
 
-    _this17 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));
-    _this17.data.annotationType = _util.AnnotationType.INK;
-    var xref = parameters.xref;
-    var originalInkLists = parameters.dict.getArray('InkList');
-    _this17.data.inkLists = [];
+class InkAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.INK;
+    const xref = parameters.xref;
+    const originalInkLists = parameters.dict.getArray("InkList");
+    this.data.inkLists = [];
 
-    for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {
-      _this17.data.inkLists.push([]);
+    for (let i = 0, ii = originalInkLists.length; i < ii; ++i) {
+      this.data.inkLists.push([]);
 
-      for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {
-        _this17.data.inkLists[i].push({
+      for (let j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {
+        this.data.inkLists[i].push({
           x: xref.fetchIfRef(originalInkLists[i][j]),
           y: xref.fetchIfRef(originalInkLists[i][j + 1])
         });
       }
     }
-
-    return _this17;
   }
 
-  return InkAnnotation;
-}(MarkupAnnotation);
-
-var HighlightAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation9) {
-  _inherits(HighlightAnnotation, _MarkupAnnotation9);
-
-  function HighlightAnnotation(parameters) {
-    var _this18;
-
-    _classCallCheck(this, HighlightAnnotation);
+}
 
-    _this18 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));
-    _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;
-    var quadPoints = getQuadPoints(parameters.dict, _this18.rectangle);
+class HighlightAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.HIGHLIGHT;
+    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);
 
     if (quadPoints) {
-      _this18.data.quadPoints = quadPoints;
+      this.data.quadPoints = quadPoints;
     }
-
-    return _this18;
   }
 
-  return HighlightAnnotation;
-}(MarkupAnnotation);
-
-var UnderlineAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation10) {
-  _inherits(UnderlineAnnotation, _MarkupAnnotation10);
-
-  function UnderlineAnnotation(parameters) {
-    var _this19;
-
-    _classCallCheck(this, UnderlineAnnotation);
+}
 
-    _this19 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));
-    _this19.data.annotationType = _util.AnnotationType.UNDERLINE;
-    var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);
+class UnderlineAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.UNDERLINE;
+    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);
 
     if (quadPoints) {
-      _this19.data.quadPoints = quadPoints;
+      this.data.quadPoints = quadPoints;
     }
-
-    return _this19;
   }
 
-  return UnderlineAnnotation;
-}(MarkupAnnotation);
-
-var SquigglyAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation11) {
-  _inherits(SquigglyAnnotation, _MarkupAnnotation11);
-
-  function SquigglyAnnotation(parameters) {
-    var _this20;
-
-    _classCallCheck(this, SquigglyAnnotation);
+}
 
-    _this20 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));
-    _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;
-    var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);
+class SquigglyAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.SQUIGGLY;
+    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);
 
     if (quadPoints) {
-      _this20.data.quadPoints = quadPoints;
+      this.data.quadPoints = quadPoints;
     }
-
-    return _this20;
   }
 
-  return SquigglyAnnotation;
-}(MarkupAnnotation);
-
-var StrikeOutAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation12) {
-  _inherits(StrikeOutAnnotation, _MarkupAnnotation12);
-
-  function StrikeOutAnnotation(parameters) {
-    var _this21;
-
-    _classCallCheck(this, StrikeOutAnnotation);
+}
 
-    _this21 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));
-    _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;
-    var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);
+class StrikeOutAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.STRIKEOUT;
+    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);
 
     if (quadPoints) {
-      _this21.data.quadPoints = quadPoints;
+      this.data.quadPoints = quadPoints;
     }
-
-    return _this21;
   }
 
-  return StrikeOutAnnotation;
-}(MarkupAnnotation);
-
-var StampAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation13) {
-  _inherits(StampAnnotation, _MarkupAnnotation13);
-
-  function StampAnnotation(parameters) {
-    var _this22;
-
-    _classCallCheck(this, StampAnnotation);
+}
 
-    _this22 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));
-    _this22.data.annotationType = _util.AnnotationType.STAMP;
-    return _this22;
+class StampAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    this.data.annotationType = _util.AnnotationType.STAMP;
   }
 
-  return StampAnnotation;
-}(MarkupAnnotation);
-
-var FileAttachmentAnnotation =
-/*#__PURE__*/
-function (_MarkupAnnotation14) {
-  _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);
-
-  function FileAttachmentAnnotation(parameters) {
-    var _this23;
-
-    _classCallCheck(this, FileAttachmentAnnotation);
+}
 
-    _this23 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, 
parameters));
-    var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);
-    _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;
-    _this23.data.file = file.serializable;
-    return _this23;
+class FileAttachmentAnnotation extends MarkupAnnotation {
+  constructor(parameters) {
+    super(parameters);
+    const file = new _obj.FileSpec(parameters.dict.get("FS"), parameters.xref);
+    this.data.annotationType = _util.AnnotationType.FILEATTACHMENT;
+    this.data.file = file.serializable;
   }
 
-  return FileAttachmentAnnotation;
-}(MarkupAnnotation);
+}
 
 /***/ }),
-/* 203 */
+/* 24 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -29969,7 +19411,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.OperatorList = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
 var QueueOptimizer = function QueueOptimizerClosure() {
   function addState(parentState, pattern, checkFn, iterateFn, processFn) {
@@ -29981,9 +19423,9 @@ var QueueOptimizer = function QueueOptimizerClosure() {
     }
 
     state[pattern[pattern.length - 1]] = {
-      checkFn: checkFn,
-      iterateFn: iterateFn,
-      processFn: processFn
+      checkFn,
+      iterateFn,
+      processFn
     };
   }
 
@@ -30025,7 +19467,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
         return fnArray[i] === _util.OPS.restore;
     }
 
-    throw new Error("iterateInlineImageGroup - invalid pos: ".concat(pos));
+    throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);
   }, function foundInlineImageGroup(context, i) {
     var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;
     var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;
@@ -30062,7 +19504,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
       }
 
       map.push({
-        transform: transform,
+        transform,
         x: currentX,
         y: currentY,
         w: img.width,
@@ -30133,7 +19575,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
         return fnArray[i] === _util.OPS.restore;
     }
 
-    throw new Error("iterateImageMaskGroup - invalid pos: ".concat(pos));
+    throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);
   }, function foundImageMaskGroup(context, i) {
     var MIN_IMAGES_IN_MASKS_BLOCK = 10;
     var MAX_IMAGES_IN_MASKS_BLOCK = 100;
@@ -30259,7 +19701,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
         return fnArray[i] === _util.OPS.restore;
     }
 
-    throw new Error("iterateImageGroup - invalid pos: ".concat(pos));
+    throw new Error(`iterateImageGroup - invalid pos: ${pos}`);
   }, function (context, i) {
     var MIN_IMAGES_IN_BLOCK = 3;
     var MAX_IMAGES_IN_BLOCK = 1000;
@@ -30327,7 +19769,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
         return fnArray[i] === _util.OPS.endText;
     }
 
-    throw new Error("iterateShowTextGroup - invalid pos: ".concat(pos));
+    throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);
   }, function (context, i) {
     var MIN_CHARS_IN_BLOCK = 3;
     var MAX_CHARS_IN_BLOCK = 1000;
@@ -30378,23 +19820,23 @@ var QueueOptimizer = function QueueOptimizerClosure() {
   }
 
   QueueOptimizer.prototype = {
-    _optimize: function _optimize() {
-      var fnArray = this.queue.fnArray;
-      var i = this.lastProcessed,
+    _optimize() {
+      const fnArray = this.queue.fnArray;
+      let i = this.lastProcessed,
           ii = fnArray.length;
-      var state = this.state;
-      var match = this.match;
+      let state = this.state;
+      let match = this.match;
 
       if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {
         this.lastProcessed = ii;
         return;
       }
 
-      var context = this.context;
+      const context = this.context;
 
       while (i < ii) {
         if (match) {
-          var iterate = (0, match.iterateFn)(context, i);
+          const iterate = (0, match.iterateFn)(context, i);
 
           if (iterate) {
             i++;
@@ -30434,15 +19876,17 @@ var QueueOptimizer = function QueueOptimizerClosure() {
       this.match = match;
       this.lastProcessed = i;
     },
-    push: function push(fn, args) {
+
+    push(fn, args) {
       this.queue.fnArray.push(fn);
       this.queue.argsArray.push(args);
 
       this._optimize();
     },
-    flush: function flush() {
+
+    flush() {
       while (this.match) {
-        var length = this.queue.fnArray.length;
+        const length = this.queue.fnArray.length;
         this.lastProcessed = (0, this.match.processFn)(this.context, length);
         this.match = null;
         this.state = null;
@@ -30450,11 +19894,13 @@ var QueueOptimizer = function QueueOptimizerClosure() {
         this._optimize();
       }
     },
-    reset: function reset() {
+
+    reset() {
       this.state = null;
       this.match = null;
       this.lastProcessed = 0;
     }
+
   };
   return QueueOptimizer;
 }();
@@ -30465,12 +19911,15 @@ var NullOptimizer = function NullOptimizerClosure() {
   }
 
   NullOptimizer.prototype = {
-    push: function push(fn, args) {
+    push(fn, args) {
       this.queue.fnArray.push(fn);
       this.queue.argsArray.push(args);
     },
-    flush: function flush() {},
-    reset: function reset() {}
+
+    flush() {},
+
+    reset() {}
+
   };
   return NullOptimizer;
 }();
@@ -30484,7 +19933,7 @@ var OperatorList = function OperatorListClosure() {
     this.fnArray = [];
     this.argsArray = [];
 
-    if (streamSink && intent !== 'oplist') {
+    if (streamSink && intent !== "oplist") {
       this.optimizer = new QueueOptimizer(this);
     } else {
       this.optimizer = new NullOptimizer(this);
@@ -30511,7 +19960,7 @@ var OperatorList = function OperatorListClosure() {
       return this._totalLength + this.length;
     },
 
-    addOp: function addOp(fn, args) {
+    addOp(fn, args) {
       this.optimizer.push(fn, args);
       this.weight++;
 
@@ -30523,7 +19972,8 @@ var OperatorList = function OperatorListClosure() {
         }
       }
     },
-    addDependency: function addDependency(dependency) {
+
+    addDependency(dependency) {
       if (dependency in this.dependencies) {
         return;
       }
@@ -30531,19 +19981,22 @@ var OperatorList = function OperatorListClosure() {
       this.dependencies[dependency] = true;
       this.addOp(_util.OPS.dependency, [dependency]);
     },
-    addDependencies: function addDependencies(dependencies) {
+
+    addDependencies(dependencies) {
       for (var key in dependencies) {
         this.addDependency(key);
       }
     },
-    addOpList: function addOpList(opList) {
+
+    addOpList(opList) {
       Object.assign(this.dependencies, opList.dependencies);
 
       for (var i = 0, ii = opList.length; i < ii; i++) {
         this.addOp(opList.fnArray[i], opList.argsArray[i]);
       }
     },
-    getIR: function getIR() {
+
+    getIR() {
       return {
         fnArray: this.fnArray,
         argsArray: this.argsArray,
@@ -30552,17 +20005,19 @@ var OperatorList = function OperatorListClosure() {
     },
 
     get _transfers() {
-      var transfers = [];
-      var fnArray = this.fnArray,
-          argsArray = this.argsArray,
-          length = this.length;
-
-      for (var i = 0; i < length; i++) {
+      const transfers = [];
+      const {
+        fnArray,
+        argsArray,
+        length
+      } = this;
+
+      for (let i = 0; i < length; i++) {
         switch (fnArray[i]) {
           case _util.OPS.paintInlineImageXObject:
           case _util.OPS.paintInlineImageXObjectGroup:
           case _util.OPS.paintImageMaskXObject:
-            var arg = argsArray[i][0];
+            const arg = argsArray[i][0];
             ;
 
             if (!arg.cached) {
@@ -30576,17 +20031,16 @@ var OperatorList = function OperatorListClosure() {
       return transfers;
     },
 
-    flush: function flush() {
-      var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+    flush(lastChunk = false) {
       this.optimizer.flush();
-      var length = this.length;
+      const length = this.length;
       this._totalLength += length;
 
       this._streamSink.enqueue({
         fnArray: this.fnArray,
         argsArray: this.argsArray,
-        lastChunk: lastChunk,
-        length: length
+        lastChunk,
+        length
       }, 1, this._transfers);
 
       this.dependencies = Object.create(null);
@@ -30595,6 +20049,7 @@ var OperatorList = function OperatorListClosure() {
       this.weight = 0;
       this.optimizer.reset();
     }
+
   };
   return OperatorList;
 }();
@@ -30602,7 +20057,7 @@ var OperatorList = function OperatorListClosure() {
 exports.OperatorList = OperatorList;
 
 /***/ }),
-/* 204 */
+/* 25 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -30613,58 +20068,50 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PartialEvaluator = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _cmap = __w_pdfjs_require__(205);
+var _util = __w_pdfjs_require__(2);
 
-var _primitives = __w_pdfjs_require__(183);
+var _cmap = __w_pdfjs_require__(26);
 
-var _fonts = __w_pdfjs_require__(206);
+var _primitives = __w_pdfjs_require__(4);
 
-var _encodings = __w_pdfjs_require__(209);
+var _fonts = __w_pdfjs_require__(27);
 
-var _unicode = __w_pdfjs_require__(212);
+var _encodings = __w_pdfjs_require__(30);
 
-var _standard_fonts = __w_pdfjs_require__(211);
+var _core_utils = __w_pdfjs_require__(7);
 
-var _pattern = __w_pdfjs_require__(215);
+var _unicode = __w_pdfjs_require__(33);
 
-var _parser = __w_pdfjs_require__(189);
+var _standard_fonts = __w_pdfjs_require__(32);
 
-var _bidi = __w_pdfjs_require__(216);
+var _pattern = __w_pdfjs_require__(36);
 
-var _colorspace = __w_pdfjs_require__(201);
+var _parser = __w_pdfjs_require__(10);
 
-var _stream = __w_pdfjs_require__(190);
+var _bidi = __w_pdfjs_require__(37);
 
-var _glyphlist = __w_pdfjs_require__(210);
+var _colorspace = __w_pdfjs_require__(22);
 
-var _core_utils = __w_pdfjs_require__(186);
+var _stream = __w_pdfjs_require__(11);
 
-var _metrics = __w_pdfjs_require__(217);
+var _glyphlist = __w_pdfjs_require__(31);
 
-var _function = __w_pdfjs_require__(218);
+var _metrics = __w_pdfjs_require__(38);
 
-var _jpeg_stream = __w_pdfjs_require__(196);
+var _function = __w_pdfjs_require__(39);
 
-var _murmurhash = __w_pdfjs_require__(220);
+var _jpeg_stream = __w_pdfjs_require__(17);
 
-var _image_utils = __w_pdfjs_require__(221);
+var _murmurhash = __w_pdfjs_require__(41);
 
-var _operator_list = __w_pdfjs_require__(203);
+var _image_utils = __w_pdfjs_require__(42);
 
-var _image = __w_pdfjs_require__(222);
+var _operator_list = __w_pdfjs_require__(24);
 
-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 _image = __w_pdfjs_require__(43);
 
 var PartialEvaluator = function PartialEvaluatorClosure() {
-  var DefaultPartialEvaluatorOptions = {
+  const DefaultPartialEvaluatorOptions = {
     forceDataSchema: false,
     maxImageSize: -1,
     disableFontFace: false,
@@ -30673,18 +20120,16 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
     isEvalSupported: true
   };
 
-  function PartialEvaluator(_ref) {
-    var _this = this;
-
-    var xref = _ref.xref,
-        handler = _ref.handler,
-        pageIndex = _ref.pageIndex,
-        idFactory = _ref.idFactory,
-        fontCache = _ref.fontCache,
-        builtInCMapCache = _ref.builtInCMapCache,
-        _ref$options = _ref.options,
-        options = _ref$options === void 0 ? null : _ref$options,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
+  function PartialEvaluator({
+    xref,
+    handler,
+    pageIndex,
+    idFactory,
+    fontCache,
+    builtInCMapCache,
+    options = null,
+    pdfFunctionFactory
+  }) {
     this.xref = xref;
     this.handler = handler;
     this.pageIndex = pageIndex;
@@ -30695,69 +20140,39 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
     this.pdfFunctionFactory = pdfFunctionFactory;
     this.parsingType3Font = false;
 
-    this.fetchBuiltInCMap =
-    /*#__PURE__*/
-    function () {
-      var _ref2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(name) {
-        var readableStream, reader, data;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!_this.builtInCMapCache.has(name)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return", _this.builtInCMapCache.get(name));
-
-              case 2:
-                readableStream = _this.handler.sendWithStream('FetchBuiltInCMap', {
-                  name: name
-                });
-                reader = readableStream.getReader();
-                _context.next = 6;
-                return new Promise(function (resolve, reject) {
-                  function pump() {
-                    reader.read().then(function (_ref3) {
-                      var value = _ref3.value,
-                          done = _ref3.done;
-
-                      if (done) {
-                        return;
-                      }
-
-                      resolve(value);
-                      pump();
-                    }, reject);
-                  }
-
-                  pump();
-                });
+    this.fetchBuiltInCMap = async name => {
+      if (this.builtInCMapCache.has(name)) {
+        return this.builtInCMapCache.get(name);
+      }
 
-              case 6:
-                data = _context.sent;
+      const readableStream = this.handler.sendWithStream("FetchBuiltInCMap", {
+        name
+      });
+      const reader = readableStream.getReader();
+      const data = await new Promise(function (resolve, reject) {
+        function pump() {
+          reader.read().then(function ({
+            value,
+            done
+          }) {
+            if (done) {
+              return;
+            }
 
-                if (data.compressionType !== _util.CMapCompressionType.NONE) {
-                  _this.builtInCMapCache.set(name, data);
-                }
+            resolve(value);
+            pump();
+          }, reject);
+        }
 
-                return _context.abrupt("return", data);
+        pump();
+      });
 
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
+      if (data.compressionType !== _util.CMapCompressionType.NONE) {
+        this.builtInCMapCache.set(name, data);
+      }
 
-      return function (_x) {
-        return _ref2.apply(this, arguments);
-      };
-    }();
+      return data;
+    };
   }
 
   var TIME_SLOT_DURATION_MS = 20;
@@ -30782,78 +20197,99 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
     }
   };
 
-  function normalizeBlendMode(value) {
+  function normalizeBlendMode(value, parsingArray = false) {
+    if (Array.isArray(value)) {
+      for (let i = 0, ii = value.length; i < ii; i++) {
+        const maybeBM = normalizeBlendMode(value[i], true);
+
+        if (maybeBM) {
+          return maybeBM;
+        }
+      }
+
+      (0, _util.warn)(`Unsupported blend mode Array: ${value}`);
+      return "source-over";
+    }
+
     if (!(0, _primitives.isName)(value)) {
-      return 'source-over';
+      if (parsingArray) {
+        return null;
+      }
+
+      return "source-over";
     }
 
     switch (value.name) {
-      case 'Normal':
-      case 'Compatible':
-        return 'source-over';
+      case "Normal":
+      case "Compatible":
+        return "source-over";
+
+      case "Multiply":
+        return "multiply";
 
-      case 'Multiply':
-        return 'multiply';
+      case "Screen":
+        return "screen";
 
-      case 'Screen':
-        return 'screen';
+      case "Overlay":
+        return "overlay";
 
-      case 'Overlay':
-        return 'overlay';
+      case "Darken":
+        return "darken";
 
-      case 'Darken':
-        return 'darken';
+      case "Lighten":
+        return "lighten";
 
-      case 'Lighten':
-        return 'lighten';
+      case "ColorDodge":
+        return "color-dodge";
 
-      case 'ColorDodge':
-        return 'color-dodge';
+      case "ColorBurn":
+        return "color-burn";
 
-      case 'ColorBurn':
-        return 'color-burn';
+      case "HardLight":
+        return "hard-light";
 
-      case 'HardLight':
-        return 'hard-light';
+      case "SoftLight":
+        return "soft-light";
 
-      case 'SoftLight':
-        return 'soft-light';
+      case "Difference":
+        return "difference";
 
-      case 'Difference':
-        return 'difference';
+      case "Exclusion":
+        return "exclusion";
 
-      case 'Exclusion':
-        return 'exclusion';
+      case "Hue":
+        return "hue";
 
-      case 'Hue':
-        return 'hue';
+      case "Saturation":
+        return "saturation";
 
-      case 'Saturation':
-        return 'saturation';
+      case "Color":
+        return "color";
 
-      case 'Color':
-        return 'color';
+      case "Luminosity":
+        return "luminosity";
+    }
 
-      case 'Luminosity':
-        return 'luminosity';
+    if (parsingArray) {
+      return null;
     }
 
-    (0, _util.warn)('Unsupported blend mode: ' + value.name);
-    return 'source-over';
+    (0, _util.warn)(`Unsupported blend mode: ${value.name}`);
+    return "source-over";
   }
 
   var deferred = Promise.resolve();
   var TILING_PATTERN = 1,
       SHADING_PATTERN = 2;
   PartialEvaluator.prototype = {
-    clone: function clone() {
-      var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 
DefaultPartialEvaluatorOptions;
+    clone(newOptions = DefaultPartialEvaluatorOptions) {
       var newEvaluator = Object.create(this);
       newEvaluator.options = newOptions;
       return newEvaluator;
     },
+
     hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {
-      if (!(0, _primitives.isDict)(resources)) {
+      if (!(resources instanceof _primitives.Dict)) {
         return false;
       }
 
@@ -30867,42 +20303,110 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           xref = this.xref;
 
       while (nodes.length) {
-        var key, i, ii;
         var node = nodes.shift();
-        var graphicStates = node.get('ExtGState');
+        var graphicStates = node.get("ExtGState");
 
-        if ((0, _primitives.isDict)(graphicStates)) {
+        if (graphicStates instanceof _primitives.Dict) {
           var graphicStatesKeys = graphicStates.getKeys();
 
-          for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) {
-            key = graphicStatesKeys[i];
-            var graphicState = graphicStates.get(key);
-            var bm = graphicState.get('BM');
+          for (let i = 0, ii = graphicStatesKeys.length; i < ii; i++) {
+            const key = graphicStatesKeys[i];
+            let graphicState = graphicStates.getRaw(key);
+
+            if (graphicState instanceof _primitives.Ref) {
+              if (processed[graphicState.toString()]) {
+                continue;
+              }
+
+              try {
+                graphicState = xref.fetch(graphicState);
+              } catch (ex) {
+                if (ex instanceof _core_utils.MissingDataException) {
+                  throw ex;
+                }
+
+                if (this.options.ignoreErrors) {
+                  if (graphicState instanceof _primitives.Ref) {
+                    processed[graphicState.toString()] = true;
+                  }
+
+                  this.handler.send("UnsupportedFeature", {
+                    featureId: _util.UNSUPPORTED_FEATURES.unknown
+                  });
+                  (0, _util.warn)(`hasBlendModes - ignoring ExtGState: "${ex}".`);
+                  continue;
+                }
+
+                throw ex;
+              }
+            }
+
+            if (!(graphicState instanceof _primitives.Dict)) {
+              continue;
+            }
+
+            if (graphicState.objId) {
+              processed[graphicState.objId] = true;
+            }
+
+            const bm = graphicState.get("BM");
+
+            if (bm instanceof _primitives.Name) {
+              if (bm.name !== "Normal") {
+                return true;
+              }
+
+              continue;
+            }
 
-            if ((0, _primitives.isName)(bm) && bm.name !== 'Normal') {
-              return true;
+            if (bm !== undefined && Array.isArray(bm)) {
+              for (let j = 0, jj = bm.length; j < jj; j++) {
+                if (bm[j] instanceof _primitives.Name && bm[j].name !== "Normal") {
+                  return true;
+                }
+              }
             }
           }
         }
 
-        var xObjects = node.get('XObject');
+        var xObjects = node.get("XObject");
 
-        if (!(0, _primitives.isDict)(xObjects)) {
+        if (!(xObjects instanceof _primitives.Dict)) {
           continue;
         }
 
         var xObjectsKeys = xObjects.getKeys();
 
-        for (i = 0, ii = xObjectsKeys.length; i < ii; i++) {
-          key = xObjectsKeys[i];
+        for (let i = 0, ii = xObjectsKeys.length; i < ii; i++) {
+          const key = xObjectsKeys[i];
           var xObject = xObjects.getRaw(key);
 
-          if ((0, _primitives.isRef)(xObject)) {
+          if (xObject instanceof _primitives.Ref) {
             if (processed[xObject.toString()]) {
               continue;
             }
 
-            xObject = xref.fetch(xObject);
+            try {
+              xObject = xref.fetch(xObject);
+            } catch (ex) {
+              if (ex instanceof _core_utils.MissingDataException) {
+                throw ex;
+              }
+
+              if (this.options.ignoreErrors) {
+                if (xObject instanceof _primitives.Ref) {
+                  processed[xObject.toString()] = true;
+                }
+
+                this.handler.send("UnsupportedFeature", {
+                  featureId: _util.UNSUPPORTED_FEATURES.unknown
+                });
+                (0, _util.warn)(`hasBlendModes - ignoring XObject: "${ex}".`);
+                continue;
+              }
+
+              throw ex;
+            }
           }
 
           if (!(0, _primitives.isStream)(xObject)) {
@@ -30917,9 +20421,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             processed[xObject.dict.objId] = true;
           }
 
-          var xResources = xObject.dict.get('Resources');
+          var xResources = xObject.dict.get("Resources");
 
-          if ((0, _primitives.isDict)(xResources) && (!xResources.objId || !processed[xResources.objId])) {
+          if (xResources instanceof _primitives.Dict && (!xResources.objId || !processed[xResources.objId])) 
{
             nodes.push(xResources);
 
             if (xResources.objId) {
@@ -30931,10 +20435,11 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       return false;
     },
-    buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, 
initialState) {
+
+    async buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {
       var dict = xobj.dict;
-      var matrix = dict.getArray('Matrix');
-      var bbox = dict.getArray('BBox');
+      var matrix = dict.getArray("Matrix");
+      var bbox = dict.getArray("BBox");
 
       if (Array.isArray(bbox) && bbox.length === 4) {
         bbox = _util.Util.normalizeRect(bbox);
@@ -30942,31 +20447,28 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         bbox = null;
       }
 
-      var group = dict.get('Group');
+      var group = dict.get("Group");
 
       if (group) {
         var groupOptions = {
-          matrix: matrix,
-          bbox: bbox,
-          smask: smask,
+          matrix,
+          bbox,
+          smask,
           isolated: false,
           knockout: false
         };
-        var groupSubtype = group.get('S');
+        var groupSubtype = group.get("S");
         var colorSpace = null;
 
-        if ((0, _primitives.isName)(groupSubtype, 'Transparency')) {
-          groupOptions.isolated = group.get('I') || false;
-          groupOptions.knockout = group.get('K') || false;
+        if ((0, _primitives.isName)(groupSubtype, "Transparency")) {
+          groupOptions.isolated = group.get("I") || false;
+          groupOptions.knockout = group.get("K") || false;
 
-          if (group.has('CS')) {
-            colorSpace = group.get('CS');
-
-            if (colorSpace) {
-              colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, resources, 
this.pdfFunctionFactory);
-            } else {
-              (0, _util.warn)('buildFormXObject - invalid/non-existent Group /CS entry: ' + 
group.getRaw('CS'));
-            }
+          if (group.has("CS")) {
+            colorSpace = await this.parseColorSpace({
+              cs: group.get("CS"),
+              resources
+            });
           }
         }
 
@@ -30981,10 +20483,10 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);
       return this.getOperatorList({
         stream: xobj,
-        task: task,
-        resources: dict.get('Resources') || resources,
-        operatorList: operatorList,
-        initialState: initialState
+        task,
+        resources: dict.get("Resources") || resources,
+        operatorList,
+        initialState
       }).then(function () {
         operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);
 
@@ -30993,223 +20495,182 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         }
       });
     },
-    buildPaintImageXObject: function () {
-      var _buildPaintImageXObject = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(_ref4) {
-        var _this2 = this;
-
-        var resources, image, _ref4$isInline, isInline, operatorList, cacheKey, imageCache, 
_ref4$forceDisableNat, forceDisableNativeImageDecoder, dict, w, h, maxImageSize, imageMask, imgData, args, 
width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, 
nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;
-
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                resources = _ref4.resources, image = _ref4.image, _ref4$isInline = _ref4.isInline, isInline 
= _ref4$isInline === void 0 ? false : _ref4$isInline, operatorList = _ref4.operatorList, cacheKey = 
_ref4.cacheKey, imageCache = _ref4.imageCache, _ref4$forceDisableNat = _ref4.forceDisableNativeImageDecoder, 
forceDisableNativeImageDecoder = _ref4$forceDisableNat === void 0 ? false : _ref4$forceDisableNat;
-                dict = image.dict;
-                w = dict.get('Width', 'W');
-                h = dict.get('Height', 'H');
-
-                if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {
-                  _context2.next = 7;
-                  break;
-                }
-
-                (0, _util.warn)('Image dimensions are missing, or not numbers.');
-                return _context2.abrupt("return", undefined);
-
-              case 7:
-                maxImageSize = this.options.maxImageSize;
-
-                if (!(maxImageSize !== -1 && w * h > maxImageSize)) {
-                  _context2.next = 11;
-                  break;
-                }
-
-                (0, _util.warn)('Image exceeded maximum allowed size and was removed.');
-                return _context2.abrupt("return", undefined);
 
-              case 11:
-                imageMask = dict.get('ImageMask', 'IM') || false;
-
-                if (!imageMask) {
-                  _context2.next = 24;
-                  break;
-                }
-
-                width = dict.get('Width', 'W');
-                height = dict.get('Height', 'H');
-                bitStrideLength = width + 7 >> 3;
-                imgArray = image.getBytes(bitStrideLength * height, true);
-                decode = dict.getArray('Decode', 'D');
-                imgData = _image.PDFImage.createMask({
-                  imgArray: imgArray,
-                  width: width,
-                  height: height,
-                  imageIsFromDecodeStream: image instanceof _stream.DecodeStream,
-                  inverseDecode: !!decode && decode[0] > 0
-                });
-                imgData.cached = !!cacheKey;
-                args = [imgData];
-                operatorList.addOp(_util.OPS.paintImageMaskXObject, args);
-
-                if (cacheKey) {
-                  imageCache[cacheKey] = {
-                    fn: _util.OPS.paintImageMaskXObject,
-                    args: args
-                  };
-                }
-
-                return _context2.abrupt("return", undefined);
+    async buildPaintImageXObject({
+      resources,
+      image,
+      isInline = false,
+      operatorList,
+      cacheKey,
+      imageCache,
+      forceDisableNativeImageDecoder = false
+    }) {
+      var dict = image.dict;
+      var w = dict.get("Width", "W");
+      var h = dict.get("Height", "H");
 
-              case 24:
-                softMask = dict.get('SMask', 'SM') || false;
-                mask = dict.get('Mask') || false;
-                SMALL_IMAGE_DIMENSIONS = 200;
+      if (!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h))) {
+        (0, _util.warn)("Image dimensions are missing, or not numbers.");
+        return undefined;
+      }
 
-                if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h 
< SMALL_IMAGE_DIMENSIONS)) {
-                  _context2.next = 32;
-                  break;
-                }
+      var maxImageSize = this.options.maxImageSize;
 
-                imageObj = new _image.PDFImage({
-                  xref: this.xref,
-                  res: resources,
-                  image: image,
-                  isInline: isInline,
-                  pdfFunctionFactory: this.pdfFunctionFactory
-                });
-                imgData = imageObj.createImageData(true);
-                operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);
-                return _context2.abrupt("return", undefined);
+      if (maxImageSize !== -1 && w * h > maxImageSize) {
+        (0, _util.warn)("Image exceeded maximum allowed size and was removed.");
+        return undefined;
+      }
 
-              case 32:
-                nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE 
: this.options.nativeImageDecoderSupport;
-                objId = "img_".concat(this.idFactory.createObjId());
+      var imageMask = dict.get("ImageMask", "IM") || false;
+      var imgData, args;
+
+      if (imageMask) {
+        var width = dict.get("Width", "W");
+        var height = dict.get("Height", "H");
+        var bitStrideLength = width + 7 >> 3;
+        var imgArray = image.getBytes(bitStrideLength * height, true);
+        var decode = dict.getArray("Decode", "D");
+        imgData = _image.PDFImage.createMask({
+          imgArray,
+          width,
+          height,
+          imageIsFromDecodeStream: image instanceof _stream.DecodeStream,
+          inverseDecode: !!decode && decode[0] > 0
+        });
+        imgData.cached = !!cacheKey;
+        args = [imgData];
+        operatorList.addOp(_util.OPS.paintImageMaskXObject, args);
+
+        if (cacheKey) {
+          imageCache[cacheKey] = {
+            fn: _util.OPS.paintImageMaskXObject,
+            args
+          };
+        }
 
-                if (this.parsingType3Font) {
-                  (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, 'Type3 
image resources should be completely decoded in the worker.');
-                  objId = "".concat(this.idFactory.getDocId(), "_type3res_").concat(objId);
-                }
+        return undefined;
+      }
 
-                if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && 
image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, this.xref, 
resources, this.pdfFunctionFactory))) {
-                  _context2.next = 37;
-                  break;
-                }
+      var softMask = dict.get("SMask", "SM") || false;
+      var mask = dict.get("Mask") || false;
+      var SMALL_IMAGE_DIMENSIONS = 200;
 
-                return _context2.abrupt("return", this.handler.sendWithPromise('obj', [objId, 
this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]).then(function () {
-                  operatorList.addDependency(objId);
-                  args = [objId, w, h];
-                  operatorList.addOp(_util.OPS.paintJpegXObject, args);
+      if (isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < 
SMALL_IMAGE_DIMENSIONS) {
+        const imageObj = new _image.PDFImage({
+          xref: this.xref,
+          res: resources,
+          image,
+          isInline,
+          pdfFunctionFactory: this.pdfFunctionFactory
+        });
+        imgData = imageObj.createImageData(true);
+        operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);
+        return undefined;
+      }
 
-                  if (cacheKey) {
-                    imageCache[cacheKey] = {
-                      fn: _util.OPS.paintJpegXObject,
-                      args: args
-                    };
-                  }
-                }, function (reason) {
-                  (0, _util.warn)('Native JPEG decoding failed -- trying to recover: ' + (reason && 
reason.message));
-                  return _this2.buildPaintImageXObject({
-                    resources: resources,
-                    image: image,
-                    isInline: isInline,
-                    operatorList: operatorList,
-                    cacheKey: cacheKey,
-                    imageCache: imageCache,
-                    forceDisableNativeImageDecoder: true
-                  });
-                }));
+      const nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : 
this.options.nativeImageDecoderSupport;
+      let objId = `img_${this.idFactory.createObjId()}`;
 
-              case 37:
-                nativeImageDecoder = null;
-
-                if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof 
_jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof 
_jpeg_stream.JpegStream)) {
-                  nativeImageDecoder = new _image_utils.NativeImageDecoder({
-                    xref: this.xref,
-                    resources: resources,
-                    handler: this.handler,
-                    forceDataSchema: this.options.forceDataSchema,
-                    pdfFunctionFactory: this.pdfFunctionFactory
-                  });
-                }
+      if (this.parsingType3Font) {
+        (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, "Type3 image 
resources should be completely decoded in the worker.");
+        objId = `${this.idFactory.getDocId()}_type3res_${objId}`;
+      }
 
-                operatorList.addDependency(objId);
-                args = [objId, w, h];
-                imgPromise = _image.PDFImage.buildImage({
-                  handler: this.handler,
-                  xref: this.xref,
-                  res: resources,
-                  image: image,
-                  isInline: isInline,
-                  nativeDecoder: nativeImageDecoder,
-                  pdfFunctionFactory: this.pdfFunctionFactory
-                }).then(function (imageObj) {
-                  var imgData = imageObj.createImageData(false);
-
-                  if (_this2.parsingType3Font) {
-                    return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', imgData], 
[imgData.data.buffer]);
-                  }
+      if (nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image 
instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, this.xref, 
resources, this.pdfFunctionFactory) && image.maybeValidDimensions) {
+        return this.handler.sendWithPromise("obj", [objId, this.pageIndex, "JpegStream", 
image.getIR(this.options.forceDataSchema)]).then(function () {
+          operatorList.addDependency(objId);
+          args = [objId, w, h];
+          operatorList.addOp(_util.OPS.paintJpegXObject, args);
 
-                  _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], 
[imgData.data.buffer]);
+          if (cacheKey) {
+            imageCache[cacheKey] = {
+              fn: _util.OPS.paintJpegXObject,
+              args
+            };
+          }
+        }, reason => {
+          (0, _util.warn)("Native JPEG decoding failed -- trying to recover: " + (reason && reason.message));
+          return this.buildPaintImageXObject({
+            resources,
+            image,
+            isInline,
+            operatorList,
+            cacheKey,
+            imageCache,
+            forceDisableNativeImageDecoder: true
+          });
+        });
+      }
 
-                  return undefined;
-                })["catch"](function (reason) {
-                  (0, _util.warn)('Unable to decode image: ' + reason);
+      var nativeImageDecoder = null;
 
-                  if (_this2.parsingType3Font) {
-                    return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', null]);
-                  }
+      if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof 
_jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof 
_jpeg_stream.JpegStream)) {
+        nativeImageDecoder = new _image_utils.NativeImageDecoder({
+          xref: this.xref,
+          resources,
+          handler: this.handler,
+          forceDataSchema: this.options.forceDataSchema,
+          pdfFunctionFactory: this.pdfFunctionFactory
+        });
+      }
 
-                  _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);
+      operatorList.addDependency(objId);
+      args = [objId, w, h];
 
-                  return undefined;
-                });
+      const imgPromise = _image.PDFImage.buildImage({
+        handler: this.handler,
+        xref: this.xref,
+        res: resources,
+        image,
+        isInline,
+        nativeDecoder: nativeImageDecoder,
+        pdfFunctionFactory: this.pdfFunctionFactory
+      }).then(imageObj => {
+        var imgData = imageObj.createImageData(false);
 
-                if (!this.parsingType3Font) {
-                  _context2.next = 45;
-                  break;
-                }
+        if (this.parsingType3Font) {
+          return this.handler.sendWithPromise("commonobj", [objId, "FontType3Res", imgData], 
[imgData.data.buffer]);
+        }
 
-                _context2.next = 45;
-                return imgPromise;
+        this.handler.send("obj", [objId, this.pageIndex, "Image", imgData], [imgData.data.buffer]);
+        return undefined;
+      }).catch(reason => {
+        (0, _util.warn)("Unable to decode image: " + reason);
 
-              case 45:
-                operatorList.addOp(_util.OPS.paintImageXObject, args);
+        if (this.parsingType3Font) {
+          return this.handler.sendWithPromise("commonobj", [objId, "FontType3Res", null]);
+        }
 
-                if (cacheKey) {
-                  imageCache[cacheKey] = {
-                    fn: _util.OPS.paintImageXObject,
-                    args: args
-                  };
-                }
+        this.handler.send("obj", [objId, this.pageIndex, "Image", null]);
+        return undefined;
+      });
 
-                return _context2.abrupt("return", undefined);
+      if (this.parsingType3Font) {
+        await imgPromise;
+      }
 
-              case 48:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+      operatorList.addOp(_util.OPS.paintImageXObject, args);
 
-      function buildPaintImageXObject(_x2) {
-        return _buildPaintImageXObject.apply(this, arguments);
+      if (cacheKey) {
+        imageCache[cacheKey] = {
+          fn: _util.OPS.paintImageXObject,
+          args
+        };
       }
 
-      return buildPaintImageXObject;
-    }(),
+      return undefined;
+    },
+
     handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {
-      var smaskContent = smask.get('G');
+      var smaskContent = smask.get("G");
       var smaskOptions = {
-        subtype: smask.get('S').name,
-        backdrop: smask.get('BC')
+        subtype: smask.get("S").name,
+        backdrop: smask.get("BC")
       };
-      var transferObj = smask.get('TR');
+      var transferObj = smask.get("TR");
 
       if ((0, _function.isPDFFunction)(transferObj)) {
-        var transferFn = this.pdfFunctionFactory.create(transferObj);
+        const transferFn = this.pdfFunctionFactory.create(transferObj);
         var transferMap = new Uint8Array(256);
         var tmp = new Float32Array(1);
 
@@ -31224,17 +20685,16 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, 
stateManager.state.clone());
     },
-    handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, 
task) {
-      var _this3 = this;
 
-      var tilingOpList = new _operator_list.OperatorList();
-      var resourcesArray = [patternDict.get('Resources'), resources];
+    handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {
+      const tilingOpList = new _operator_list.OperatorList();
+      const resourcesArray = [patternDict.get("Resources"), resources];
 
-      var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);
+      const patternResources = _primitives.Dict.merge(this.xref, resourcesArray);
 
       return this.getOperatorList({
         stream: pattern,
-        task: task,
+        task,
         resources: patternResources,
         operatorList: tilingOpList
       }).then(function () {
@@ -31245,26 +20705,24 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       }).then(function (tilingPatternIR) {
         operatorList.addDependencies(tilingOpList.dependencies);
         operatorList.addOp(fn, tilingPatternIR);
-      }, function (reason) {
+      }, reason => {
         if (reason instanceof _util.AbortException) {
           return;
         }
 
-        if (_this3.options.ignoreErrors) {
-          _this3.handler.send('UnsupportedFeature', {
+        if (this.options.ignoreErrors) {
+          this.handler.send("UnsupportedFeature", {
             featureId: _util.UNSUPPORTED_FEATURES.unknown
           });
-
-          (0, _util.warn)("handleTilingType - ignoring pattern: \"".concat(reason, "\"."));
+          (0, _util.warn)(`handleTilingType - ignoring pattern: "${reason}".`);
           return;
         }
 
         throw reason;
       });
     },
-    handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, 
state) {
-      var _this4 = this;
 
+    handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, 
state) {
       var fontName;
 
       if (fontArgs) {
@@ -31272,122 +20730,135 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         fontName = fontArgs[0].name;
       }
 
-      return this.loadFont(fontName, fontRef, resources).then(function (translated) {
+      return this.loadFont(fontName, fontRef, resources).then(translated => {
         if (!translated.font.isType3Font) {
           return translated;
         }
 
-        return translated.loadType3Data(_this4, resources, operatorList, task).then(function () {
+        return translated.loadType3Data(this, resources, operatorList, task).then(function () {
           return translated;
-        })["catch"](function (reason) {
-          _this4.handler.send('UnsupportedFeature', {
+        }).catch(reason => {
+          this.handler.send("UnsupportedFeature", {
             featureId: _util.UNSUPPORTED_FEATURES.font
           });
-
-          return new TranslatedFont('g_font_error', new _fonts.ErrorFont('Type3 font load error: ' + 
reason), translated.font);
+          return new TranslatedFont("g_font_error", new _fonts.ErrorFont("Type3 font load error: " + 
reason), translated.font);
         });
-      }).then(function (translated) {
+      }).then(translated => {
         state.font = translated.font;
-        translated.send(_this4.handler);
+        translated.send(this.handler);
         return translated.loadedName;
       });
     },
-    handleText: function handleText(chars, state) {
-      var font = state.font;
-      var glyphs = font.charsToGlyphs(chars);
+
+    handleText(chars, state) {
+      const font = state.font;
+      const glyphs = font.charsToGlyphs(chars);
 
       if (font.data) {
-        var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
+        const isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
 
-        if (isAddToPathSet || state.fillColorSpace.name === 'Pattern' || font.disableFontFace || 
this.options.disableFontFace) {
+        if (isAddToPathSet || state.fillColorSpace.name === "Pattern" || font.disableFontFace || 
this.options.disableFontFace) {
           PartialEvaluator.buildFontPaths(font, glyphs, this.handler);
         }
       }
 
       return glyphs;
     },
-    setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {
-      var _this5 = this;
 
+    ensureStateFont(state) {
+      if (state.font) {
+        return;
+      }
+
+      const reason = new _util.FormatError("Missing setFont (Tf) operator before text rendering operator.");
+
+      if (this.options.ignoreErrors) {
+        this.handler.send("UnsupportedFeature", {
+          featureId: _util.UNSUPPORTED_FEATURES.font
+        });
+        (0, _util.warn)(`ensureStateFont: "${reason}".`);
+        return;
+      }
+
+      throw reason;
+    },
+
+    setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {
       var gStateObj = [];
       var gStateKeys = gState.getKeys();
       var promise = Promise.resolve();
 
-      var _loop = function _loop() {
-        var key = gStateKeys[i];
-        var value = gState.get(key);
+      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {
+        const key = gStateKeys[i];
+        const value = gState.get(key);
 
         switch (key) {
-          case 'Type':
+          case "Type":
             break;
 
-          case 'LW':
-          case 'LC':
-          case 'LJ':
-          case 'ML':
-          case 'D':
-          case 'RI':
-          case 'FL':
-          case 'CA':
-          case 'ca':
+          case "LW":
+          case "LC":
+          case "LJ":
+          case "ML":
+          case "D":
+          case "RI":
+          case "FL":
+          case "CA":
+          case "ca":
             gStateObj.push([key, value]);
             break;
 
-          case 'Font':
-            promise = promise.then(function () {
-              return _this5.handleSetFont(resources, null, value[0], operatorList, task, 
stateManager.state).then(function (loadedName) {
+          case "Font":
+            promise = promise.then(() => {
+              return this.handleSetFont(resources, null, value[0], operatorList, task, 
stateManager.state).then(function (loadedName) {
                 operatorList.addDependency(loadedName);
                 gStateObj.push([key, [loadedName, value[1]]]);
               });
             });
             break;
 
-          case 'BM':
+          case "BM":
             gStateObj.push([key, normalizeBlendMode(value)]);
             break;
 
-          case 'SMask':
-            if ((0, _primitives.isName)(value, 'None')) {
+          case "SMask":
+            if ((0, _primitives.isName)(value, "None")) {
               gStateObj.push([key, false]);
               break;
             }
 
             if ((0, _primitives.isDict)(value)) {
-              promise = promise.then(function () {
-                return _this5.handleSMask(value, resources, operatorList, task, stateManager);
+              promise = promise.then(() => {
+                return this.handleSMask(value, resources, operatorList, task, stateManager);
               });
               gStateObj.push([key, true]);
             } else {
-              (0, _util.warn)('Unsupported SMask type');
+              (0, _util.warn)("Unsupported SMask type");
             }
 
             break;
 
-          case 'OP':
-          case 'op':
-          case 'OPM':
-          case 'BG':
-          case 'BG2':
-          case 'UCR':
-          case 'UCR2':
-          case 'TR':
-          case 'TR2':
-          case 'HT':
-          case 'SM':
-          case 'SA':
-          case 'AIS':
-          case 'TK':
-            (0, _util.info)('graphic state operator ' + key);
+          case "OP":
+          case "op":
+          case "OPM":
+          case "BG":
+          case "BG2":
+          case "UCR":
+          case "UCR2":
+          case "TR":
+          case "TR2":
+          case "HT":
+          case "SM":
+          case "SA":
+          case "AIS":
+          case "TK":
+            (0, _util.info)("graphic state operator " + key);
             break;
 
           default:
-            (0, _util.info)('Unknown graphic state operator ' + key);
+            (0, _util.info)("Unknown graphic state operator " + key);
             break;
         }
-      };
-
-      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {
-        _loop();
       }
 
       return promise.then(function () {
@@ -31397,10 +20868,8 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       });
     },
     loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {
-      var _this6 = this;
-
       function errorFont() {
-        return Promise.resolve(new TranslatedFont('g_font_error', new _fonts.ErrorFont('Font ' + fontName + 
' is not available'), font));
+        return Promise.resolve(new TranslatedFont("g_font_error", new _fonts.ErrorFont("Font " + fontName + 
" is not available"), font));
       }
 
       var fontRef,
@@ -31408,24 +20877,31 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       if (font) {
         if (!(0, _primitives.isRef)(font)) {
-          throw new Error('The "font" object should be a reference.');
+          throw new _util.FormatError('The "font" object should be a reference.');
         }
 
         fontRef = font;
       } else {
-        var fontRes = resources.get('Font');
+        var fontRes = resources.get("Font");
 
         if (fontRes) {
           fontRef = fontRes.getRaw(fontName);
-        } else {
-          (0, _util.warn)('fontRes not available');
-          return errorFont();
         }
       }
 
       if (!fontRef) {
-        (0, _util.warn)('fontRef not available');
-        return errorFont();
+        const partialMsg = `Font "${fontName || font && font.toString()}" is not available`;
+
+        if (!this.options.ignoreErrors && !this.parsingType3Font) {
+          (0, _util.warn)(`${partialMsg}.`);
+          return errorFont();
+        }
+
+        this.handler.send("UnsupportedFeature", {
+          featureId: _util.UNSUPPORTED_FEATURES.font
+        });
+        (0, _util.warn)(`${partialMsg} -- attempting to fallback to a default font.`);
+        fontRef = PartialEvaluator.getFallbackFontDict();
       }
 
       if (this.fontCache.has(fontRef)) {
@@ -31444,8 +20920,10 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       var fontCapability = (0, _util.createPromiseCapability)();
       var preEvaluatedFont = this.preEvaluateFont(font);
-      var descriptor = preEvaluatedFont.descriptor,
-          hash = preEvaluatedFont.hash;
+      const {
+        descriptor,
+        hash
+      } = preEvaluatedFont;
       var fontRefIsRef = (0, _primitives.isRef)(fontRef),
           fontID;
 
@@ -31487,11 +20965,11 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           fontID = this.idFactory.createObjId();
         }
 
-        this.fontCache.put("id_".concat(fontID), fontCapability.promise);
+        this.fontCache.put(`id_${fontID}`, fontCapability.promise);
       }
 
       (0, _util.assert)(fontID, 'The "fontID" must be defined.');
-      font.loadedName = "".concat(this.idFactory.getDocId(), "_f").concat(fontID);
+      font.loadedName = `${this.idFactory.getDocId()}_f${fontID}`;
       font.translated = fontCapability.promise;
       var translatedPromise;
 
@@ -31508,14 +20986,14 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         }
 
         fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));
-      })["catch"](function (reason) {
-        _this6.handler.send('UnsupportedFeature', {
+      }).catch(reason => {
+        this.handler.send("UnsupportedFeature", {
           featureId: _util.UNSUPPORTED_FEATURES.font
         });
 
         try {
-          var fontFile3 = descriptor && descriptor.get('FontFile3');
-          var subtype = fontFile3 && fontFile3.get('Subtype');
+          var fontFile3 = descriptor && descriptor.get("FontFile3");
+          var subtype = fontFile3 && fontFile3.get("Subtype");
           var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);
           var xrefFontStats = xref.stats.fontTypes;
           xrefFontStats[fontType] = true;
@@ -31525,8 +21003,8 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       });
       return fontCapability.promise;
     },
-    buildPath: function buildPath(operatorList, fn, args) {
-      var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+
+    buildPath(operatorList, fn, args, parsingText = false) {
       var lastIndex = operatorList.length - 1;
 
       if (!args) {
@@ -31535,7 +21013,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {
         if (parsingText) {
-          (0, _util.warn)("Encountered path operator \"".concat(fn, "\" inside of a text object."));
+          (0, _util.warn)(`Encountered path operator "${fn}" inside of a text object.`);
           operatorList.addOp(_util.OPS.save, null);
         }
 
@@ -31550,74 +21028,62 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         Array.prototype.push.apply(opArgs[1], args);
       }
     },
-    handleColorN: function () {
-      var _handleColorN = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3(operatorList, fn, args, cs, patterns, resources, task) {
-        var patternName, pattern, dict, typeNum, color, shading, matrix;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                patternName = args[args.length - 1];
-
-                if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {
-                  _context3.next = 16;
-                  break;
-                }
-
-                dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;
-                typeNum = dict.get('PatternType');
-
-                if (!(typeNum === TILING_PATTERN)) {
-                  _context3.next = 9;
-                  break;
-                }
 
-                color = cs.base ? cs.base.getRgb(args, 0) : null;
-                return _context3.abrupt("return", this.handleTilingType(fn, color, resources, pattern, dict, 
operatorList, task));
+    parseColorSpace({
+      cs,
+      resources
+    }) {
+      return new Promise(resolve => {
+        resolve(_colorspace.ColorSpace.parse(cs, this.xref, resources, this.pdfFunctionFactory));
+      }).catch(reason => {
+        if (reason instanceof _util.AbortException) {
+          return null;
+        }
 
-              case 9:
-                if (!(typeNum === SHADING_PATTERN)) {
-                  _context3.next = 15;
-                  break;
-                }
+        if (this.options.ignoreErrors) {
+          this.handler.send("UnsupportedFeature", {
+            featureId: _util.UNSUPPORTED_FEATURES.unknown
+          });
+          (0, _util.warn)(`parseColorSpace - ignoring ColorSpace: "${reason}".`);
+          return null;
+        }
 
-                shading = dict.get('Shading');
-                matrix = dict.getArray('Matrix');
-                pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, 
this.pdfFunctionFactory);
-                operatorList.addOp(fn, pattern.getIR());
-                return _context3.abrupt("return", undefined);
+        throw reason;
+      });
+    },
 
-              case 15:
-                throw new _util.FormatError("Unknown PatternType: ".concat(typeNum));
+    async handleColorN(operatorList, fn, args, cs, patterns, resources, task) {
+      var patternName = args[args.length - 1];
+      var pattern;
 
-              case 16:
-                throw new _util.FormatError("Unknown PatternName: ".concat(patternName));
+      if ((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name))) {
+        var dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;
+        var typeNum = dict.get("PatternType");
 
-              case 17:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
+        if (typeNum === TILING_PATTERN) {
+          var color = cs.base ? cs.base.getRgb(args, 0) : null;
+          return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task);
+        } else if (typeNum === SHADING_PATTERN) {
+          var shading = dict.get("Shading");
+          var matrix = dict.getArray("Matrix");
+          pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, 
this.pdfFunctionFactory);
+          operatorList.addOp(fn, pattern.getIR());
+          return undefined;
+        }
 
-      function handleColorN(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {
-        return _handleColorN.apply(this, arguments);
+        throw new _util.FormatError(`Unknown PatternType: ${typeNum}`);
       }
 
-      return handleColorN;
-    }(),
-    getOperatorList: function getOperatorList(_ref5) {
-      var _this7 = this;
+      throw new _util.FormatError(`Unknown PatternName: ${patternName}`);
+    },
 
-      var stream = _ref5.stream,
-          task = _ref5.task,
-          resources = _ref5.resources,
-          operatorList = _ref5.operatorList,
-          _ref5$initialState = _ref5.initialState,
-          initialState = _ref5$initialState === void 0 ? null : _ref5$initialState;
+    getOperatorList({
+      stream,
+      task,
+      resources,
+      operatorList,
+      initialState = null
+    }) {
       resources = resources || _primitives.Dict.empty;
       initialState = initialState || new EvalState();
 
@@ -31627,12 +21093,12 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       var self = this;
       var xref = this.xref;
-      var parsingText = false;
+      let parsingText = false;
       var imageCache = Object.create(null);
 
-      var xobjs = resources.get('XObject') || _primitives.Dict.empty;
+      var xobjs = resources.get("XObject") || _primitives.Dict.empty;
 
-      var patterns = resources.get('Pattern') || _primitives.Dict.empty;
+      var patterns = resources.get("Pattern") || _primitives.Dict.empty;
 
       var stateManager = new StateManager(initialState);
       var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);
@@ -31645,7 +21111,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       }
 
       return new Promise(function promiseBody(resolve, reject) {
-        var next = function next(promise) {
+        const next = function (promise) {
           Promise.all([promise, operatorList.ready]).then(function () {
             try {
               promiseBody(resolve, reject);
@@ -31685,10 +21151,10 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
               next(new Promise(function (resolveXObject, rejectXObject) {
                 if (!name) {
-                  throw new _util.FormatError('XObject must be referred to by name.');
+                  throw new _util.FormatError("XObject must be referred to by name.");
                 }
 
-                var xobj = xobjs.get(name);
+                const xobj = xobjs.get(name);
 
                 if (!xobj) {
                   operatorList.addOp(fn, args);
@@ -31697,48 +21163,48 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
                 }
 
                 if (!(0, _primitives.isStream)(xobj)) {
-                  throw new _util.FormatError('XObject should be a stream');
+                  throw new _util.FormatError("XObject should be a stream");
                 }
 
-                var type = xobj.dict.get('Subtype');
+                const type = xobj.dict.get("Subtype");
 
                 if (!(0, _primitives.isName)(type)) {
-                  throw new _util.FormatError('XObject should have a Name subtype');
+                  throw new _util.FormatError("XObject should have a Name subtype");
                 }
 
-                if (type.name === 'Form') {
+                if (type.name === "Form") {
                   stateManager.save();
                   self.buildFormXObject(resources, xobj, null, operatorList, task, 
stateManager.state.clone()).then(function () {
                     stateManager.restore();
                     resolveXObject();
                   }, rejectXObject);
                   return;
-                } else if (type.name === 'Image') {
+                } else if (type.name === "Image") {
                   self.buildPaintImageXObject({
-                    resources: resources,
+                    resources,
                     image: xobj,
-                    operatorList: operatorList,
+                    operatorList,
                     cacheKey: name,
-                    imageCache: imageCache
+                    imageCache
                   }).then(resolveXObject, rejectXObject);
                   return;
-                } else if (type.name === 'PS') {
-                  (0, _util.info)('Ignored XObject subtype PS');
+                } else if (type.name === "PS") {
+                  (0, _util.info)("Ignored XObject subtype PS");
                 } else {
-                  throw new _util.FormatError("Unhandled XObject subtype ".concat(type.name));
+                  throw new _util.FormatError(`Unhandled XObject subtype ${type.name}`);
                 }
 
                 resolveXObject();
-              })["catch"](function (reason) {
+              }).catch(function (reason) {
                 if (reason instanceof _util.AbortException) {
                   return;
                 }
 
                 if (self.options.ignoreErrors) {
-                  self.handler.send('UnsupportedFeature', {
+                  self.handler.send("UnsupportedFeature", {
                     featureId: _util.UNSUPPORTED_FEATURES.unknown
                   });
-                  (0, _util.warn)("getOperatorList - ignoring XObject: \"".concat(reason, "\"."));
+                  (0, _util.warn)(`getOperatorList - ignoring XObject: "${reason}".`);
                   return;
                 }
 
@@ -31776,20 +21242,30 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               }
 
               next(self.buildPaintImageXObject({
-                resources: resources,
+                resources,
                 image: args[0],
                 isInline: true,
-                operatorList: operatorList,
-                cacheKey: cacheKey,
-                imageCache: imageCache
+                operatorList,
+                cacheKey,
+                imageCache
               }));
               return;
 
             case _util.OPS.showText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               args[0] = self.handleText(args[0], stateManager.state);
               break;
 
             case _util.OPS.showSpacedText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               var arr = args[0];
               var combinedGlyphs = [];
               var arrLength = arr.length;
@@ -31810,12 +21286,22 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               break;
 
             case _util.OPS.nextLineShowText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               operatorList.addOp(_util.OPS.nextLine);
               args[0] = self.handleText(args[0], stateManager.state);
               fn = _util.OPS.showText;
               break;
 
             case _util.OPS.nextLineSetSpacingShowText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               operatorList.addOp(_util.OPS.nextLine);
               operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);
               operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);
@@ -31828,12 +21314,26 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               break;
 
             case _util.OPS.setFillColorSpace:
-              stateManager.state.fillColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, 
self.pdfFunctionFactory);
-              continue;
+              next(self.parseColorSpace({
+                cs: args[0],
+                resources
+              }).then(function (colorSpace) {
+                if (colorSpace) {
+                  stateManager.state.fillColorSpace = colorSpace;
+                }
+              }));
+              return;
 
             case _util.OPS.setStrokeColorSpace:
-              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, 
self.pdfFunctionFactory);
-              continue;
+              next(self.parseColorSpace({
+                cs: args[0],
+                resources
+              }).then(function (colorSpace) {
+                if (colorSpace) {
+                  stateManager.state.strokeColorSpace = colorSpace;
+                }
+              }));
+              return;
 
             case _util.OPS.setFillColor:
               cs = stateManager.state.fillColorSpace;
@@ -31884,7 +21384,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             case _util.OPS.setFillColorN:
               cs = stateManager.state.fillColorSpace;
 
-              if (cs.name === 'Pattern') {
+              if (cs.name === "Pattern") {
                 next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, 
task));
                 return;
               }
@@ -31896,7 +21396,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             case _util.OPS.setStrokeColorN:
               cs = stateManager.state.strokeColorSpace;
 
-              if (cs.name === 'Pattern') {
+              if (cs.name === "Pattern") {
                 next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, 
resources, task));
                 return;
               }
@@ -31906,16 +21406,16 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               break;
 
             case _util.OPS.shadingFill:
-              var shadingRes = resources.get('Shading');
+              var shadingRes = resources.get("Shading");
 
               if (!shadingRes) {
-                throw new _util.FormatError('No shading resource found');
+                throw new _util.FormatError("No shading resource found");
               }
 
               var shading = shadingRes.get(args[0].name);
 
               if (!shading) {
-                throw new _util.FormatError('No shading object found');
+                throw new _util.FormatError("No shading object found");
               }
 
               var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, 
self.pdfFunctionFactory);
@@ -31927,7 +21427,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
             case _util.OPS.setGState:
               var dictName = args[0];
-              var extGState = resources.get('ExtGState');
+              var extGState = resources.get("ExtGState");
 
               if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {
                 break;
@@ -31965,7 +21465,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
                 }
 
                 if (i < ii) {
-                  (0, _util.warn)('getOperatorList - ignoring operator: ' + fn);
+                  (0, _util.warn)("getOperatorList - ignoring operator: " + fn);
                   continue;
                 }
               }
@@ -31982,17 +21482,16 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
         closePendingRestoreOPS();
         resolve();
-      })["catch"](function (reason) {
+      }).catch(reason => {
         if (reason instanceof _util.AbortException) {
           return;
         }
 
-        if (_this7.options.ignoreErrors) {
-          _this7.handler.send('UnsupportedFeature', {
+        if (this.options.ignoreErrors) {
+          this.handler.send("UnsupportedFeature", {
             featureId: _util.UNSUPPORTED_FEATURES.unknown
           });
-
-          (0, _util.warn)("getOperatorList - ignoring errors during \"".concat(task.name, "\" ") + "task: 
\"".concat(reason, "\"."));
+          (0, _util.warn)(`getOperatorList - ignoring errors during "${task.name}" ` + `task: "${reason}".`);
           closePendingRestoreOPS();
           return;
         }
@@ -32000,21 +21499,17 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         throw reason;
       });
     },
-    getTextContent: function getTextContent(_ref6) {
-      var _this8 = this;
-
-      var stream = _ref6.stream,
-          task = _ref6.task,
-          resources = _ref6.resources,
-          _ref6$stateManager = _ref6.stateManager,
-          stateManager = _ref6$stateManager === void 0 ? null : _ref6$stateManager,
-          _ref6$normalizeWhites = _ref6.normalizeWhitespace,
-          normalizeWhitespace = _ref6$normalizeWhites === void 0 ? false : _ref6$normalizeWhites,
-          _ref6$combineTextItem = _ref6.combineTextItems,
-          combineTextItems = _ref6$combineTextItem === void 0 ? false : _ref6$combineTextItem,
-          sink = _ref6.sink,
-          _ref6$seenStyles = _ref6.seenStyles,
-          seenStyles = _ref6$seenStyles === void 0 ? Object.create(null) : _ref6$seenStyles;
+
+    getTextContent({
+      stream,
+      task,
+      resources,
+      stateManager = null,
+      normalizeWhitespace = false,
+      combineTextItems = false,
+      sink,
+      seenStyles = Object.create(null)
+    }) {
       resources = resources || _primitives.Dict.empty;
       stateManager = stateManager || new StateManager(new TextState());
       var WhitespaceRegexp = /\s/g;
@@ -32070,7 +21565,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, 
textState.textRise];
 
         if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, 
_util.FONT_IDENTITY_MATRIX)) {
-          var glyphHeight = font.bbox[3] - font.bbox[1];
+          const glyphHeight = font.bbox[3] - font.bbox[1];
 
           if (glyphHeight > 0) {
             tsm[3] *= glyphHeight * textState.fontMatrix[3];
@@ -32125,15 +21620,15 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             ii = str.length,
             code;
 
-        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) {
+        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {
           i++;
         }
 
-        return i < ii ? str.replace(WhitespaceRegexp, ' ') : str;
+        return i < ii ? str.replace(WhitespaceRegexp, " ") : str;
       }
 
       function runBidiTransform(textChunk) {
-        var str = textChunk.str.join('');
+        var str = textChunk.str.join("");
         var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);
         return {
           str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,
@@ -32222,14 +21717,14 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         }
 
         if (width < textContentItem.fakeMultiSpaceMin) {
-          strBuf.push(' ');
+          strBuf.push(" ");
           return;
         }
 
         var fakeSpaces = Math.round(width / textContentItem.spaceWidth);
 
         while (fakeSpaces-- > 0) {
-          strBuf.push(' ');
+          strBuf.push(" ");
         }
       }
 
@@ -32250,7 +21745,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       }
 
       function enqueueChunk() {
-        var length = textContent.items.length;
+        const length = textContent.items.length;
 
         if (length > 0) {
           sink.enqueue(textContent, length);
@@ -32261,7 +21756,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       var timeSlotManager = new TimeSlotManager();
       return new Promise(function promiseBody(resolve, reject) {
-        var next = function next(promise) {
+        const next = function (promise) {
           enqueueChunk();
           Promise.all([promise, sink.ready]).then(function () {
             try {
@@ -32382,12 +21877,17 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();
               break;
 
-            case _util.OPS.showSpacedText:
+            case _util.OPS.showSpacedText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               var items = args[0];
               var offset;
 
               for (var j = 0, jj = items.length; j < jj; j++) {
-                if (typeof items[j] === 'string') {
+                if (typeof items[j] === "string") {
                   buildTextContentItem(items[j]);
                 } else if ((0, _util.isNum)(items[j])) {
                   ensureTextContentItem();
@@ -32424,16 +21924,31 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               break;
 
             case _util.OPS.showText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               buildTextContentItem(args[0]);
               break;
 
             case _util.OPS.nextLineShowText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               flushTextContentItem();
               textState.carriageReturn();
               buildTextContentItem(args[0]);
               break;
 
             case _util.OPS.nextLineSetSpacingShowText:
+              if (!stateManager.state.font) {
+                self.ensureStateFont(stateManager.state);
+                continue;
+              }
+
               flushTextContentItem();
               textState.wordSpacing = args[0];
               textState.charSpacing = args[1];
@@ -32445,7 +21960,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               flushTextContentItem();
 
               if (!xobjs) {
-                xobjs = resources.get('XObject') || _primitives.Dict.empty;
+                xobjs = resources.get("XObject") || _primitives.Dict.empty;
               }
 
               var name = args[0].name;
@@ -32456,10 +21971,10 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
               next(new Promise(function (resolveXObject, rejectXObject) {
                 if (!name) {
-                  throw new _util.FormatError('XObject must be referred to by name.');
+                  throw new _util.FormatError("XObject must be referred to by name.");
                 }
 
-                var xobj = xobjs.get(name);
+                const xobj = xobjs.get(name);
 
                 if (!xobj) {
                   resolveXObject();
@@ -32467,33 +21982,34 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
                 }
 
                 if (!(0, _primitives.isStream)(xobj)) {
-                  throw new _util.FormatError('XObject should be a stream');
+                  throw new _util.FormatError("XObject should be a stream");
                 }
 
-                var type = xobj.dict.get('Subtype');
+                const type = xobj.dict.get("Subtype");
 
                 if (!(0, _primitives.isName)(type)) {
-                  throw new _util.FormatError('XObject should have a Name subtype');
+                  throw new _util.FormatError("XObject should have a Name subtype");
                 }
 
-                if (type.name !== 'Form') {
+                if (type.name !== "Form") {
                   skipEmptyXObjs[name] = true;
                   resolveXObject();
                   return;
                 }
 
-                var currentState = stateManager.state.clone();
-                var xObjStateManager = new StateManager(currentState);
-                var matrix = xobj.dict.getArray('Matrix');
+                const currentState = stateManager.state.clone();
+                const xObjStateManager = new StateManager(currentState);
+                const matrix = xobj.dict.getArray("Matrix");
 
                 if (Array.isArray(matrix) && matrix.length === 6) {
                   xObjStateManager.transform(matrix);
                 }
 
                 enqueueChunk();
-                var sinkWrapper = {
+                const sinkWrapper = {
                   enqueueInvoked: false,
-                  enqueue: function enqueue(chunk, size) {
+
+                  enqueue(chunk, size) {
                     this.enqueueInvoked = true;
                     sink.enqueue(chunk, size);
                   },
@@ -32509,13 +22025,13 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
                 };
                 self.getTextContent({
                   stream: xobj,
-                  task: task,
-                  resources: xobj.dict.get('Resources') || resources,
+                  task,
+                  resources: xobj.dict.get("Resources") || resources,
                   stateManager: xObjStateManager,
-                  normalizeWhitespace: normalizeWhitespace,
-                  combineTextItems: combineTextItems,
+                  normalizeWhitespace,
+                  combineTextItems,
                   sink: sinkWrapper,
-                  seenStyles: seenStyles
+                  seenStyles
                 }).then(function () {
                   if (!sinkWrapper.enqueueInvoked) {
                     skipEmptyXObjs[name] = true;
@@ -32523,13 +22039,13 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
                   resolveXObject();
                 }, rejectXObject);
-              })["catch"](function (reason) {
+              }).catch(function (reason) {
                 if (reason instanceof _util.AbortException) {
                   return;
                 }
 
                 if (self.options.ignoreErrors) {
-                  (0, _util.warn)("getTextContent - ignoring XObject: \"".concat(reason, "\"."));
+                  (0, _util.warn)(`getTextContent - ignoring XObject: "${reason}".`);
                   return;
                 }
 
@@ -32540,7 +22056,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             case _util.OPS.setGState:
               flushTextContentItem();
               var dictName = args[0];
-              var extGState = resources.get('ExtGState');
+              var extGState = resources.get("ExtGState");
 
               if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
                 break;
@@ -32552,7 +22068,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
                 break;
               }
 
-              var gStateFont = gState.get('Font');
+              var gStateFont = gState.get("Font");
 
               if (gStateFont) {
                 textState.fontName = null;
@@ -32578,13 +22094,13 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         flushTextContentItem();
         enqueueChunk();
         resolve();
-      })["catch"](function (reason) {
+      }).catch(reason => {
         if (reason instanceof _util.AbortException) {
           return;
         }
 
-        if (_this8.options.ignoreErrors) {
-          (0, _util.warn)("getTextContent - ignoring errors during \"".concat(task.name, "\" ") + "task: 
\"".concat(reason, "\"."));
+        if (this.options.ignoreErrors) {
+          (0, _util.warn)(`getTextContent - ignoring errors during "${task.name}" ` + `task: "${reason}".`);
           flushTextContentItem();
           enqueueChunk();
           return;
@@ -32593,26 +22109,25 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         throw reason;
       });
     },
-    extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {
-      var _this9 = this;
 
-      var xref = this.xref,
-          cidToGidBytes;
-      var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');
+    extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {
+      const xref = this.xref;
+      let cidToGidBytes;
+      var toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode");
       var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);
 
       if (properties.composite) {
-        var cidSystemInfo = dict.get('CIDSystemInfo');
+        var cidSystemInfo = dict.get("CIDSystemInfo");
 
         if ((0, _primitives.isDict)(cidSystemInfo)) {
           properties.cidSystemInfo = {
-            registry: (0, _util.stringToPDFString)(cidSystemInfo.get('Registry')),
-            ordering: (0, _util.stringToPDFString)(cidSystemInfo.get('Ordering')),
-            supplement: cidSystemInfo.get('Supplement')
+            registry: (0, _util.stringToPDFString)(cidSystemInfo.get("Registry")),
+            ordering: (0, _util.stringToPDFString)(cidSystemInfo.get("Ordering")),
+            supplement: cidSystemInfo.get("Supplement")
           };
         }
 
-        var cidToGidMap = dict.get('CIDToGIDMap');
+        var cidToGidMap = dict.get("CIDToGIDMap");
 
         if ((0, _primitives.isStream)(cidToGidMap)) {
           cidToGidBytes = cidToGidMap.getBytes();
@@ -32623,15 +22138,15 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       var baseEncodingName = null;
       var encoding;
 
-      if (dict.has('Encoding')) {
-        encoding = dict.get('Encoding');
+      if (dict.has("Encoding")) {
+        encoding = dict.get("Encoding");
 
         if ((0, _primitives.isDict)(encoding)) {
-          baseEncodingName = encoding.get('BaseEncoding');
+          baseEncodingName = encoding.get("BaseEncoding");
           baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;
 
-          if (encoding.has('Differences')) {
-            var diffEncoding = encoding.get('Differences');
+          if (encoding.has("Differences")) {
+            var diffEncoding = encoding.get("Differences");
             var index = 0;
 
             for (var j = 0, jj = diffEncoding.length; j < jj; j++) {
@@ -32642,17 +22157,17 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
               } else if ((0, _primitives.isName)(data)) {
                 differences[index++] = data.name;
               } else {
-                throw new _util.FormatError("Invalid entry in 'Differences' array: ".concat(data));
+                throw new _util.FormatError(`Invalid entry in 'Differences' array: ${data}`);
               }
             }
           }
         } else if ((0, _primitives.isName)(encoding)) {
           baseEncodingName = encoding.name;
         } else {
-          throw new _util.FormatError('Encoding is not a Name nor a Dict');
+          throw new _util.FormatError("Encoding is not a Name nor a Dict");
         }
 
-        if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && 
baseEncodingName !== 'WinAnsiEncoding') {
+        if (baseEncodingName !== "MacRomanEncoding" && baseEncodingName !== "MacExpertEncoding" && 
baseEncodingName !== "WinAnsiEncoding") {
           baseEncodingName = null;
         }
       }
@@ -32664,7 +22179,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);
         encoding = _encodings.StandardEncoding;
 
-        if (properties.type === 'TrueType' && !isNonsymbolicFont) {
+        if (properties.type === "TrueType" && !isNonsymbolicFont) {
           encoding = _encodings.WinAnsiEncoding;
         }
 
@@ -32674,7 +22189,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           if (!properties.file) {
             if (/Symbol/i.test(properties.name)) {
               encoding = _encodings.SymbolSetEncoding;
-            } else if (/Dingbats/i.test(properties.name)) {
+            } else if (/Dingbats|Wingdings/i.test(properties.name)) {
               encoding = _encodings.ZapfDingbatsEncoding;
             }
           }
@@ -32687,73 +22202,83 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       properties.baseEncodingName = baseEncodingName;
       properties.hasEncoding = !!baseEncodingName || differences.length > 0;
       properties.dict = dict;
-      return toUnicodePromise.then(function (toUnicode) {
+      return toUnicodePromise.then(toUnicode => {
         properties.toUnicode = toUnicode;
-        return _this9.buildToUnicode(properties);
-      }).then(function (toUnicode) {
+        return this.buildToUnicode(properties);
+      }).then(toUnicode => {
         properties.toUnicode = toUnicode;
 
         if (cidToGidBytes) {
-          properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, toUnicode);
+          properties.cidToGidMap = this.readCidToGidMap(cidToGidBytes, toUnicode);
         }
 
         return properties;
       });
     },
-    _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {
-      (0, _util.assert)(!properties.composite, 'Must be a simple font.');
-      var toUnicode = [],
-          charcode,
-          glyphName;
-      var encoding = properties.defaultEncoding.slice();
-      var baseEncodingName = properties.baseEncodingName;
-      var differences = properties.differences;
 
-      for (charcode in differences) {
-        glyphName = differences[charcode];
+    _buildSimpleFontToUnicode(properties, forceGlyphs = false) {
+      (0, _util.assert)(!properties.composite, "Must be a simple font.");
+      const toUnicode = [];
+      const encoding = properties.defaultEncoding.slice();
+      const baseEncodingName = properties.baseEncodingName;
+      const differences = properties.differences;
 
-        if (glyphName === '.notdef') {
+      for (const charcode in differences) {
+        const glyphName = differences[charcode];
+
+        if (glyphName === ".notdef") {
           continue;
         }
 
         encoding[charcode] = glyphName;
       }
 
-      var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
+      const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
 
-      for (charcode in encoding) {
-        glyphName = encoding[charcode];
+      for (const charcode in encoding) {
+        let glyphName = encoding[charcode];
 
-        if (glyphName === '') {
+        if (glyphName === "") {
           continue;
         } else if (glyphsUnicodeMap[glyphName] === undefined) {
-          var code = 0;
+          let code = 0;
 
           switch (glyphName[0]) {
-            case 'G':
+            case "G":
               if (glyphName.length === 3) {
                 code = parseInt(glyphName.substring(1), 16);
               }
 
               break;
 
-            case 'g':
+            case "g":
               if (glyphName.length === 5) {
                 code = parseInt(glyphName.substring(1), 16);
               }
 
               break;
 
-            case 'C':
-            case 'c':
-              if (glyphName.length >= 3) {
-                code = +glyphName.substring(1);
+            case "C":
+            case "c":
+              if (glyphName.length >= 3 && glyphName.length <= 4) {
+                const codeStr = glyphName.substring(1);
+
+                if (forceGlyphs) {
+                  code = parseInt(codeStr, 16);
+                  break;
+                }
+
+                code = +codeStr;
+
+                if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {
+                  return this._buildSimpleFontToUnicode(properties, true);
+                }
               }
 
               break;
 
             default:
-              var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);
+              const unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);
 
               if (unicode !== -1) {
                 code = unicode;
@@ -32761,9 +22286,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
           }
 
-          if (code) {
+          if (code > 0 && Number.isInteger(code)) {
             if (baseEncodingName && code === +charcode) {
-              var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);
+              const baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);
 
               if (baseEncoding && (glyphName = baseEncoding[charcode])) {
                 toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);
@@ -32782,7 +22307,8 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       return new _fonts.ToUnicodeMap(toUnicode);
     },
-    buildToUnicode: function buildToUnicode(properties) {
+
+    buildToUnicode(properties) {
       properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;
 
       if (properties.hasIncludedToUnicodeMap) {
@@ -32797,25 +22323,25 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         return Promise.resolve(this._buildSimpleFontToUnicode(properties));
       }
 
-      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof 
_cmap.IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering 
=== 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' 
|| properties.cidSystemInfo.ordering === 'Korea1'))) {
-        var registry = properties.cidSystemInfo.registry;
-        var ordering = properties.cidSystemInfo.ordering;
+      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof 
_cmap.IdentityCMap) || properties.cidSystemInfo.registry === "Adobe" && (properties.cidSystemInfo.ordering 
=== "GB1" || properties.cidSystemInfo.ordering === "CNS1" || properties.cidSystemInfo.ordering === "Japan1" 
|| properties.cidSystemInfo.ordering === "Korea1"))) {
+        const registry = properties.cidSystemInfo.registry;
+        const ordering = properties.cidSystemInfo.ordering;
 
-        var ucs2CMapName = _primitives.Name.get(registry + '-' + ordering + '-UCS2');
+        const ucs2CMapName = _primitives.Name.get(registry + "-" + ordering + "-UCS2");
 
         return _cmap.CMapFactory.create({
           encoding: ucs2CMapName,
           fetchBuiltInCMap: this.fetchBuiltInCMap,
           useCMap: null
         }).then(function (ucs2CMap) {
-          var cMap = properties.cMap;
-          var toUnicode = [];
+          const cMap = properties.cMap;
+          const toUnicode = [];
           cMap.forEach(function (charcode, cid) {
             if (cid > 0xffff) {
-              throw new _util.FormatError('Max size of CID is 65,535');
+              throw new _util.FormatError("Max size of CID is 65,535");
             }
 
-            var ucs2 = ucs2CMap.lookup(cid);
+            const ucs2 = ucs2CMap.lookup(cid);
 
             if (ucs2) {
               toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));
@@ -32827,6 +22353,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));
     },
+
     readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
       var cmapObj = toUnicode;
 
@@ -32837,7 +22364,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           useCMap: null
         }).then(function (cmap) {
           if (cmap instanceof _cmap.IdentityCMap) {
-            return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);
+            return new _fonts.IdentityToUnicodeMap(0, 0xffff);
           }
 
           return new _fonts.ToUnicodeMap(cmap.getMap());
@@ -32849,7 +22376,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           useCMap: null
         }).then(function (cmap) {
           if (cmap instanceof _cmap.IdentityCMap) {
-            return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);
+            return new _fonts.IdentityToUnicodeMap(0, 0xffff);
           }
 
           var map = new Array(cmap.length);
@@ -32859,7 +22386,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             for (var k = 0; k < token.length; k += 2) {
               var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);
 
-              if ((w1 & 0xF800) !== 0xD800) {
+              if ((w1 & 0xf800) !== 0xd800) {
                 str.push(w1);
                 continue;
               }
@@ -32872,17 +22399,32 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             map[charCode] = String.fromCodePoint.apply(String, str);
           });
           return new _fonts.ToUnicodeMap(map);
+        }, reason => {
+          if (reason instanceof _util.AbortException) {
+            return null;
+          }
+
+          if (this.options.ignoreErrors) {
+            this.handler.send("UnsupportedFeature", {
+              featureId: _util.UNSUPPORTED_FEATURES.font
+            });
+            (0, _util.warn)(`readToUnicode - ignoring ToUnicode data: "${reason}".`);
+            return null;
+          }
+
+          throw reason;
         });
       }
 
       return Promise.resolve(null);
     },
-    readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {
+
+    readCidToGidMap(glyphsData, toUnicode) {
       var result = [];
 
       for (var j = 0, jj = glyphsData.length; j < jj; j++) {
         var glyphID = glyphsData[j++] << 8 | glyphsData[j];
-        var code = j >> 1;
+        const code = j >> 1;
 
         if (glyphID === 0 && !toUnicode.has(code)) {
           continue;
@@ -32893,6 +22435,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       return result;
     },
+
     extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {
       var xref = this.xref;
       var glyphsWidths = [];
@@ -32902,8 +22445,8 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       var i, ii, j, jj, start, code, widths;
 
       if (properties.composite) {
-        defaultWidth = dict.has('DW') ? dict.get('DW') : 1000;
-        widths = dict.get('W');
+        defaultWidth = dict.has("DW") ? dict.get("DW") : 1000;
+        widths = dict.get("W");
 
         if (widths) {
           for (i = 0, ii = widths.length; i < ii; i++) {
@@ -32925,9 +22468,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         }
 
         if (properties.vertical) {
-          var vmetrics = dict.getArray('DW2') || [880, -1000];
+          var vmetrics = dict.getArray("DW2") || [880, -1000];
           defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];
-          vmetrics = dict.get('W2');
+          vmetrics = dict.get("W2");
 
           if (vmetrics) {
             for (i = 0, ii = vmetrics.length; i < ii; i++) {
@@ -32950,7 +22493,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         }
       } else {
         var firstChar = properties.firstChar;
-        widths = dict.get('Widths');
+        widths = dict.get("Widths");
 
         if (widths) {
           j = firstChar;
@@ -32959,9 +22502,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
             glyphsWidths[j++] = xref.fetchIfRef(widths[i]);
           }
 
-          defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;
+          defaultWidth = parseFloat(descriptor.get("MissingWidth")) || 0;
         } else {
-          var baseFontName = dict.get('BaseFont');
+          var baseFontName = dict.get("BaseFont");
 
           if ((0, _primitives.isName)(baseFontName)) {
             var metrics = this.getBaseFontMetrics(baseFontName.name);
@@ -33002,7 +22545,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       properties.vmetrics = glyphsVMetrics;
     },
     isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {
-      var fontNameWoStyle = baseFontName.split('-')[0];
+      var fontNameWoStyle = baseFontName.split("-")[0];
       return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) 
!== -1;
     },
     getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {
@@ -33015,9 +22558,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
 
       if (!(lookupName in Metrics)) {
         if (this.isSerifFont(name)) {
-          lookupName = 'Times-Roman';
+          lookupName = "Times-Roman";
         } else {
-          lookupName = 'Helvetica';
+          lookupName = "Helvetica";
         }
       }
 
@@ -33031,9 +22574,9 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       }
 
       return {
-        defaultWidth: defaultWidth,
-        monospace: monospace,
-        widths: widths
+        defaultWidth,
+        monospace,
+        widths
       };
     },
     buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {
@@ -33057,37 +22600,37 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
     },
     preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {
       var baseDict = dict;
-      var type = dict.get('Subtype');
+      var type = dict.get("Subtype");
 
       if (!(0, _primitives.isName)(type)) {
-        throw new _util.FormatError('invalid font Subtype');
+        throw new _util.FormatError("invalid font Subtype");
       }
 
       var composite = false;
       var uint8array;
 
-      if (type.name === 'Type0') {
-        var df = dict.get('DescendantFonts');
+      if (type.name === "Type0") {
+        var df = dict.get("DescendantFonts");
 
         if (!df) {
-          throw new _util.FormatError('Descendant fonts are not specified');
+          throw new _util.FormatError("Descendant fonts are not specified");
         }
 
         dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;
-        type = dict.get('Subtype');
+        type = dict.get("Subtype");
 
         if (!(0, _primitives.isName)(type)) {
-          throw new _util.FormatError('invalid font Subtype');
+          throw new _util.FormatError("invalid font Subtype");
         }
 
         composite = true;
       }
 
-      var descriptor = dict.get('FontDescriptor');
+      var descriptor = dict.get("FontDescriptor");
 
       if (descriptor) {
         var hash = new _murmurhash.MurmurHash3_64();
-        var encoding = baseDict.getRaw('Encoding');
+        var encoding = baseDict.getRaw("Encoding");
 
         if ((0, _primitives.isName)(encoding)) {
           hash.update(encoding.name);
@@ -33122,10 +22665,10 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           }
         }
 
-        var firstChar = dict.get('FirstChar') || 0;
-        var lastChar = dict.get('LastChar') || (composite ? 0xFFFF : 0xFF);
-        hash.update("".concat(firstChar, "-").concat(lastChar));
-        var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');
+        const firstChar = dict.get("FirstChar") || 0;
+        const lastChar = dict.get("LastChar") || (composite ? 0xffff : 0xff);
+        hash.update(`${firstChar}-${lastChar}`);
+        var toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode");
 
         if ((0, _primitives.isStream)(toUnicode)) {
           var stream = toUnicode.str || toUnicode;
@@ -33135,7 +22678,7 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
           hash.update(toUnicode.name);
         }
 
-        var widths = dict.get('Widths') || baseDict.get('Widths');
+        var widths = dict.get("Widths") || baseDict.get("Widths");
 
         if (widths) {
           uint8array = new Uint8Array(new Uint32Array(widths).buffer);
@@ -33144,61 +22687,72 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       }
 
       return {
-        descriptor: descriptor,
-        dict: dict,
-        baseDict: baseDict,
-        composite: composite,
+        descriptor,
+        dict,
+        baseDict,
+        composite,
         type: type.name,
-        hash: hash ? hash.hexdigest() : ''
+        hash: hash ? hash.hexdigest() : ""
       };
     },
     translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {
-      var _this10 = this;
-
       var baseDict = preEvaluatedFont.baseDict;
       var dict = preEvaluatedFont.dict;
       var composite = preEvaluatedFont.composite;
       var descriptor = preEvaluatedFont.descriptor;
       var type = preEvaluatedFont.type;
-      var maxCharIndex = composite ? 0xFFFF : 0xFF;
+      var maxCharIndex = composite ? 0xffff : 0xff;
       var properties;
+      const firstChar = dict.get("FirstChar") || 0;
+      const lastChar = dict.get("LastChar") || maxCharIndex;
 
       if (!descriptor) {
-        if (type === 'Type3') {
+        if (type === "Type3") {
           descriptor = new _primitives.Dict(null);
-          descriptor.set('FontName', _primitives.Name.get(type));
-          descriptor.set('FontBBox', dict.getArray('FontBBox'));
+          descriptor.set("FontName", _primitives.Name.get(type));
+          descriptor.set("FontBBox", dict.getArray("FontBBox") || [0, 0, 0, 0]);
         } else {
-          var baseFontName = dict.get('BaseFont');
+          var baseFontName = dict.get("BaseFont");
 
           if (!(0, _primitives.isName)(baseFontName)) {
-            throw new _util.FormatError('Base font is not specified');
+            throw new _util.FormatError("Base font is not specified");
           }
 
-          baseFontName = baseFontName.name.replace(/[,_]/g, '-');
+          baseFontName = baseFontName.name.replace(/[,_]/g, "-");
           var metrics = this.getBaseFontMetrics(baseFontName);
-          var fontNameWoStyle = baseFontName.split('-')[0];
+          var fontNameWoStyle = baseFontName.split("-")[0];
           var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace 
? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? 
_fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);
           properties = {
-            type: type,
+            type,
             name: baseFontName,
             widths: metrics.widths,
             defaultWidth: metrics.defaultWidth,
-            flags: flags,
-            firstChar: 0,
-            lastChar: maxCharIndex
+            flags,
+            firstChar,
+            lastChar
           };
-          return this.extractDataStructures(dict, dict, properties).then(function (properties) {
-            properties.widths = _this10.buildCharCodeToWidth(metrics.widths, properties);
+          const widths = dict.get("Widths");
+          return this.extractDataStructures(dict, dict, properties).then(properties => {
+            if (widths) {
+              const glyphWidths = [];
+              let j = firstChar;
+
+              for (let i = 0, ii = widths.length; i < ii; i++) {
+                glyphWidths[j++] = this.xref.fetchIfRef(widths[i]);
+              }
+
+              properties.widths = glyphWidths;
+            } else {
+              properties.widths = this.buildCharCodeToWidth(metrics.widths, properties);
+            }
+
             return new _fonts.Font(baseFontName, null, properties);
           });
         }
       }
 
-      var firstChar = dict.get('FirstChar') || 0;
-      var lastChar = dict.get('LastChar') || maxCharIndex;
-      var fontName = descriptor.get('FontName');
-      var baseFont = dict.get('BaseFont');
+      var fontName = descriptor.get("FontName");
+      var baseFont = dict.get("BaseFont");
 
       if ((0, _util.isString)(fontName)) {
         fontName = _primitives.Name.get(fontName);
@@ -33208,12 +22762,12 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         baseFont = _primitives.Name.get(baseFont);
       }
 
-      if (type !== 'Type3') {
+      if (type !== "Type3") {
         var fontNameStr = fontName && fontName.name;
         var baseFontStr = baseFont && baseFont.name;
 
         if (fontNameStr !== baseFontStr) {
-          (0, _util.info)("The FontDescriptor's FontName is \"".concat(fontNameStr, "\" but ") + "should be 
the same as the Font's BaseFont \"".concat(baseFontStr, "\"."));
+          (0, _util.info)(`The FontDescriptor\'s FontName is "${fontNameStr}" but ` + `should be the same as 
the Font\'s BaseFont "${baseFontStr}".`);
 
           if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {
             fontName = baseFont;
@@ -33224,53 +22778,53 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
       fontName = fontName || baseFont;
 
       if (!(0, _primitives.isName)(fontName)) {
-        throw new _util.FormatError('invalid font name');
+        throw new _util.FormatError("invalid font name");
       }
 
-      var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');
+      var fontFile = descriptor.get("FontFile", "FontFile2", "FontFile3");
 
       if (fontFile) {
         if (fontFile.dict) {
-          var subtype = fontFile.dict.get('Subtype');
+          var subtype = fontFile.dict.get("Subtype");
 
           if (subtype) {
             subtype = subtype.name;
           }
 
-          var length1 = fontFile.dict.get('Length1');
-          var length2 = fontFile.dict.get('Length2');
-          var length3 = fontFile.dict.get('Length3');
+          var length1 = fontFile.dict.get("Length1");
+          var length2 = fontFile.dict.get("Length2");
+          var length3 = fontFile.dict.get("Length3");
         }
       }
 
       properties = {
-        type: type,
+        type,
         name: fontName.name,
-        subtype: subtype,
+        subtype,
         file: fontFile,
-        length1: length1,
-        length2: length2,
-        length3: length3,
+        length1,
+        length2,
+        length3,
         loadedName: baseDict.loadedName,
-        composite: composite,
+        composite,
         wideChars: composite,
         fixedPitch: false,
-        fontMatrix: dict.getArray('FontMatrix') || _util.FONT_IDENTITY_MATRIX,
+        fontMatrix: dict.getArray("FontMatrix") || _util.FONT_IDENTITY_MATRIX,
         firstChar: firstChar || 0,
         lastChar: lastChar || maxCharIndex,
-        bbox: descriptor.getArray('FontBBox'),
-        ascent: descriptor.get('Ascent'),
-        descent: descriptor.get('Descent'),
-        xHeight: descriptor.get('XHeight'),
-        capHeight: descriptor.get('CapHeight'),
-        flags: descriptor.get('Flags'),
-        italicAngle: descriptor.get('ItalicAngle'),
+        bbox: descriptor.getArray("FontBBox"),
+        ascent: descriptor.get("Ascent"),
+        descent: descriptor.get("Descent"),
+        xHeight: descriptor.get("XHeight"),
+        capHeight: descriptor.get("CapHeight"),
+        flags: descriptor.get("Flags"),
+        italicAngle: descriptor.get("ItalicAngle"),
         isType3Font: false
       };
       var cMapPromise;
 
       if (composite) {
-        var cidEncoding = baseDict.get('Encoding');
+        var cidEncoding = baseDict.get("Encoding");
 
         if ((0, _primitives.isName)(cidEncoding)) {
           properties.cidEncoding = cidEncoding.name;
@@ -33288,12 +22842,12 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         cMapPromise = Promise.resolve(undefined);
       }
 
-      return cMapPromise.then(function () {
-        return _this10.extractDataStructures(dict, baseDict, properties);
-      }).then(function (properties) {
-        _this10.extractWidths(dict, descriptor, properties);
+      return cMapPromise.then(() => {
+        return this.extractDataStructures(dict, baseDict, properties);
+      }).then(properties => {
+        this.extractWidths(dict, descriptor, properties);
 
-        if (type === 'Type3') {
+        if (type === "Type3") {
           properties.isType3Font = true;
         }
 
@@ -33308,39 +22862,32 @@ var PartialEvaluator = function PartialEvaluatorClosure() {
         return;
       }
 
-      handler.send('commonobj', ["".concat(font.loadedName, "_path_").concat(fontChar), 'FontPath', 
font.renderer.getPathJs(fontChar)]);
+      handler.send("commonobj", [`${font.loadedName}_path_${fontChar}`, "FontPath", 
font.renderer.getPathJs(fontChar)]);
     }
 
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
-
-    try {
-      for (var _iterator = glyphs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-        var glyph = _step.value;
-        buildPath(glyph.fontChar);
-        var accent = glyph.accent;
+    for (const glyph of glyphs) {
+      buildPath(glyph.fontChar);
+      const accent = glyph.accent;
 
-        if (accent && accent.fontChar) {
-          buildPath(accent.fontChar);
-        }
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
+      if (accent && accent.fontChar) {
+        buildPath(accent.fontChar);
       }
     }
   };
 
+  PartialEvaluator.getFallbackFontDict = function () {
+    if (this._fallbackFontDict) {
+      return this._fallbackFontDict;
+    }
+
+    const dict = new _primitives.Dict();
+    dict.set("BaseFont", _primitives.Name.get("PDFJS-FallbackFont"));
+    dict.set("Type", _primitives.Name.get("FallbackType"));
+    dict.set("Subtype", _primitives.Name.get("FallbackType"));
+    dict.set("Encoding", _primitives.Name.get("WinAnsiEncoding"));
+    return this._fallbackFontDict = dict;
+  };
+
   return PartialEvaluator;
 }();
 
@@ -33356,26 +22903,28 @@ var TranslatedFont = function TranslatedFontClosure() {
   }
 
   TranslatedFont.prototype = {
-    send: function send(handler) {
+    send(handler) {
       if (this.sent) {
         return;
       }
 
       this.sent = true;
-      handler.send('commonobj', [this.loadedName, 'Font', this.font.exportData()]);
+      handler.send("commonobj", [this.loadedName, "Font", this.font.exportData()]);
     },
-    fallback: function fallback(handler) {
+
+    fallback(handler) {
       if (!this.font.data) {
         return;
       }
 
       this.font.disableFontFace = true;
-      var glyphs = this.font.glyphCacheValues;
+      const glyphs = this.font.glyphCacheValues;
       PartialEvaluator.buildFontPaths(this.font, glyphs, handler);
     },
-    loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {
+
+    loadType3Data(evaluator, resources, parentOperatorList, task) {
       if (!this.font.isType3Font) {
-        throw new Error('Must be a Type3 font.');
+        throw new Error("Must be a Type3 font.");
       }
 
       if (this.type3Loaded) {
@@ -33389,34 +22938,30 @@ var TranslatedFont = function TranslatedFontClosure() {
       type3Evaluator.parsingType3Font = true;
       var translatedFont = this.font;
       var loadCharProcsPromise = Promise.resolve();
-      var charProcs = this.dict.get('CharProcs');
-      var fontResources = this.dict.get('Resources') || resources;
+      var charProcs = this.dict.get("CharProcs");
+      var fontResources = this.dict.get("Resources") || resources;
       var charProcKeys = charProcs.getKeys();
       var charProcOperatorList = Object.create(null);
 
-      var _loop2 = function _loop2() {
-        var key = charProcKeys[i];
+      for (var i = 0, n = charProcKeys.length; i < n; ++i) {
+        const key = charProcKeys[i];
         loadCharProcsPromise = loadCharProcsPromise.then(function () {
           var glyphStream = charProcs.get(key);
           var operatorList = new _operator_list.OperatorList();
           return type3Evaluator.getOperatorList({
             stream: glyphStream,
-            task: task,
+            task,
             resources: fontResources,
-            operatorList: operatorList
+            operatorList
           }).then(function () {
             charProcOperatorList[key] = operatorList.getIR();
             parentOperatorList.addDependencies(operatorList.dependencies);
-          })["catch"](function (reason) {
-            (0, _util.warn)("Type3 font resource \"".concat(key, "\" is not available."));
+          }).catch(function (reason) {
+            (0, _util.warn)(`Type3 font resource "${key}" is not available.`);
             var operatorList = new _operator_list.OperatorList();
             charProcOperatorList[key] = operatorList.getIR();
           });
         });
-      };
-
-      for (var i = 0, n = charProcKeys.length; i < n; ++i) {
-        _loop2();
       }
 
       this.type3Loaded = loadCharProcsPromise.then(function () {
@@ -33424,6 +22969,7 @@ var TranslatedFont = function TranslatedFontClosure() {
       });
       return this.type3Loaded;
     }
+
   };
   return TranslatedFont;
 }();
@@ -33435,21 +22981,24 @@ var StateManager = function StateManagerClosure() {
   }
 
   StateManager.prototype = {
-    save: function save() {
+    save() {
       var old = this.state;
       this.stateStack.push(this.state);
       this.state = old.clone();
     },
-    restore: function restore() {
+
+    restore() {
       var prev = this.stateStack.pop();
 
       if (prev) {
         this.state = prev;
       }
     },
-    transform: function transform(args) {
+
+    transform(args) {
       this.state.ctm = _util.Util.transform(this.state.ctm, args);
     }
+
   };
   return StateManager;
 }();
@@ -33575,232 +23124,232 @@ var EvalState = function EvalStateClosure() {
 
 var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
   var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['w'] = {
+    t["w"] = {
       id: _util.OPS.setLineWidth,
       numArgs: 1,
       variableArgs: false
     };
-    t['J'] = {
+    t["J"] = {
       id: _util.OPS.setLineCap,
       numArgs: 1,
       variableArgs: false
     };
-    t['j'] = {
+    t["j"] = {
       id: _util.OPS.setLineJoin,
       numArgs: 1,
       variableArgs: false
     };
-    t['M'] = {
+    t["M"] = {
       id: _util.OPS.setMiterLimit,
       numArgs: 1,
       variableArgs: false
     };
-    t['d'] = {
+    t["d"] = {
       id: _util.OPS.setDash,
       numArgs: 2,
       variableArgs: false
     };
-    t['ri'] = {
+    t["ri"] = {
       id: _util.OPS.setRenderingIntent,
       numArgs: 1,
       variableArgs: false
     };
-    t['i'] = {
+    t["i"] = {
       id: _util.OPS.setFlatness,
       numArgs: 1,
       variableArgs: false
     };
-    t['gs'] = {
+    t["gs"] = {
       id: _util.OPS.setGState,
       numArgs: 1,
       variableArgs: false
     };
-    t['q'] = {
+    t["q"] = {
       id: _util.OPS.save,
       numArgs: 0,
       variableArgs: false
     };
-    t['Q'] = {
+    t["Q"] = {
       id: _util.OPS.restore,
       numArgs: 0,
       variableArgs: false
     };
-    t['cm'] = {
+    t["cm"] = {
       id: _util.OPS.transform,
       numArgs: 6,
       variableArgs: false
     };
-    t['m'] = {
+    t["m"] = {
       id: _util.OPS.moveTo,
       numArgs: 2,
       variableArgs: false
     };
-    t['l'] = {
+    t["l"] = {
       id: _util.OPS.lineTo,
       numArgs: 2,
       variableArgs: false
     };
-    t['c'] = {
+    t["c"] = {
       id: _util.OPS.curveTo,
       numArgs: 6,
       variableArgs: false
     };
-    t['v'] = {
+    t["v"] = {
       id: _util.OPS.curveTo2,
       numArgs: 4,
       variableArgs: false
     };
-    t['y'] = {
+    t["y"] = {
       id: _util.OPS.curveTo3,
       numArgs: 4,
       variableArgs: false
     };
-    t['h'] = {
+    t["h"] = {
       id: _util.OPS.closePath,
       numArgs: 0,
       variableArgs: false
     };
-    t['re'] = {
+    t["re"] = {
       id: _util.OPS.rectangle,
       numArgs: 4,
       variableArgs: false
     };
-    t['S'] = {
+    t["S"] = {
       id: _util.OPS.stroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['s'] = {
+    t["s"] = {
       id: _util.OPS.closeStroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['f'] = {
+    t["f"] = {
       id: _util.OPS.fill,
       numArgs: 0,
       variableArgs: false
     };
-    t['F'] = {
+    t["F"] = {
       id: _util.OPS.fill,
       numArgs: 0,
       variableArgs: false
     };
-    t['f*'] = {
+    t["f*"] = {
       id: _util.OPS.eoFill,
       numArgs: 0,
       variableArgs: false
     };
-    t['B'] = {
+    t["B"] = {
       id: _util.OPS.fillStroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['B*'] = {
+    t["B*"] = {
       id: _util.OPS.eoFillStroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['b'] = {
+    t["b"] = {
       id: _util.OPS.closeFillStroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['b*'] = {
+    t["b*"] = {
       id: _util.OPS.closeEOFillStroke,
       numArgs: 0,
       variableArgs: false
     };
-    t['n'] = {
+    t["n"] = {
       id: _util.OPS.endPath,
       numArgs: 0,
       variableArgs: false
     };
-    t['W'] = {
+    t["W"] = {
       id: _util.OPS.clip,
       numArgs: 0,
       variableArgs: false
     };
-    t['W*'] = {
+    t["W*"] = {
       id: _util.OPS.eoClip,
       numArgs: 0,
       variableArgs: false
     };
-    t['BT'] = {
+    t["BT"] = {
       id: _util.OPS.beginText,
       numArgs: 0,
       variableArgs: false
     };
-    t['ET'] = {
+    t["ET"] = {
       id: _util.OPS.endText,
       numArgs: 0,
       variableArgs: false
     };
-    t['Tc'] = {
+    t["Tc"] = {
       id: _util.OPS.setCharSpacing,
       numArgs: 1,
       variableArgs: false
     };
-    t['Tw'] = {
+    t["Tw"] = {
       id: _util.OPS.setWordSpacing,
       numArgs: 1,
       variableArgs: false
     };
-    t['Tz'] = {
+    t["Tz"] = {
       id: _util.OPS.setHScale,
       numArgs: 1,
       variableArgs: false
     };
-    t['TL'] = {
+    t["TL"] = {
       id: _util.OPS.setLeading,
       numArgs: 1,
       variableArgs: false
     };
-    t['Tf'] = {
+    t["Tf"] = {
       id: _util.OPS.setFont,
       numArgs: 2,
       variableArgs: false
     };
-    t['Tr'] = {
+    t["Tr"] = {
       id: _util.OPS.setTextRenderingMode,
       numArgs: 1,
       variableArgs: false
     };
-    t['Ts'] = {
+    t["Ts"] = {
       id: _util.OPS.setTextRise,
       numArgs: 1,
       variableArgs: false
     };
-    t['Td'] = {
+    t["Td"] = {
       id: _util.OPS.moveText,
       numArgs: 2,
       variableArgs: false
     };
-    t['TD'] = {
+    t["TD"] = {
       id: _util.OPS.setLeadingMoveText,
       numArgs: 2,
       variableArgs: false
     };
-    t['Tm'] = {
+    t["Tm"] = {
       id: _util.OPS.setTextMatrix,
       numArgs: 6,
       variableArgs: false
     };
-    t['T*'] = {
+    t["T*"] = {
       id: _util.OPS.nextLine,
       numArgs: 0,
       variableArgs: false
     };
-    t['Tj'] = {
+    t["Tj"] = {
       id: _util.OPS.showText,
       numArgs: 1,
       variableArgs: false
     };
-    t['TJ'] = {
+    t["TJ"] = {
       id: _util.OPS.showSpacedText,
       numArgs: 1,
       variableArgs: false
     };
-    t['\''] = {
+    t["'"] = {
       id: _util.OPS.nextLineShowText,
       numArgs: 1,
       variableArgs: false
@@ -33810,154 +23359,154 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
       numArgs: 3,
       variableArgs: false
     };
-    t['d0'] = {
+    t["d0"] = {
       id: _util.OPS.setCharWidth,
       numArgs: 2,
       variableArgs: false
     };
-    t['d1'] = {
+    t["d1"] = {
       id: _util.OPS.setCharWidthAndBounds,
       numArgs: 6,
       variableArgs: false
     };
-    t['CS'] = {
+    t["CS"] = {
       id: _util.OPS.setStrokeColorSpace,
       numArgs: 1,
       variableArgs: false
     };
-    t['cs'] = {
+    t["cs"] = {
       id: _util.OPS.setFillColorSpace,
       numArgs: 1,
       variableArgs: false
     };
-    t['SC'] = {
+    t["SC"] = {
       id: _util.OPS.setStrokeColor,
       numArgs: 4,
       variableArgs: true
     };
-    t['SCN'] = {
+    t["SCN"] = {
       id: _util.OPS.setStrokeColorN,
       numArgs: 33,
       variableArgs: true
     };
-    t['sc'] = {
+    t["sc"] = {
       id: _util.OPS.setFillColor,
       numArgs: 4,
       variableArgs: true
     };
-    t['scn'] = {
+    t["scn"] = {
       id: _util.OPS.setFillColorN,
       numArgs: 33,
       variableArgs: true
     };
-    t['G'] = {
+    t["G"] = {
       id: _util.OPS.setStrokeGray,
       numArgs: 1,
       variableArgs: false
     };
-    t['g'] = {
+    t["g"] = {
       id: _util.OPS.setFillGray,
       numArgs: 1,
       variableArgs: false
     };
-    t['RG'] = {
+    t["RG"] = {
       id: _util.OPS.setStrokeRGBColor,
       numArgs: 3,
       variableArgs: false
     };
-    t['rg'] = {
+    t["rg"] = {
       id: _util.OPS.setFillRGBColor,
       numArgs: 3,
       variableArgs: false
     };
-    t['K'] = {
+    t["K"] = {
       id: _util.OPS.setStrokeCMYKColor,
       numArgs: 4,
       variableArgs: false
     };
-    t['k'] = {
+    t["k"] = {
       id: _util.OPS.setFillCMYKColor,
       numArgs: 4,
       variableArgs: false
     };
-    t['sh'] = {
+    t["sh"] = {
       id: _util.OPS.shadingFill,
       numArgs: 1,
       variableArgs: false
     };
-    t['BI'] = {
+    t["BI"] = {
       id: _util.OPS.beginInlineImage,
       numArgs: 0,
       variableArgs: false
     };
-    t['ID'] = {
+    t["ID"] = {
       id: _util.OPS.beginImageData,
       numArgs: 0,
       variableArgs: false
     };
-    t['EI'] = {
+    t["EI"] = {
       id: _util.OPS.endInlineImage,
       numArgs: 1,
       variableArgs: false
     };
-    t['Do'] = {
+    t["Do"] = {
       id: _util.OPS.paintXObject,
       numArgs: 1,
       variableArgs: false
     };
-    t['MP'] = {
+    t["MP"] = {
       id: _util.OPS.markPoint,
       numArgs: 1,
       variableArgs: false
     };
-    t['DP'] = {
+    t["DP"] = {
       id: _util.OPS.markPointProps,
       numArgs: 2,
       variableArgs: false
     };
-    t['BMC'] = {
+    t["BMC"] = {
       id: _util.OPS.beginMarkedContent,
       numArgs: 1,
       variableArgs: false
     };
-    t['BDC'] = {
+    t["BDC"] = {
       id: _util.OPS.beginMarkedContentProps,
       numArgs: 2,
       variableArgs: false
     };
-    t['EMC'] = {
+    t["EMC"] = {
       id: _util.OPS.endMarkedContent,
       numArgs: 0,
       variableArgs: false
     };
-    t['BX'] = {
+    t["BX"] = {
       id: _util.OPS.beginCompat,
       numArgs: 0,
       variableArgs: false
     };
-    t['EX'] = {
+    t["EX"] = {
       id: _util.OPS.endCompat,
       numArgs: 0,
       variableArgs: false
     };
-    t['BM'] = null;
-    t['BD'] = null;
-    t['true'] = null;
-    t['fa'] = null;
-    t['fal'] = null;
-    t['fals'] = null;
-    t['false'] = null;
-    t['nu'] = null;
-    t['nul'] = null;
-    t['null'] = null;
+    t["BM"] = null;
+    t["BD"] = null;
+    t["true"] = null;
+    t["fa"] = null;
+    t["fal"] = null;
+    t["fals"] = null;
+    t["false"] = null;
+    t["nu"] = null;
+    t["nul"] = null;
+    t["null"] = null;
   });
-  var MAX_INVALID_PATH_OPS = 20;
+  const MAX_INVALID_PATH_OPS = 20;
 
   function EvaluatorPreprocessor(stream, xref, stateManager) {
     this.opMap = getOPMap();
     this.parser = new _parser.Parser({
       lexer: new _parser.Lexer(stream, this.opMap),
-      xref: xref
+      xref
     });
     this.stateManager = stateManager;
     this.nonProcessedArgs = [];
@@ -33980,7 +23529,7 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
           var opSpec = this.opMap[cmd];
 
           if (!opSpec) {
-            (0, _util.warn)("Unknown command \"".concat(cmd, "\"."));
+            (0, _util.warn)(`Unknown command "${cmd}".`);
             continue;
           }
 
@@ -34008,13 +23557,13 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
             }
 
             if (argsLength < numArgs) {
-              var partialMsg = "command ".concat(cmd, ": expected ").concat(numArgs, " args, ") + "but 
received ".concat(argsLength, " args.");
+              const partialMsg = `command ${cmd}: expected ${numArgs} args, ` + `but received ${argsLength} 
args.`;
 
               if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > 
MAX_INVALID_PATH_OPS) {
-                throw new _util.FormatError("Invalid ".concat(partialMsg));
+                throw new _util.FormatError(`Invalid ${partialMsg}`);
               }
 
-              (0, _util.warn)("Skipping ".concat(partialMsg));
+              (0, _util.warn)(`Skipping ${partialMsg}`);
 
               if (args !== null) {
                 args.length = 0;
@@ -34023,7 +23572,7 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
               continue;
             }
           } else if (argsLength > numArgs) {
-            (0, _util.info)("Command ".concat(cmd, ": expected [0, ").concat(numArgs, "] args, ") + "but 
received ".concat(argsLength, " args."));
+            (0, _util.info)(`Command ${cmd}: expected [0, ${numArgs}] args, ` + `but received ${argsLength} 
args.`);
           }
 
           this.preprocessCommand(fn, args);
@@ -34044,7 +23593,7 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
           args.push(obj);
 
           if (args.length > 33) {
-            throw new _util.FormatError('Too many arguments');
+            throw new _util.FormatError("Too many arguments");
           }
         }
       }
@@ -34069,7 +23618,7 @@ var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
 }();
 
 /***/ }),
-/* 205 */
+/* 26 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -34080,283 +23629,218 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _parser = __w_pdfjs_require__(189);
-
-var _core_utils = __w_pdfjs_require__(186);
+var _util = __w_pdfjs_require__(2);
 
-var _stream = __w_pdfjs_require__(190);
+var _primitives = __w_pdfjs_require__(4);
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+var _parser = __w_pdfjs_require__(10);
 
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } return _assertThisInitialized(self); }
+var _core_utils = __w_pdfjs_require__(7);
 
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been 
initialised - super() hasn't been called"); } return self; }
+var _stream = __w_pdfjs_require__(11);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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 _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); return Constructor; }
-
-var BUILT_IN_CMAPS = ['Adobe-GB1-UCS2', 'Adobe-CNS1-UCS2', 'Adobe-Japan1-UCS2', 'Adobe-Korea1-UCS2', 
'78-EUC-H', '78-EUC-V', '78-H', '78-RKSJ-H', '78-RKSJ-V', '78-V', '78ms-RKSJ-H', '78ms-RKSJ-V', 
'83pv-RKSJ-H', '90ms-RKSJ-H', '90ms-RKSJ-V', '90msp-RKSJ-H', '90msp-RKSJ-V', '90pv-RKSJ-H', '90pv-RKSJ-V', 
'Add-H', 'Add-RKSJ-H', 'Add-RKSJ-V', 'Add-V', 'Adobe-CNS1-0', 'Adobe-CNS1-1', 'Adobe-CNS1-2', 'Adobe-CNS1-3', 
'Adobe-CNS1-4', 'Adobe-CNS1-5', 'Adobe-CNS1-6', 'Adobe-GB1-0', 'Adobe-GB1-1', 'Adobe-GB1-2', 'Adobe-GB1-3', 
'Adobe-GB1-4', 'Adobe-GB1-5', 'Adobe-Japan1-0', 'Adobe-Japan1-1', 'Adobe-Japan1-2', 'Adobe-Japan1-3', 
'Adobe-Japan1-4', 'Adobe-Japan1-5', 'Adobe-Japan1-6', 'Adobe-Korea1-0', 'Adobe-Korea1-1', 'Adobe-Korea1-2', 
'B5-H', 'B5-V', 'B5pc-H', 'B5pc-V', 'CNS-EUC-H', 'CNS-EUC-V', 'CNS1-H', 'CNS1-V', 'CNS2-H', 'CNS2-V', 
'ETHK-B5-H', 'ETHK-B5-V', 'ETen-B5-H', 'ETen-B5-V', 'ETenms-B5-H', 'ETenms-B5-V', 'EUC-H', 'EUC-V', 'Ext-H', 
'Ext-RKSJ-H', 'Ext-RKSJ-V', 'Ext-V', 'GB-EUC-H', 'GB-E
 UC-V', 'GB-H', 'GB-V', 'GBK-EUC-H', 'GBK-EUC-V', 'GBK2K-H', 'GBK2K-V', 'GBKp-EUC-H', 'GBKp-EUC-V', 
'GBT-EUC-H', 'GBT-EUC-V', 'GBT-H', 'GBT-V', 'GBTpc-EUC-H', 'GBTpc-EUC-V', 'GBpc-EUC-H', 'GBpc-EUC-V', 'H', 
'HKdla-B5-H', 'HKdla-B5-V', 'HKdlb-B5-H', 'HKdlb-B5-V', 'HKgccs-B5-H', 'HKgccs-B5-V', 'HKm314-B5-H', 
'HKm314-B5-V', 'HKm471-B5-H', 'HKm471-B5-V', 'HKscs-B5-H', 'HKscs-B5-V', 'Hankaku', 'Hiragana', 'KSC-EUC-H', 
'KSC-EUC-V', 'KSC-H', 'KSC-Johab-H', 'KSC-Johab-V', 'KSC-V', 'KSCms-UHC-H', 'KSCms-UHC-HW-H', 
'KSCms-UHC-HW-V', 'KSCms-UHC-V', 'KSCpc-EUC-H', 'KSCpc-EUC-V', 'Katakana', 'NWP-H', 'NWP-V', 'RKSJ-H', 
'RKSJ-V', 'Roman', 'UniCNS-UCS2-H', 'UniCNS-UCS2-V', 'UniCNS-UTF16-H', 'UniCNS-UTF16-V', 'UniCNS-UTF32-H', 
'UniCNS-UTF32-V', 'UniCNS-UTF8-H', 'UniCNS-UTF8-V', 'UniGB-UCS2-H', 'UniGB-UCS2-V', 'UniGB-UTF16-H', 
'UniGB-UTF16-V', 'UniGB-UTF32-H', 'UniGB-UTF32-V', 'UniGB-UTF8-H', 'UniGB-UTF8-V', 'UniJIS-UCS2-H', 
'UniJIS-UCS2-HW-H', 'UniJIS-UCS2-HW-V', 'UniJIS-UCS2-V', 'UniJIS-UTF16-H', '
 UniJIS-UTF16-V', 'UniJIS-UTF32-H', 'UniJIS-UTF32-V', 'UniJIS-UTF8-H', 'UniJIS-UTF8-V', 'UniJIS2004-UTF16-H', 
'UniJIS2004-UTF16-V', 'UniJIS2004-UTF32-H', 'UniJIS2004-UTF32-V', 'UniJIS2004-UTF8-H', 'UniJIS2004-UTF8-V', 
'UniJISPro-UCS2-HW-V', 'UniJISPro-UCS2-V', 'UniJISPro-UTF8-V', 'UniJISX0213-UTF32-H', 'UniJISX0213-UTF32-V', 
'UniJISX02132004-UTF32-H', 'UniJISX02132004-UTF32-V', 'UniKS-UCS2-H', 'UniKS-UCS2-V', 'UniKS-UTF16-H', 
'UniKS-UTF16-V', 'UniKS-UTF32-H', 'UniKS-UTF32-V', 'UniKS-UTF8-H', 'UniKS-UTF8-V', 'V', 'WP-Symbol'];
-
-var CMap =
-/*#__PURE__*/
-function () {
-  function CMap() {
-    var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-    _classCallCheck(this, CMap);
+var BUILT_IN_CMAPS = ["Adobe-GB1-UCS2", "Adobe-CNS1-UCS2", "Adobe-Japan1-UCS2", "Adobe-Korea1-UCS2", 
"78-EUC-H", "78-EUC-V", "78-H", "78-RKSJ-H", "78-RKSJ-V", "78-V", "78ms-RKSJ-H", "78ms-RKSJ-V", 
"83pv-RKSJ-H", "90ms-RKSJ-H", "90ms-RKSJ-V", "90msp-RKSJ-H", "90msp-RKSJ-V", "90pv-RKSJ-H", "90pv-RKSJ-V", 
"Add-H", "Add-RKSJ-H", "Add-RKSJ-V", "Add-V", "Adobe-CNS1-0", "Adobe-CNS1-1", "Adobe-CNS1-2", "Adobe-CNS1-3", 
"Adobe-CNS1-4", "Adobe-CNS1-5", "Adobe-CNS1-6", "Adobe-GB1-0", "Adobe-GB1-1", "Adobe-GB1-2", "Adobe-GB1-3", 
"Adobe-GB1-4", "Adobe-GB1-5", "Adobe-Japan1-0", "Adobe-Japan1-1", "Adobe-Japan1-2", "Adobe-Japan1-3", 
"Adobe-Japan1-4", "Adobe-Japan1-5", "Adobe-Japan1-6", "Adobe-Korea1-0", "Adobe-Korea1-1", "Adobe-Korea1-2", 
"B5-H", "B5-V", "B5pc-H", "B5pc-V", "CNS-EUC-H", "CNS-EUC-V", "CNS1-H", "CNS1-V", "CNS2-H", "CNS2-V", 
"ETHK-B5-H", "ETHK-B5-V", "ETen-B5-H", "ETen-B5-V", "ETenms-B5-H", "ETenms-B5-V", "EUC-H", "EUC-V", "Ext-H", 
"Ext-RKSJ-H", "Ext-RKSJ-V", "Ext-V", "GB-EUC-H", "GB-E
 UC-V", "GB-H", "GB-V", "GBK-EUC-H", "GBK-EUC-V", "GBK2K-H", "GBK2K-V", "GBKp-EUC-H", "GBKp-EUC-V", 
"GBT-EUC-H", "GBT-EUC-V", "GBT-H", "GBT-V", "GBTpc-EUC-H", "GBTpc-EUC-V", "GBpc-EUC-H", "GBpc-EUC-V", "H", 
"HKdla-B5-H", "HKdla-B5-V", "HKdlb-B5-H", "HKdlb-B5-V", "HKgccs-B5-H", "HKgccs-B5-V", "HKm314-B5-H", 
"HKm314-B5-V", "HKm471-B5-H", "HKm471-B5-V", "HKscs-B5-H", "HKscs-B5-V", "Hankaku", "Hiragana", "KSC-EUC-H", 
"KSC-EUC-V", "KSC-H", "KSC-Johab-H", "KSC-Johab-V", "KSC-V", "KSCms-UHC-H", "KSCms-UHC-HW-H", 
"KSCms-UHC-HW-V", "KSCms-UHC-V", "KSCpc-EUC-H", "KSCpc-EUC-V", "Katakana", "NWP-H", "NWP-V", "RKSJ-H", 
"RKSJ-V", "Roman", "UniCNS-UCS2-H", "UniCNS-UCS2-V", "UniCNS-UTF16-H", "UniCNS-UTF16-V", "UniCNS-UTF32-H", 
"UniCNS-UTF32-V", "UniCNS-UTF8-H", "UniCNS-UTF8-V", "UniGB-UCS2-H", "UniGB-UCS2-V", "UniGB-UTF16-H", 
"UniGB-UTF16-V", "UniGB-UTF32-H", "UniGB-UTF32-V", "UniGB-UTF8-H", "UniGB-UTF8-V", "UniJIS-UCS2-H", 
"UniJIS-UCS2-HW-H", "UniJIS-UCS2-HW-V", "UniJIS-UCS2-V", "UniJIS-UTF16-H", "
 UniJIS-UTF16-V", "UniJIS-UTF32-H", "UniJIS-UTF32-V", "UniJIS-UTF8-H", "UniJIS-UTF8-V", "UniJIS2004-UTF16-H", 
"UniJIS2004-UTF16-V", "UniJIS2004-UTF32-H", "UniJIS2004-UTF32-V", "UniJIS2004-UTF8-H", "UniJIS2004-UTF8-V", 
"UniJISPro-UCS2-HW-V", "UniJISPro-UCS2-V", "UniJISPro-UTF8-V", "UniJISX0213-UTF32-H", "UniJISX0213-UTF32-V", 
"UniJISX02132004-UTF32-H", "UniJISX02132004-UTF32-V", "UniKS-UCS2-H", "UniKS-UCS2-V", "UniKS-UTF16-H", 
"UniKS-UTF16-V", "UniKS-UTF32-H", "UniKS-UTF32-V", "UniKS-UTF8-H", "UniKS-UTF8-V", "V", "WP-Symbol"];
 
+class CMap {
+  constructor(builtInCMap = false) {
     this.codespaceRanges = [[], [], [], []];
     this.numCodespaceRanges = 0;
     this._map = [];
-    this.name = '';
+    this.name = "";
     this.vertical = false;
     this.useCMap = null;
     this.builtInCMap = builtInCMap;
   }
 
-  _createClass(CMap, [{
-    key: "addCodespaceRange",
-    value: function addCodespaceRange(n, low, high) {
-      this.codespaceRanges[n - 1].push(low, high);
-      this.numCodespaceRanges++;
+  addCodespaceRange(n, low, high) {
+    this.codespaceRanges[n - 1].push(low, high);
+    this.numCodespaceRanges++;
+  }
+
+  mapCidRange(low, high, dstLow) {
+    while (low <= high) {
+      this._map[low++] = dstLow++;
     }
-  }, {
-    key: "mapCidRange",
-    value: function mapCidRange(low, high, dstLow) {
-      while (low <= high) {
-        this._map[low++] = dstLow++;
-      }
+  }
+
+  mapBfRange(low, high, dstLow) {
+    var lastByte = dstLow.length - 1;
+
+    while (low <= high) {
+      this._map[low++] = dstLow;
+      dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);
     }
-  }, {
-    key: "mapBfRange",
-    value: function mapBfRange(low, high, dstLow) {
-      var lastByte = dstLow.length - 1;
+  }
 
-      while (low <= high) {
-        this._map[low++] = dstLow;
-        dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);
-      }
+  mapBfRangeToArray(low, high, array) {
+    const ii = array.length;
+    let i = 0;
+
+    while (low <= high && i < ii) {
+      this._map[low] = array[i++];
+      ++low;
     }
-  }, {
-    key: "mapBfRangeToArray",
-    value: function mapBfRangeToArray(low, high, array) {
-      var i = 0,
-          ii = array.length;
+  }
+
+  mapOne(src, dst) {
+    this._map[src] = dst;
+  }
 
-      while (low <= high && i < ii) {
-        this._map[low] = array[i++];
-        ++low;
+  lookup(code) {
+    return this._map[code];
+  }
+
+  contains(code) {
+    return this._map[code] !== undefined;
+  }
+
+  forEach(callback) {
+    const map = this._map;
+    const length = map.length;
+
+    if (length <= 0x10000) {
+      for (let i = 0; i < length; i++) {
+        if (map[i] !== undefined) {
+          callback(i, map[i]);
+        }
+      }
+    } else {
+      for (const i in map) {
+        callback(i, map[i]);
       }
     }
-  }, {
-    key: "mapOne",
-    value: function mapOne(src, dst) {
-      this._map[src] = dst;
-    }
-  }, {
-    key: "lookup",
-    value: function lookup(code) {
-      return this._map[code];
-    }
-  }, {
-    key: "contains",
-    value: function contains(code) {
-      return this._map[code] !== undefined;
+  }
+
+  charCodeOf(value) {
+    const map = this._map;
+
+    if (map.length <= 0x10000) {
+      return map.indexOf(value);
     }
-  }, {
-    key: "forEach",
-    value: function forEach(callback) {
-      var map = this._map;
-      var length = map.length;
 
-      if (length <= 0x10000) {
-        for (var i = 0; i < length; i++) {
-          if (map[i] !== undefined) {
-            callback(i, map[i]);
-          }
-        }
-      } else {
-        for (var _i in map) {
-          callback(_i, map[_i]);
-        }
+    for (const charCode in map) {
+      if (map[charCode] === value) {
+        return charCode | 0;
       }
     }
-  }, {
-    key: "charCodeOf",
-    value: function charCodeOf(value) {
-      var map = this._map;
 
-      if (map.length <= 0x10000) {
-        return map.indexOf(value);
-      }
+    return -1;
+  }
 
-      for (var charCode in map) {
-        if (map[charCode] === value) {
-          return charCode | 0;
-        }
-      }
+  getMap() {
+    return this._map;
+  }
 
-      return -1;
-    }
-  }, {
-    key: "getMap",
-    value: function getMap() {
-      return this._map;
-    }
-  }, {
-    key: "readCharCode",
-    value: function readCharCode(str, offset, out) {
-      var c = 0;
-      var codespaceRanges = this.codespaceRanges;
+  readCharCode(str, offset, out) {
+    let c = 0;
+    const codespaceRanges = this.codespaceRanges;
 
-      for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {
-        c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;
-        var codespaceRange = codespaceRanges[n];
+    for (let n = 0, nn = codespaceRanges.length; n < nn; n++) {
+      c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;
+      const codespaceRange = codespaceRanges[n];
 
-        for (var k = 0, kk = codespaceRange.length; k < kk;) {
-          var low = codespaceRange[k++];
-          var high = codespaceRange[k++];
+      for (let k = 0, kk = codespaceRange.length; k < kk;) {
+        const low = codespaceRange[k++];
+        const high = codespaceRange[k++];
 
-          if (c >= low && c <= high) {
-            out.charcode = c;
-            out.length = n + 1;
-            return;
-          }
+        if (c >= low && c <= high) {
+          out.charcode = c;
+          out.length = n + 1;
+          return;
         }
       }
+    }
+
+    out.charcode = 0;
+    out.length = 1;
+  }
 
-      out.charcode = 0;
-      out.length = 1;
+  get length() {
+    return this._map.length;
+  }
+
+  get isIdentityCMap() {
+    if (!(this.name === "Identity-H" || this.name === "Identity-V")) {
+      return false;
     }
-  }, {
-    key: "length",
-    get: function get() {
-      return this._map.length;
+
+    if (this._map.length !== 0x10000) {
+      return false;
     }
-  }, {
-    key: "isIdentityCMap",
-    get: function get() {
-      if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {
-        return false;
-      }
 
-      if (this._map.length !== 0x10000) {
+    for (let i = 0; i < 0x10000; i++) {
+      if (this._map[i] !== i) {
         return false;
       }
-
-      for (var i = 0; i < 0x10000; i++) {
-        if (this._map[i] !== i) {
-          return false;
-        }
-      }
-
-      return true;
     }
-  }]);
 
-  return CMap;
-}();
+    return true;
+  }
+
+}
 
 exports.CMap = CMap;
 
-var IdentityCMap =
-/*#__PURE__*/
-function (_CMap) {
-  _inherits(IdentityCMap, _CMap);
+class IdentityCMap extends CMap {
+  constructor(vertical, n) {
+    super();
+    this.vertical = vertical;
+    this.addCodespaceRange(n, 0, 0xffff);
+  }
 
-  function IdentityCMap(vertical, n) {
-    var _this;
+  mapCidRange(low, high, dstLow) {
+    (0, _util.unreachable)("should not call mapCidRange");
+  }
 
-    _classCallCheck(this, IdentityCMap);
+  mapBfRange(low, high, dstLow) {
+    (0, _util.unreachable)("should not call mapBfRange");
+  }
 
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));
-    _this.vertical = vertical;
+  mapBfRangeToArray(low, high, array) {
+    (0, _util.unreachable)("should not call mapBfRangeToArray");
+  }
 
-    _this.addCodespaceRange(n, 0, 0xffff);
+  mapOne(src, dst) {
+    (0, _util.unreachable)("should not call mapCidOne");
+  }
 
-    return _this;
+  lookup(code) {
+    return Number.isInteger(code) && code <= 0xffff ? code : undefined;
   }
 
-  _createClass(IdentityCMap, [{
-    key: "mapCidRange",
-    value: function mapCidRange(low, high, dstLow) {
-      (0, _util.unreachable)('should not call mapCidRange');
-    }
-  }, {
-    key: "mapBfRange",
-    value: function mapBfRange(low, high, dstLow) {
-      (0, _util.unreachable)('should not call mapBfRange');
-    }
-  }, {
-    key: "mapBfRangeToArray",
-    value: function mapBfRangeToArray(low, high, array) {
-      (0, _util.unreachable)('should not call mapBfRangeToArray');
-    }
-  }, {
-    key: "mapOne",
-    value: function mapOne(src, dst) {
-      (0, _util.unreachable)('should not call mapCidOne');
-    }
-  }, {
-    key: "lookup",
-    value: function lookup(code) {
-      return Number.isInteger(code) && code <= 0xffff ? code : undefined;
-    }
-  }, {
-    key: "contains",
-    value: function contains(code) {
-      return Number.isInteger(code) && code <= 0xffff;
-    }
-  }, {
-    key: "forEach",
-    value: function forEach(callback) {
-      for (var i = 0; i <= 0xffff; i++) {
-        callback(i, i);
-      }
-    }
-  }, {
-    key: "charCodeOf",
-    value: function charCodeOf(value) {
-      return Number.isInteger(value) && value <= 0xffff ? value : -1;
+  contains(code) {
+    return Number.isInteger(code) && code <= 0xffff;
+  }
+
+  forEach(callback) {
+    for (let i = 0; i <= 0xffff; i++) {
+      callback(i, i);
     }
-  }, {
-    key: "getMap",
-    value: function getMap() {
-      var map = new Array(0x10000);
+  }
 
-      for (var i = 0; i <= 0xffff; i++) {
-        map[i] = i;
-      }
+  charCodeOf(value) {
+    return Number.isInteger(value) && value <= 0xffff ? value : -1;
+  }
 
-      return map;
-    }
-  }, {
-    key: "length",
-    get: function get() {
-      return 0x10000;
-    }
-  }, {
-    key: "isIdentityCMap",
-    get: function get() {
-      (0, _util.unreachable)('should not access .isIdentityCMap');
+  getMap() {
+    const map = new Array(0x10000);
+
+    for (let i = 0; i <= 0xffff; i++) {
+      map[i] = i;
     }
-  }]);
 
-  return IdentityCMap;
-}(CMap);
+    return map;
+  }
+
+  get length() {
+    return 0x10000;
+  }
+
+  get isIdentityCMap() {
+    (0, _util.unreachable)("should not access .isIdentityCMap");
+  }
+
+}
 
 exports.IdentityCMap = IdentityCMap;
 
@@ -34414,14 +23898,15 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
   }
 
   BinaryCMapStream.prototype = {
-    readByte: function readByte() {
+    readByte() {
       if (this.pos >= this.end) {
         return -1;
       }
 
       return this.buffer[this.pos++];
     },
-    readNumber: function readNumber() {
+
+    readNumber() {
       var n = 0;
       var last;
 
@@ -34429,24 +23914,27 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         var b = this.readByte();
 
         if (b < 0) {
-          throw new _util.FormatError('unexpected EOF in bcmap');
+          throw new _util.FormatError("unexpected EOF in bcmap");
         }
 
         last = !(b & 0x80);
-        n = n << 7 | b & 0x7F;
+        n = n << 7 | b & 0x7f;
       } while (!last);
 
       return n;
     },
-    readSigned: function readSigned() {
+
+    readSigned() {
       var n = this.readNumber();
       return n & 1 ? ~(n >>> 1) : n >>> 1;
     },
-    readHex: function readHex(num, size) {
+
+    readHex(num, size) {
       num.set(this.buffer.subarray(this.pos, this.pos + size + 1));
       this.pos += size + 1;
     },
-    readHexNumber: function readHexNumber(num, size) {
+
+    readHexNumber(num, size) {
       var last;
       var stack = this.tmpBuf,
           sp = 0;
@@ -34455,11 +23943,11 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         var b = this.readByte();
 
         if (b < 0) {
-          throw new _util.FormatError('unexpected EOF in bcmap');
+          throw new _util.FormatError("unexpected EOF in bcmap");
         }
 
         last = !(b & 0x80);
-        stack[sp++] = b & 0x7F;
+        stack[sp++] = b & 0x7f;
       } while (!last);
 
       var i = size,
@@ -34478,7 +23966,8 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         bufferSize -= 8;
       }
     },
-    readHexSigned: function readHexSigned(num, size) {
+
+    readHexSigned(num, size) {
       this.readHexNumber(num, size);
       var sign = num[size] & 1 ? 255 : 0;
       var c = 0;
@@ -34488,9 +23977,10 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         num[i] = c >> 1 ^ sign;
       }
     },
-    readString: function readString() {
+
+    readString() {
       var len = this.readNumber();
-      var s = '';
+      var s = "";
 
       for (var i = 0; i < len; i++) {
         s += String.fromCharCode(this.readNumber());
@@ -34498,6 +23988,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
 
       return s;
     }
+
   };
 
   function processBinaryCMap(data, cMap, extend) {
@@ -34508,9 +23999,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
       var useCMap = null;
       var start = new Uint8Array(MAX_NUM_SIZE);
       var end = new Uint8Array(MAX_NUM_SIZE);
-
-      var _char = new Uint8Array(MAX_NUM_SIZE);
-
+      var char = new Uint8Array(MAX_NUM_SIZE);
       var charCode = new Uint8Array(MAX_NUM_SIZE);
       var tmp = new Uint8Array(MAX_NUM_SIZE);
       var code;
@@ -34520,7 +24009,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         var type = b >> 5;
 
         if (type === 7) {
-          switch (b & 0x1F) {
+          switch (b & 0x1f) {
             case 0:
               stream.readString();
               break;
@@ -34537,7 +24026,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
         var dataSize = b & 15;
 
         if (dataSize + 1 > MAX_NUM_SIZE) {
-          throw new Error('processBinaryCMap: Invalid dataSize.');
+          throw new Error("processBinaryCMap: Invalid dataSize.");
         }
 
         var ucs2DataSize = 1;
@@ -34580,20 +24069,20 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
             break;
 
           case 2:
-            stream.readHex(_char, dataSize);
+            stream.readHex(char, dataSize);
             code = stream.readNumber();
-            cMap.mapOne(hexToInt(_char, dataSize), code);
+            cMap.mapOne(hexToInt(char, dataSize), code);
 
             for (i = 1; i < subitemsCount; i++) {
-              incHex(_char, dataSize);
+              incHex(char, dataSize);
 
               if (!sequence) {
                 stream.readHexNumber(tmp, dataSize);
-                addHex(_char, tmp, dataSize);
+                addHex(char, tmp, dataSize);
               }
 
               code = stream.readSigned() + (code + 1);
-              cMap.mapOne(hexToInt(_char, dataSize), code);
+              cMap.mapOne(hexToInt(char, dataSize), code);
             }
 
             break;
@@ -34624,22 +24113,22 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
             break;
 
           case 4:
-            stream.readHex(_char, ucs2DataSize);
+            stream.readHex(char, ucs2DataSize);
             stream.readHex(charCode, dataSize);
-            cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));
+            cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));
 
             for (i = 1; i < subitemsCount; i++) {
-              incHex(_char, ucs2DataSize);
+              incHex(char, ucs2DataSize);
 
               if (!sequence) {
                 stream.readHexNumber(tmp, ucs2DataSize);
-                addHex(_char, tmp, ucs2DataSize);
+                addHex(char, tmp, ucs2DataSize);
               }
 
               incHex(charCode, dataSize);
               stream.readHexSigned(tmp, dataSize);
               addHex(charCode, tmp, dataSize);
-              cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));
+              cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));
             }
 
             break;
@@ -34670,7 +24159,7 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
             break;
 
           default:
-            reject(new Error('processBinaryCMap: Unknown type: ' + type));
+            reject(new Error("processBinaryCMap: Unknown type: " + type));
             return;
         }
       }
@@ -34705,13 +24194,13 @@ var CMapFactory = function CMapFactoryClosure() {
 
   function expectString(obj) {
     if (!(0, _util.isString)(obj)) {
-      throw new _util.FormatError('Malformed CMap: expected string.');
+      throw new _util.FormatError("Malformed CMap: expected string.");
     }
   }
 
   function expectInt(obj) {
     if (!Number.isInteger(obj)) {
-      throw new _util.FormatError('Malformed CMap: expected int.');
+      throw new _util.FormatError("Malformed CMap: expected int.");
     }
   }
 
@@ -34723,7 +24212,7 @@ var CMapFactory = function CMapFactoryClosure() {
         break;
       }
 
-      if ((0, _primitives.isCmd)(obj, 'endbfchar')) {
+      if ((0, _primitives.isCmd)(obj, "endbfchar")) {
         return;
       }
 
@@ -34744,7 +24233,7 @@ var CMapFactory = function CMapFactoryClosure() {
         break;
       }
 
-      if ((0, _primitives.isCmd)(obj, 'endbfrange')) {
+      if ((0, _primitives.isCmd)(obj, "endbfrange")) {
         return;
       }
 
@@ -34758,11 +24247,11 @@ var CMapFactory = function CMapFactoryClosure() {
       if (Number.isInteger(obj) || (0, _util.isString)(obj)) {
         var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;
         cMap.mapBfRange(low, high, dstLow);
-      } else if ((0, _primitives.isCmd)(obj, '[')) {
+      } else if ((0, _primitives.isCmd)(obj, "[")) {
         obj = lexer.getObj();
         var array = [];
 
-        while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {
+        while (!(0, _primitives.isCmd)(obj, "]") && !(0, _primitives.isEOF)(obj)) {
           array.push(obj);
           obj = lexer.getObj();
         }
@@ -34773,7 +24262,7 @@ var CMapFactory = function CMapFactoryClosure() {
       }
     }
 
-    throw new _util.FormatError('Invalid bf range.');
+    throw new _util.FormatError("Invalid bf range.");
   }
 
   function parseCidChar(cMap, lexer) {
@@ -34784,7 +24273,7 @@ var CMapFactory = function CMapFactoryClosure() {
         break;
       }
 
-      if ((0, _primitives.isCmd)(obj, 'endcidchar')) {
+      if ((0, _primitives.isCmd)(obj, "endcidchar")) {
         return;
       }
 
@@ -34805,7 +24294,7 @@ var CMapFactory = function CMapFactoryClosure() {
         break;
       }
 
-      if ((0, _primitives.isCmd)(obj, 'endcidrange')) {
+      if ((0, _primitives.isCmd)(obj, "endcidrange")) {
         return;
       }
 
@@ -34829,7 +24318,7 @@ var CMapFactory = function CMapFactoryClosure() {
         break;
       }
 
-      if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {
+      if ((0, _primitives.isCmd)(obj, "endcodespacerange")) {
         return;
       }
 
@@ -34848,7 +24337,7 @@ var CMapFactory = function CMapFactoryClosure() {
       cMap.addCodespaceRange(obj.length, low, high);
     }
 
-    throw new _util.FormatError('Invalid codespace range.');
+    throw new _util.FormatError("Invalid codespace range.");
   }
 
   function parseWMode(cMap, lexer) {
@@ -34878,42 +24367,42 @@ var CMapFactory = function CMapFactoryClosure() {
         if ((0, _primitives.isEOF)(obj)) {
           break;
         } else if ((0, _primitives.isName)(obj)) {
-          if (obj.name === 'WMode') {
+          if (obj.name === "WMode") {
             parseWMode(cMap, lexer);
-          } else if (obj.name === 'CMapName') {
+          } else if (obj.name === "CMapName") {
             parseCMapName(cMap, lexer);
           }
 
           previous = obj;
         } else if ((0, _primitives.isCmd)(obj)) {
           switch (obj.cmd) {
-            case 'endcmap':
+            case "endcmap":
               break objLoop;
 
-            case 'usecmap':
+            case "usecmap":
               if ((0, _primitives.isName)(previous)) {
                 embeddedUseCMap = previous.name;
               }
 
               break;
 
-            case 'begincodespacerange':
+            case "begincodespacerange":
               parseCodespaceRange(cMap, lexer);
               break;
 
-            case 'beginbfchar':
+            case "beginbfchar":
               parseBfChar(cMap, lexer);
               break;
 
-            case 'begincidchar':
+            case "begincidchar":
               parseCidChar(cMap, lexer);
               break;
 
-            case 'beginbfrange':
+            case "beginbfrange":
               parseBfRange(cMap, lexer);
               break;
 
-            case 'begincidrange':
+            case "begincidrange":
               parseCidRange(cMap, lexer);
               break;
           }
@@ -34923,7 +24412,7 @@ var CMapFactory = function CMapFactoryClosure() {
           throw ex;
         }
 
-        (0, _util.warn)('Invalid cMap data: ' + ex);
+        (0, _util.warn)("Invalid cMap data: " + ex);
         continue;
       }
     }
@@ -34963,18 +24452,18 @@ var CMapFactory = function CMapFactoryClosure() {
   }
 
   function createBuiltInCMap(name, fetchBuiltInCMap) {
-    if (name === 'Identity-H') {
+    if (name === "Identity-H") {
       return Promise.resolve(new IdentityCMap(false, 2));
-    } else if (name === 'Identity-V') {
+    } else if (name === "Identity-V") {
       return Promise.resolve(new IdentityCMap(true, 2));
     }
 
     if (!BUILT_IN_CMAPS.includes(name)) {
-      return Promise.reject(new Error('Unknown CMap name: ' + name));
+      return Promise.reject(new Error("Unknown CMap name: " + name));
     }
 
     if (!fetchBuiltInCMap) {
-      return Promise.reject(new Error('Built-in CMap parameters are not provided.'));
+      return Promise.reject(new Error("Built-in CMap parameters are not provided."));
     }
 
     return fetchBuiltInCMap(name).then(function (data) {
@@ -34993,12 +24482,12 @@ var CMapFactory = function CMapFactoryClosure() {
         return parseCMap(cMap, lexer, fetchBuiltInCMap, null);
       }
 
-      return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));
+      return Promise.reject(new Error("TODO: Only BINARY/NONE CMap compression is currently supported."));
     });
   }
 
   return {
-    create: function create(params) {
+    async create(params) {
       var encoding = params.encoding;
       var fetchBuiltInCMap = params.fetchBuiltInCMap;
       var useCMap = params.useCMap;
@@ -35017,15 +24506,16 @@ var CMapFactory = function CMapFactoryClosure() {
         });
       }
 
-      return Promise.reject(new Error('Encoding required.'));
+      throw new Error("Encoding required.");
     }
+
   };
 }();
 
 exports.CMapFactory = CMapFactory;
 
 /***/ }),
-/* 206 */
+/* 27 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -35037,37 +24527,29 @@ Object.defineProperty(exports, "__esModule", {
 exports.getFontType = getFontType;
 exports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = 
exports.SEAC_ANALYSIS_ENABLED = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _cff_parser = __w_pdfjs_require__(207);
+var _util = __w_pdfjs_require__(2);
 
-var _glyphlist = __w_pdfjs_require__(210);
+var _cff_parser = __w_pdfjs_require__(28);
 
-var _encodings = __w_pdfjs_require__(209);
+var _glyphlist = __w_pdfjs_require__(31);
 
-var _standard_fonts = __w_pdfjs_require__(211);
+var _encodings = __w_pdfjs_require__(30);
 
-var _unicode = __w_pdfjs_require__(212);
+var _standard_fonts = __w_pdfjs_require__(32);
 
-var _font_renderer = __w_pdfjs_require__(213);
+var _unicode = __w_pdfjs_require__(33);
 
-var _cmap = __w_pdfjs_require__(205);
+var _core_utils = __w_pdfjs_require__(7);
 
-var _core_utils = __w_pdfjs_require__(186);
+var _font_renderer = __w_pdfjs_require__(34);
 
-var _stream = __w_pdfjs_require__(190);
+var _cmap = __w_pdfjs_require__(26);
 
-var _type1_parser = __w_pdfjs_require__(214);
+var _stream = __w_pdfjs_require__(11);
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
+var _type1_parser = __w_pdfjs_require__(35);
 
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = 
_i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = 
true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw 
_e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-var PRIVATE_USE_AREAS = [[0xE000, 0xF8FF], [0x100000, 0x10FFFD]];
+const PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];
 var PDF_GLYPH_SPACE_UNITS = 1000;
 var SEAC_ANALYSIS_ENABLED = true;
 exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;
@@ -35083,7 +24565,7 @@ var FontFlags = {
   ForceBold: 262144
 };
 exports.FontFlags = FontFlags;
-var MacStandardGlyphOrdering = ['.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 
'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 
'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 
'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 
'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 
'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 
'braceleft', 'bar', 'braceright', 'asciitilde', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 
'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 
'eacute', 'egrave', 'ecircumflex', 'edieresis', '
 iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 
'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 
'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 
'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 
'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 
'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 
'guillemotright', 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 
'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 
'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 
'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', '
 Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 
'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 
'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 
'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth', 'Yacute', 'yacute', 
'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior', 'onehalf', 
'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla', 'Cacute', 
'cacute', 'Ccaron', 'ccaron', 'dcroat'];
+var MacStandardGlyphOrdering = [".notdef", ".null", "nonmarkingreturn", "space", "exclam", "quotedbl", 
"numbersign", "dollar", "percent", "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", 
"comma", "hyphen", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", 
"nine", "colon", "semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", 
"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", 
"bracketleft", "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", 
"f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", 
"braceleft", "bar", "braceright", "asciitilde", "Adieresis", "Aring", "Ccedilla", "Eacute", "Ntilde", 
"Odieresis", "Udieresis", "aacute", "agrave", "acircumflex", "adieresis", "atilde", "aring", "ccedilla", 
"eacute", "egrave", "ecircumflex", "edieresis", "
 iacute", "igrave", "icircumflex", "idieresis", "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", 
"otilde", "uacute", "ugrave", "ucircumflex", "udieresis", "dagger", "degree", "cent", "sterling", "section", 
"bullet", "paragraph", "germandbls", "registered", "copyright", "trademark", "acute", "dieresis", "notequal", 
"AE", "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", "yen", "mu", "partialdiff", 
"summation", "product", "pi", "integral", "ordfeminine", "ordmasculine", "Omega", "ae", "oslash", 
"questiondown", "exclamdown", "logicalnot", "radical", "florin", "approxequal", "Delta", "guillemotleft", 
"guillemotright", "ellipsis", "nonbreakingspace", "Agrave", "Atilde", "Otilde", "OE", "oe", "endash", 
"emdash", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", "lozenge", "ydieresis", 
"Ydieresis", "fraction", "currency", "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", 
"periodcentered", "quotesinglbase", "quotedblbase", "perthousand", "
 Acircumflex", "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", 
"Igrave", "Oacute", "Ocircumflex", "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", "dotlessi", 
"circumflex", "tilde", "macron", "breve", "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", 
"Lslash", "lslash", "Scaron", "scaron", "Zcaron", "zcaron", "brokenbar", "Eth", "eth", "Yacute", "yacute", 
"Thorn", "thorn", "minus", "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", 
"onequarter", "threequarters", "franc", "Gbreve", "gbreve", "Idotaccent", "Scedilla", "scedilla", "Cacute", 
"cacute", "Ccaron", "ccaron", "dcroat"];
 
 function adjustWidths(properties) {
   if (!properties.fontMatrix) {
@@ -35138,25 +24620,25 @@ function adjustToUnicode(properties, builtInEncoding) {
 
 function getFontType(type, subtype) {
   switch (type) {
-    case 'Type1':
-      return subtype === 'Type1C' ? _util.FontType.TYPE1C : _util.FontType.TYPE1;
+    case "Type1":
+      return subtype === "Type1C" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;
 
-    case 'CIDFontType0':
-      return subtype === 'CIDFontType0C' ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;
+    case "CIDFontType0":
+      return subtype === "CIDFontType0C" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;
 
-    case 'OpenType':
+    case "OpenType":
       return _util.FontType.OPENTYPE;
 
-    case 'TrueType':
+    case "TrueType":
       return _util.FontType.TRUETYPE;
 
-    case 'CIDFontType2':
+    case "CIDFontType2":
       return _util.FontType.CIDFONTTYPE2;
 
-    case 'MMType1':
+    case "MMType1":
       return _util.FontType.MMTYPE1;
 
-    case 'Type0':
+    case "Type0":
       return _util.FontType.TYPE0;
 
     default:
@@ -35179,7 +24661,7 @@ function recoverGlyphName(name, glyphsUnicodeMap) {
     }
   }
 
-  (0, _util.info)('Unable to recover a standard glyph name for: ' + name);
+  (0, _util.info)("Unable to recover a standard glyph name for: " + name);
   return name;
 }
 
@@ -35203,8 +24685,7 @@ var Glyph = function GlyphClosure() {
 }();
 
 var ToUnicodeMap = function ToUnicodeMapClosure() {
-  function ToUnicodeMap() {
-    var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+  function ToUnicodeMap(cmap = []) {
     this._map = cmap;
   }
 
@@ -35213,25 +24694,28 @@ var ToUnicodeMap = function ToUnicodeMapClosure() {
       return this._map.length;
     },
 
-    forEach: function forEach(callback) {
+    forEach(callback) {
       for (var charCode in this._map) {
         callback(charCode, this._map[charCode].charCodeAt(0));
       }
     },
-    has: function has(i) {
+
+    has(i) {
       return this._map[i] !== undefined;
     },
-    get: function get(i) {
+
+    get(i) {
       return this._map[i];
     },
-    charCodeOf: function charCodeOf(value) {
-      var map = this._map;
+
+    charCodeOf(value) {
+      const map = this._map;
 
       if (map.length <= 0x10000) {
         return map.indexOf(value);
       }
 
-      for (var charCode in map) {
+      for (const charCode in map) {
         if (map[charCode] === value) {
           return charCode | 0;
         }
@@ -35239,11 +24723,13 @@ var ToUnicodeMap = function ToUnicodeMapClosure() {
 
       return -1;
     },
-    amend: function amend(map) {
+
+    amend(map) {
       for (var charCode in map) {
         this._map[charCode] = map[charCode];
       }
     }
+
   };
   return ToUnicodeMap;
 }();
@@ -35261,27 +24747,32 @@ var IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {
       return this.lastChar + 1 - this.firstChar;
     },
 
-    forEach: function forEach(callback) {
+    forEach(callback) {
       for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {
         callback(i, i);
       }
     },
-    has: function has(i) {
+
+    has(i) {
       return this.firstChar <= i && i <= this.lastChar;
     },
-    get: function get(i) {
+
+    get(i) {
       if (this.firstChar <= i && i <= this.lastChar) {
         return String.fromCharCode(i);
       }
 
       return undefined;
     },
-    charCodeOf: function charCodeOf(v) {
+
+    charCodeOf(v) {
       return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;
     },
-    amend: function amend(map) {
-      (0, _util.unreachable)('Should not call amend()');
+
+    amend(map) {
+      (0, _util.unreachable)("Should not call amend()");
     }
+
   };
   return IdentityToUnicodeMap;
 }();
@@ -35290,15 +24781,15 @@ exports.IdentityToUnicodeMap = IdentityToUnicodeMap;
 
 var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
   function writeInt16(dest, offset, num) {
-    dest[offset] = num >> 8 & 0xFF;
-    dest[offset + 1] = num & 0xFF;
+    dest[offset] = num >> 8 & 0xff;
+    dest[offset + 1] = num & 0xff;
   }
 
   function writeInt32(dest, offset, num) {
-    dest[offset] = num >> 24 & 0xFF;
-    dest[offset + 1] = num >> 16 & 0xFF;
-    dest[offset + 2] = num >> 8 & 0xFF;
-    dest[offset + 3] = num & 0xFF;
+    dest[offset] = num >> 24 & 0xff;
+    dest[offset + 1] = num >> 16 & 0xff;
+    dest[offset + 2] = num >> 8 & 0xff;
+    dest[offset + 3] = num & 0xff;
   }
 
   function writeData(dest, offset, data) {
@@ -35306,13 +24797,13 @@ var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
 
     if (data instanceof Uint8Array) {
       dest.set(data, offset);
-    } else if (typeof data === 'string') {
+    } else if (typeof data === "string") {
       for (i = 0, ii = data.length; i < ii; i++) {
-        dest[offset++] = data.charCodeAt(i) & 0xFF;
+        dest[offset++] = data.charCodeAt(i) & 0xff;
       }
     } else {
       for (i = 0, ii = data.length; i < ii; i++) {
-        dest[offset++] = data[i] & 0xFF;
+        dest[offset++] = data[i] & 0xff;
       }
     }
   }
@@ -35366,14 +24857,14 @@ var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
         writeData(file, tableOffsets[i], table);
       }
 
-      if (sfnt === 'true') {
+      if (sfnt === "true") {
         sfnt = (0, _util.string32)(0x00010000);
       }
 
-      file[0] = sfnt.charCodeAt(0) & 0xFF;
-      file[1] = sfnt.charCodeAt(1) & 0xFF;
-      file[2] = sfnt.charCodeAt(2) & 0xFF;
-      file[3] = sfnt.charCodeAt(3) & 0xFF;
+      file[0] = sfnt.charCodeAt(0) & 0xff;
+      file[1] = sfnt.charCodeAt(1) & 0xff;
+      file[2] = sfnt.charCodeAt(2) & 0xff;
+      file[3] = sfnt.charCodeAt(3) & 0xff;
       writeInt16(file, 4, numTables);
       var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);
       writeInt16(file, 6, searchParams.range);
@@ -35383,14 +24874,14 @@ var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
 
       for (i = 0; i < numTables; i++) {
         tableName = tablesNames[i];
-        file[offset] = tableName.charCodeAt(0) & 0xFF;
-        file[offset + 1] = tableName.charCodeAt(1) & 0xFF;
-        file[offset + 2] = tableName.charCodeAt(2) & 0xFF;
-        file[offset + 3] = tableName.charCodeAt(3) & 0xFF;
+        file[offset] = tableName.charCodeAt(0) & 0xff;
+        file[offset + 1] = tableName.charCodeAt(1) & 0xff;
+        file[offset + 2] = tableName.charCodeAt(2) & 0xff;
+        file[offset + 3] = tableName.charCodeAt(3) & 0xff;
         var checksum = 0;
 
         for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {
-          var quad = (0, _util.readUint32)(file, j);
+          var quad = (0, _core_utils.readUint32)(file, j);
           checksum = checksum + quad >>> 0;
         }
 
@@ -35404,7 +24895,7 @@ var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
     },
     addTable: function OpenTypeFileBuilder_addTable(tag, data) {
       if (tag in this.tables) {
-        throw new Error('Table ' + tag + ' already exists');
+        throw new Error("Table " + tag + " already exists");
       }
 
       this.tables[tag] = data;
@@ -35429,7 +24920,15 @@ var Font = function FontClosure() {
     var subtype = properties.subtype;
     this.type = type;
     this.subtype = subtype;
-    this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif';
+    let fallbackName = "sans-serif";
+
+    if (this.isMonospace) {
+      fallbackName = "monospace";
+    } else if (this.isSerifFont) {
+      fallbackName = "serif";
+    }
+
+    this.fallbackName = fallbackName;
     this.differences = properties.differences;
     this.widths = properties.widths;
     this.defaultWidth = properties.defaultWidth;
@@ -35445,7 +24944,7 @@ var Font = function FontClosure() {
     this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();
     this.toFontChar = [];
 
-    if (properties.type === 'Type3') {
+    if (properties.type === "Type3") {
       for (charCode = 0; charCode < 256; charCode++) {
         this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];
       }
@@ -35464,54 +24963,49 @@ var Font = function FontClosure() {
 
     if (!file || file.isEmpty) {
       if (file) {
-        (0, _util.warn)('Font file is empty in "' + name + '" (' + this.loadedName + ')');
+        (0, _util.warn)('Font file is empty in "' + name + '" (' + this.loadedName + ")");
       }
 
       this.fallbackToSystemFont();
       return;
     }
 
-    var _getFontFileType = getFontFileType(file, properties);
-
-    var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);
-
-    type = _getFontFileType2[0];
-    subtype = _getFontFileType2[1];
+    [type, subtype] = getFontFileType(file, properties);
 
     if (type !== this.type || subtype !== this.subtype) {
-      (0, _util.info)('Inconsistent font file Type/SubType, expected: ' + "".concat(this.type, 
"/").concat(this.subtype, " but found: ").concat(type, "/").concat(subtype, "."));
+      (0, _util.info)("Inconsistent font file Type/SubType, expected: " + `${this.type}/${this.subtype} but 
found: ${type}/${subtype}.`);
     }
 
     try {
       var data;
 
       switch (type) {
-        case 'MMType1':
-          (0, _util.info)('MMType1 font (' + name + '), falling back to Type1.');
+        case "MMType1":
+          (0, _util.info)("MMType1 font (" + name + "), falling back to Type1.");
 
-        case 'Type1':
-        case 'CIDFontType0':
-          this.mimetype = 'font/opentype';
-          var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : 
new Type1Font(name, file, properties);
+        case "Type1":
+        case "CIDFontType0":
+          this.mimetype = "font/opentype";
+          var cff = subtype === "Type1C" || subtype === "CIDFontType0C" ? new CFFFont(file, properties) : 
new Type1Font(name, file, properties);
           adjustWidths(properties);
           data = this.convert(name, cff, properties);
           break;
 
-        case 'OpenType':
-        case 'TrueType':
-        case 'CIDFontType2':
-          this.mimetype = 'font/opentype';
+        case "OpenType":
+        case "TrueType":
+        case "CIDFontType2":
+          this.mimetype = "font/opentype";
           data = this.checkAndRepair(name, file, properties);
 
           if (this.isOpenType) {
             adjustWidths(properties);
-            type = 'OpenType';
+            type = "OpenType";
           }
 
           break;
 
         default:
-          throw new _util.FormatError("Font ".concat(type, " is not supported"));
+          throw new _util.FormatError(`Font ${type} is not supported`);
       }
     } catch (e) {
       (0, _util.warn)(e);
@@ -35559,23 +25053,28 @@ var Font = function FontClosure() {
   }
 
   function safeString16(value) {
-    value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value;
+    if (value > 0x7fff) {
+      value = 0x7fff;
+    } else if (value < -0x8000) {
+      value = -0x8000;
+    }
+
     return String.fromCharCode(value >> 8 & 0xff, value & 0xff);
   }
 
   function isTrueTypeFile(file) {
     var header = file.peekBytes(4);
-    return (0, _util.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === 'true';
+    return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === 
"true";
   }
 
   function isTrueTypeCollectionFile(file) {
-    var header = file.peekBytes(4);
-    return (0, _util.bytesToString)(header) === 'ttcf';
+    const header = file.peekBytes(4);
+    return (0, _util.bytesToString)(header) === "ttcf";
   }
 
   function isOpenTypeFile(file) {
     var header = file.peekBytes(4);
-    return (0, _util.bytesToString)(header) === 'OTTO';
+    return (0, _util.bytesToString)(header) === "OTTO";
   }
 
   function isType1File(file) {
@@ -35593,7 +25092,7 @@ var Font = function FontClosure() {
   }
 
   function isCFFFile(file) {
-    var header = file.peekBytes(4);
+    const header = file.peekBytes(4);
 
     if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {
       return true;
@@ -35602,40 +25101,41 @@ var Font = function FontClosure() {
     return false;
   }
 
-  function getFontFileType(file, _ref) {
-    var type = _ref.type,
-        subtype = _ref.subtype,
-        composite = _ref.composite;
-    var fileType, fileSubtype;
+  function getFontFileType(file, {
+    type,
+    subtype,
+    composite
+  }) {
+    let fileType, fileSubtype;
 
     if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {
       if (composite) {
-        fileType = 'CIDFontType2';
+        fileType = "CIDFontType2";
       } else {
-        fileType = 'TrueType';
+        fileType = "TrueType";
       }
     } else if (isOpenTypeFile(file)) {
       if (composite) {
-        fileType = 'CIDFontType2';
+        fileType = "CIDFontType2";
       } else {
-        fileType = 'OpenType';
+        fileType = "OpenType";
       }
     } else if (isType1File(file)) {
       if (composite) {
-        fileType = 'CIDFontType0';
+        fileType = "CIDFontType0";
       } else {
-        fileType = type === 'MMType1' ? 'MMType1' : 'Type1';
+        fileType = type === "MMType1" ? "MMType1" : "Type1";
       }
     } else if (isCFFFile(file)) {
       if (composite) {
-        fileType = 'CIDFontType0';
-        fileSubtype = 'CIDFontType0C';
+        fileType = "CIDFontType0";
+        fileSubtype = "CIDFontType0C";
       } else {
-        fileType = type === 'MMType1' ? 'MMType1' : 'Type1';
-        fileSubtype = 'Type1C';
+        fileType = type === "MMType1" ? "MMType1" : "Type1";
+        fileSubtype = "Type1C";
       }
     } else {
-      (0, _util.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');
+      (0, _util.warn)("getFontFileType: Unable to detect correct font file Type/Subtype.");
       fileType = type;
       fileSubtype = subtype;
     }
@@ -35685,7 +25185,7 @@ var Font = function FontClosure() {
         privateUseAreaIndex++;
 
         if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {
-          (0, _util.warn)('Ran out of space in font private use area.');
+          (0, _util.warn)("Ran out of space in font private use area.");
           break;
         }
 
@@ -35704,9 +25204,9 @@ var Font = function FontClosure() {
     }
 
     return {
-      toFontChar: toFontChar,
+      toFontChar,
       charCodeToGlyphId: newMap,
-      nextAvailableFontCharCode: nextAvailableFontCharCode
+      nextAvailableFontCharCode
     };
   }
 
@@ -35748,7 +25248,7 @@ var Font = function FontClosure() {
         ++end;
         ++n;
 
-        if (end === 0xFFFF) {
+        if (end === 0xffff) {
           break;
         }
       }
@@ -35761,30 +25261,30 @@ var Font = function FontClosure() {
 
   function createCmapTable(glyphs, numGlyphs) {
     var ranges = getRanges(glyphs, numGlyphs);
-    var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1;
-    var cmap = '\x00\x00' + string16(numTables) + '\x00\x03' + '\x00\x01' + (0, _util.string32)(4 + 
numTables * 8);
+    var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;
+    var cmap = "\x00\x00" + string16(numTables) + "\x00\x03" + "\x00\x01" + (0, _util.string32)(4 + 
numTables * 8);
     var i, ii, j, jj;
 
     for (i = ranges.length - 1; i >= 0; --i) {
-      if (ranges[i][0] <= 0xFFFF) {
+      if (ranges[i][0] <= 0xffff) {
         break;
       }
     }
 
     var bmpLength = i + 1;
 
-    if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) {
-      ranges[i][1] = 0xFFFE;
+    if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {
+      ranges[i][1] = 0xfffe;
     }
 
-    var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0;
+    var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;
     var segCount = bmpLength + trailingRangesCount;
     var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);
-    var startCount = '';
-    var endCount = '';
-    var idDeltas = '';
-    var idRangeOffsets = '';
-    var glyphsIds = '';
+    var startCount = "";
+    var endCount = "";
+    var idDeltas = "";
+    var idRangeOffsets = "";
+    var glyphsIds = "";
     var bias = 0;
     var range, start, end, codes;
 
@@ -35815,25 +25315,25 @@ var Font = function FontClosure() {
         }
       } else {
         var startCode = codes[0];
-        idDeltas += string16(startCode - start & 0xFFFF);
+        idDeltas += string16(startCode - start & 0xffff);
         idRangeOffsets += string16(0);
       }
     }
 
     if (trailingRangesCount > 0) {
-      endCount += '\xFF\xFF';
-      startCount += '\xFF\xFF';
-      idDeltas += '\x00\x01';
-      idRangeOffsets += '\x00\x00';
+      endCount += "\xFF\xFF";
+      startCount += "\xFF\xFF";
+      idDeltas += "\x00\x01";
+      idRangeOffsets += "\x00\x00";
     }
 
-    var format314 = '\x00\x00' + string16(2 * segCount) + string16(searchParams.range) + 
string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\x00\x00' + startCount + 
idDeltas + idRangeOffsets + glyphsIds;
-    var format31012 = '';
-    var header31012 = '';
+    var format314 = "\x00\x00" + string16(2 * segCount) + string16(searchParams.range) + 
string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + "\x00\x00" + startCount + 
idDeltas + idRangeOffsets + glyphsIds;
+    var format31012 = "";
+    var header31012 = "";
 
     if (numTables > 1) {
-      cmap += '\x00\x03' + '\x00\x0A' + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);
-      format31012 = '';
+      cmap += "\x00\x03" + "\x00\x0A" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);
+      format31012 = "";
 
       for (i = 0, ii = ranges.length; i < ii; i++) {
         range = ranges[i];
@@ -35853,10 +25353,10 @@ var Font = function FontClosure() {
         format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, 
_util.string32)(code);
       }
 
-      header31012 = '\x00\x0C' + '\x00\x00' + (0, _util.string32)(format31012.length + 16) + 
'\x00\x00\x00\x00' + (0, _util.string32)(format31012.length / 12);
+      header31012 = "\x00\x0C" + "\x00\x00" + (0, _util.string32)(format31012.length + 16) + 
"\x00\x00\x00\x00" + (0, _util.string32)(format31012.length / 12);
     }
 
-    return cmap + '\x00\x04' + string16(format314.length + 4) + format314 + header31012 + format31012;
+    return cmap + "\x00\x04" + string16(format314.length + 4) + format314 + header31012 + format31012;
   }
 
   function validateOS2Table(os2) {
@@ -35925,12 +25425,12 @@ var Font = function FontClosure() {
         } else if (position < 123) {
           ulUnicodeRange4 |= 1 << position - 96;
         } else {
-          throw new _util.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');
+          throw new _util.FormatError("Unicode ranges Bits > 123 are reserved for internal usage");
         }
       }
 
-      if (lastCharIndex > 0xFFFF) {
-        lastCharIndex = 0xFFFF;
+      if (lastCharIndex > 0xffff) {
+        lastCharIndex = 0xffff;
       }
     } else {
       firstCharIndex = 0;
@@ -35949,12 +25449,12 @@ var Font = function FontClosure() {
 
     var winAscent = override.yMax || typoAscent;
     var winDescent = -override.yMin || -typoDescent;
-    return '\x00\x03' + '\x02\x24' + '\x01\xF4' + '\x00\x05' + '\x00\x00' + '\x02\x8A' + '\x02\xBB' + 
'\x00\x00' + '\x00\x8C' + '\x02\x8A' + '\x02\xBB' + '\x00\x00' + '\x01\xDF' + '\x00\x31' + '\x01\x02' + 
'\x00\x00' + '\x00\x00\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + 
'\x00\x00\x00\x00\x00\x00' + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + 
(0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + '\x2A\x32\x31\x2A' + 
string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + 
string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\x00\x64' + 
string16(winAscent) + string16(winDescent) + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + 
string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || 
properties.firstChar) + '\x00\x03';
+    return "\x00\x03" + "\x02\x24" + "\x01\xF4" + "\x00\x05" + "\x00\x00" + "\x02\x8A" + "\x02\xBB" + 
"\x00\x00" + "\x00\x8C" + "\x02\x8A" + "\x02\xBB" + "\x00\x00" + "\x01\xDF" + "\x00\x31" + "\x01\x02" + 
"\x00\x00" + "\x00\x00\x06" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + 
"\x00\x00\x00\x00\x00\x00" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + 
(0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + "\x2A\x32\x31\x2A" + 
string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + 
string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + "\x00\x64" + 
string16(winAscent) + string16(winDescent) + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + 
string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || 
properties.firstChar) + "\x00\x03";
   }
 
   function createPostTable(properties) {
-    var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));
-    return '\x00\x03\x00\x00' + (0, _util.string32)(angle) + '\x00\x00' + '\x00\x00' + (0, 
_util.string32)(properties.fixedPitch) + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + 
'\x00\x00\x00\x00';
+    var angle = Math.floor(properties.italicAngle * 2 ** 16);
+    return "\x00\x03\x00\x00" + (0, _util.string32)(angle) + "\x00\x00" + "\x00\x00" + (0, 
_util.string32)(properties.fixedPitch) + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + 
"\x00\x00\x00\x00";
   }
 
   function createNameTable(name, proto) {
@@ -35962,7 +25462,7 @@ var Font = function FontClosure() {
       proto = [[], []];
     }
 
-    var strings = [proto[0][0] || 'Original licence', proto[0][1] || name, proto[0][2] || 'Unknown', 
proto[0][3] || 'uniqueID', proto[0][4] || name, proto[0][5] || 'Version 0.11', proto[0][6] || '', proto[0][7] 
|| 'Unknown', proto[0][8] || 'Unknown', proto[0][9] || 'Unknown'];
+    var strings = [proto[0][0] || "Original licence", proto[0][1] || name, proto[0][2] || "Unknown", 
proto[0][3] || "uniqueID", proto[0][4] || name, proto[0][5] || "Version 0.11", proto[0][6] || "", proto[0][7] 
|| "Unknown", proto[0][8] || "Unknown", proto[0][9] || "Unknown"];
     var stringsUnicode = [];
     var i, ii, j, jj, str;
 
@@ -35974,15 +25474,15 @@ var Font = function FontClosure() {
         strBufUnicode.push(string16(str.charCodeAt(j)));
       }
 
-      stringsUnicode.push(strBufUnicode.join(''));
+      stringsUnicode.push(strBufUnicode.join(""));
     }
 
     var names = [strings, stringsUnicode];
-    var platforms = ['\x00\x01', '\x00\x03'];
-    var encodings = ['\x00\x00', '\x00\x01'];
-    var languages = ['\x00\x00', '\x04\x09'];
+    var platforms = ["\x00\x01", "\x00\x03"];
+    var encodings = ["\x00\x00", "\x00\x01"];
+    var languages = ["\x00\x00", "\x04\x09"];
     var namesRecordCount = strings.length * platforms.length;
-    var nameTable = '\x00\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);
+    var nameTable = "\x00\x00" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);
     var strOffset = 0;
 
     for (i = 0, ii = platforms.length; i < ii; i++) {
@@ -35996,7 +25496,7 @@ var Font = function FontClosure() {
       }
     }
 
-    nameTable += strings.join('') + stringsUnicode.join('');
+    nameTable += strings.join("") + stringsUnicode.join("");
     return nameTable;
   }
 
@@ -36010,7 +25510,7 @@ var Font = function FontClosure() {
     get renderer() {
       var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);
 
-      return (0, _util.shadow)(this, 'renderer', renderer);
+      return (0, _util.shadow)(this, "renderer", renderer);
     },
 
     exportData: function Font_exportData() {
@@ -36025,14 +25525,12 @@ var Font = function FontClosure() {
       return data;
     },
     fallbackToSystemFont: function Font_fallbackToSystemFont() {
-      var _this = this;
-
       this.missingFile = true;
       var charCode, unicode;
       var name = this.name;
       var type = this.type;
       var subtype = this.subtype;
-      var fontName = name.replace(/[,_]/g, '-');
+      let fontName = name.replace(/[,_]/g, "-").replace(/\s/g, "");
       var stdFontMap = (0, _standard_fonts.getStdFontMap)(),
           nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();
       var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && 
stdFontMap[nonStdFontMap[fontName]]);
@@ -36042,9 +25540,9 @@ var Font = function FontClosure() {
       this.black = name.search(/Black/g) !== -1;
       this.remeasure = Object.keys(this.widths).length > 0;
 
-      if (isStandardFont && type === 'CIDFontType2' && this.cidEncoding.startsWith('Identity-')) {
-        var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();
-        var map = [];
+      if (isStandardFont && type === "CIDFontType2" && this.cidEncoding.startsWith("Identity-")) {
+        const GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();
+        const map = [];
 
         for (charCode in GlyphMapForStandardFonts) {
           map[+charCode] = GlyphMapForStandardFonts[charCode];
@@ -36057,7 +25555,7 @@ var Font = function FontClosure() {
             map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];
           }
         } else if (/Calibri/i.test(name)) {
-          var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();
+          const SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();
 
           for (charCode in SupplementalGlyphMapForCalibri) {
             map[+charCode] = SupplementalGlyphMapForCalibri[charCode];
@@ -36078,17 +25576,18 @@ var Font = function FontClosure() {
         this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), 
this.differences);
       } else if (/Dingbats/i.test(fontName)) {
         if (/Wingdings/i.test(name)) {
-          (0, _util.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');
+          (0, _util.warn)("Non-embedded Wingdings font, falling back to ZapfDingbats.");
         }
 
         this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, 
_glyphlist.getDingbatsGlyphsUnicode)(), this.differences);
       } else if (isStandardFont) {
         this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), 
this.differences);
       } else {
-        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-        this.toUnicode.forEach(function (charCode, unicodeCharCode) {
-          if (!_this.composite) {
-            var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];
+        const glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
+        const map = [];
+        this.toUnicode.forEach((charCode, unicodeCharCode) => {
+          if (!this.composite) {
+            var glyphName = this.differences[charCode] || this.defaultEncoding[charCode];
             unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);
 
             if (unicode !== -1) {
@@ -36096,29 +25595,41 @@ var Font = function FontClosure() {
             }
           }
 
-          _this.toFontChar[charCode] = unicodeCharCode;
+          map[+charCode] = unicodeCharCode;
         });
+
+        if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {
+          if (/Verdana/i.test(name)) {
+            const GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();
+
+            for (charCode in GlyphMapForStandardFonts) {
+              map[+charCode] = GlyphMapForStandardFonts[charCode];
+            }
+          }
+        }
+
+        this.toFontChar = map;
       }
 
-      this.loadedName = fontName.split('-')[0];
+      this.loadedName = fontName.split("-")[0];
       this.fontType = getFontType(type, subtype);
     },
     checkAndRepair: function Font_checkAndRepair(name, font, properties) {
-      var VALID_TABLES = ['OS/2', 'cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'post', 'loca', 'glyf', 
'fpgm', 'prep', 'cvt ', 'CFF '];
+      const VALID_TABLES = ["OS/2", "cmap", "head", "hhea", "hmtx", "maxp", "name", "post", "loca", "glyf", 
"fpgm", "prep", "cvt ", "CFF "];
 
       function readTables(file, numTables) {
-        var tables = Object.create(null);
-        tables['OS/2'] = null;
-        tables['cmap'] = null;
-        tables['head'] = null;
-        tables['hhea'] = null;
-        tables['hmtx'] = null;
-        tables['maxp'] = null;
-        tables['name'] = null;
-        tables['post'] = null;
-
-        for (var i = 0; i < numTables; i++) {
-          var table = readTableEntry(font);
+        const tables = Object.create(null);
+        tables["OS/2"] = null;
+        tables["cmap"] = null;
+        tables["head"] = null;
+        tables["hhea"] = null;
+        tables["hmtx"] = null;
+        tables["maxp"] = null;
+        tables["name"] = null;
+        tables["post"] = null;
+
+        for (let i = 0; i < numTables; i++) {
+          const table = readTableEntry(font);
 
           if (!VALID_TABLES.includes(table.tag)) {
             continue;
@@ -36145,17 +25656,17 @@ var Font = function FontClosure() {
         var data = file.getBytes(length);
         file.pos = previousPosition;
 
-        if (tag === 'head') {
+        if (tag === "head") {
           data[8] = data[9] = data[10] = data[11] = 0;
           data[17] |= 0x20;
         }
 
         return {
-          tag: tag,
-          checksum: checksum,
-          length: length,
-          offset: offset,
-          data: data
+          tag,
+          checksum,
+          length,
+          offset,
+          data
         };
       }
 
@@ -36170,23 +25681,23 @@ var Font = function FontClosure() {
       }
 
       function readTrueTypeCollectionHeader(ttc) {
-        var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));
-        (0, _util.assert)(ttcTag === 'ttcf', 'Must be a TrueType Collection font.');
-        var majorVersion = ttc.getUint16();
-        var minorVersion = ttc.getUint16();
-        var numFonts = ttc.getInt32() >>> 0;
-        var offsetTable = [];
-
-        for (var i = 0; i < numFonts; i++) {
+        const ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));
+        (0, _util.assert)(ttcTag === "ttcf", "Must be a TrueType Collection font.");
+        const majorVersion = ttc.getUint16();
+        const minorVersion = ttc.getUint16();
+        const numFonts = ttc.getInt32() >>> 0;
+        const offsetTable = [];
+
+        for (let i = 0; i < numFonts; i++) {
           offsetTable.push(ttc.getInt32() >>> 0);
         }
 
-        var header = {
-          ttcTag: ttcTag,
-          majorVersion: majorVersion,
-          minorVersion: minorVersion,
-          numFonts: numFonts,
-          offsetTable: offsetTable
+        const header = {
+          ttcTag,
+          majorVersion,
+          minorVersion,
+          numFonts,
+          offsetTable
         };
 
         switch (majorVersion) {
@@ -36200,30 +25711,31 @@ var Font = function FontClosure() {
             return header;
         }
 
-        throw new _util.FormatError("Invalid TrueType Collection majorVersion: ".concat(majorVersion, "."));
+        throw new _util.FormatError(`Invalid TrueType Collection majorVersion: ${majorVersion}.`);
       }
 
       function readTrueTypeCollectionData(ttc, fontName) {
-        var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),
-            numFonts = _readTrueTypeCollecti.numFonts,
-            offsetTable = _readTrueTypeCollecti.offsetTable;
+        const {
+          numFonts,
+          offsetTable
+        } = readTrueTypeCollectionHeader(ttc);
 
-        for (var i = 0; i < numFonts; i++) {
+        for (let i = 0; i < numFonts; i++) {
           ttc.pos = (ttc.start || 0) + offsetTable[i];
-          var potentialHeader = readOpenTypeHeader(ttc);
-          var potentialTables = readTables(ttc, potentialHeader.numTables);
+          const potentialHeader = readOpenTypeHeader(ttc);
+          const potentialTables = readTables(ttc, potentialHeader.numTables);
 
-          if (!potentialTables['name']) {
+          if (!potentialTables["name"]) {
             throw new _util.FormatError('TrueType Collection font must contain a "name" table.');
           }
 
-          var nameTable = readNameTable(potentialTables['name']);
+          const nameTable = readNameTable(potentialTables["name"]);
 
-          for (var j = 0, jj = nameTable.length; j < jj; j++) {
-            for (var k = 0, kk = nameTable[j].length; k < kk; k++) {
-              var nameEntry = nameTable[j][k];
+          for (let j = 0, jj = nameTable.length; j < jj; j++) {
+            for (let k = 0, kk = nameTable[j].length; k < kk; k++) {
+              const nameEntry = nameTable[j][k];
 
-              if (nameEntry && nameEntry.replace(/\s/g, '') === fontName) {
+              if (nameEntry && nameEntry.replace(/\s/g, "") === fontName) {
                 return {
                   header: potentialHeader,
                   tables: potentialTables
@@ -36233,12 +25745,12 @@ var Font = function FontClosure() {
           }
         }
 
-        throw new _util.FormatError("TrueType Collection does not contain \"".concat(fontName, "\" font."));
+        throw new _util.FormatError(`TrueType Collection does not contain "${fontName}" font.`);
       }
 
       function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {
         if (!cmap) {
-          (0, _util.warn)('No cmap table available.');
+          (0, _util.warn)("No cmap table available.");
           return {
             platformId: -1,
             encodingId: -1,
@@ -36282,9 +25794,9 @@ var Font = function FontClosure() {
 
           if (useTable) {
             potentialTable = {
-              platformId: platformId,
-              encodingId: encodingId,
-              offset: offset
+              platformId,
+              encodingId,
+              offset
             };
           }
 
@@ -36298,7 +25810,7 @@ var Font = function FontClosure() {
         }
 
         if (!potentialTable || font.peekByte() === -1) {
-          (0, _util.warn)('Could not find a preferred cmap table.');
+          (0, _util.warn)("Could not find a preferred cmap table.");
           return {
             platformId: -1,
             encodingId: -1,
@@ -36381,15 +25893,15 @@ var Font = function FontClosure() {
             offsetIndex = segment.offsetIndex;
 
             for (j = start; j <= end; j++) {
-              if (j === 0xFFFF) {
+              if (j === 0xffff) {
                 continue;
               }
 
               glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];
-              glyphId = glyphId + delta & 0xFFFF;
+              glyphId = glyphId + delta & 0xffff;
               mappings.push({
                 charCode: j,
-                glyphId: glyphId
+                glyphId
               });
             }
           }
@@ -36401,12 +25913,12 @@ var Font = function FontClosure() {
             glyphId = font.getUint16();
             var charCode = firstCode + j;
             mappings.push({
-              charCode: charCode,
-              glyphId: glyphId
+              charCode,
+              glyphId
             });
           }
         } else {
-          (0, _util.warn)('cmap table has unsupported format: ' + format);
+          (0, _util.warn)("cmap table has unsupported format: " + format);
           return {
             platformId: -1,
             encodingId: -1,
@@ -36429,8 +25941,8 @@ var Font = function FontClosure() {
         return {
           platformId: potentialTable.platformId,
           encodingId: potentialTable.encodingId,
-          mappings: mappings,
-          hasShortCmap: hasShortCmap
+          mappings,
+          hasShortCmap
         };
       }
 
@@ -36460,7 +25972,7 @@ var Font = function FontClosure() {
         var numOfMetrics = font.getUint16();
 
         if (numOfMetrics > numGlyphs) {
-          (0, _util.info)('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the 
numGlyphs (' + numGlyphs + ')');
+          (0, _util.info)("The numOfMetrics (" + numOfMetrics + ") should not be " + "greater than the 
numGlyphs (" + numGlyphs + ")");
           numOfMetrics = numGlyphs;
           header.data[34] = (numOfMetrics & 0xff00) >> 8;
           header.data[35] = numOfMetrics & 0x00ff;
@@ -36523,11 +26035,27 @@ var Font = function FontClosure() {
         for (i = 0; i < flagsCount; i++) {
           var flag = glyf[j++];
 
-          if (flag & 0xC0) {
-            glyf[j - 1] = flag & 0x3F;
+          if (flag & 0xc0) {
+            glyf[j - 1] = flag & 0x3f;
+          }
+
+          let xLength = 2;
+
+          if (flag & 2) {
+            xLength = 1;
+          } else if (flag & 16) {
+            xLength = 0;
+          }
+
+          let yLength = 2;
+
+          if (flag & 4) {
+            yLength = 1;
+          } else if (flag & 32) {
+            yLength = 0;
           }
 
-          var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2);
+          const xyLength = xLength + yLength;
           coordinatesLength += xyLength;
 
           if (flag & 8) {
@@ -36578,7 +26106,7 @@ var Font = function FontClosure() {
         var version = int32(data[0], data[1], data[2], data[3]);
 
         if (version >> 16 !== 1) {
-          (0, _util.info)('Attempting to fix invalid version in head table: ' + version);
+          (0, _util.info)("Attempting to fix invalid version in head table: " + version);
           data[0] = 0;
           data[1] = 1;
           data[2] = 0;
@@ -36588,7 +26116,7 @@ var Font = function FontClosure() {
         var indexToLocFormat = int16(data[50], data[51]);
 
         if (indexToLocFormat < 0 || indexToLocFormat > 1) {
-          (0, _util.info)('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat);
+          (0, _util.info)("Attempting to fix invalid indexToLocFormat in head table: " + indexToLocFormat);
           var numGlyphsPlusOne = numGlyphs + 1;
 
           if (locaLength === numGlyphsPlusOne << 1) {
@@ -36598,7 +26126,7 @@ var Font = function FontClosure() {
             data[50] = 0;
             data[51] = 1;
           } else {
-            throw new _util.FormatError('Could not fix indexToLocFormat: ' + indexToLocFormat);
+            throw new _util.FormatError("Could not fix indexToLocFormat: " + indexToLocFormat);
           }
         }
       }
@@ -36614,10 +26142,10 @@ var Font = function FontClosure() {
           };
 
           itemEncode = function fontItemEncodeLong(data, offset, value) {
-            data[offset] = value >>> 24 & 0xFF;
-            data[offset + 1] = value >> 16 & 0xFF;
-            data[offset + 2] = value >> 8 & 0xFF;
-            data[offset + 3] = value & 0xFF;
+            data[offset] = value >>> 24 & 0xff;
+            data[offset + 1] = value >> 16 & 0xff;
+            data[offset + 2] = value >> 8 & 0xff;
+            data[offset + 3] = value & 0xff;
           };
         } else {
           itemSize = 2;
@@ -36627,15 +26155,14 @@ var Font = function FontClosure() {
           };
 
           itemEncode = function fontItemEncode(data, offset, value) {
-            data[offset] = value >> 9 & 0xFF;
-            data[offset + 1] = value >> 1 & 0xFF;
+            data[offset] = value >> 9 & 0xff;
+            data[offset + 1] = value >> 1 & 0xff;
           };
         }
 
         var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;
-        var locaData = loca.data;
         var locaDataSize = itemSize * (1 + numGlyphsOut);
-        locaData = new Uint8Array(locaDataSize);
+        var locaData = new Uint8Array(locaDataSize);
         locaData.set(loca.data.subarray(0, locaDataSize));
         loca.data = locaData;
         var oldGlyfData = glyf.data;
@@ -36703,8 +26230,8 @@ var Font = function FontClosure() {
         }
 
         return {
-          missingGlyphs: missingGlyphs,
-          maxSizeOfInstructions: maxSizeOfInstructions
+          missingGlyphs,
+          maxSizeOfInstructions
         };
       }
 
@@ -36760,7 +26287,7 @@ var Font = function FontClosure() {
                 strBuf[i] = String.fromCharCode(font.getByte());
               }
 
-              customNames.push(strBuf.join(''));
+              customNames.push(strBuf.join(""));
             }
 
             glyphNames = [];
@@ -36782,7 +26309,7 @@ var Font = function FontClosure() {
             break;
 
           default:
-            (0, _util.warn)('Unknown/unsupported post table version ' + version);
+            (0, _util.warn)("Unknown/unsupported post table version " + version);
             valid = false;
 
             if (properties.defaultEncoding) {
@@ -36847,7 +26374,7 @@ var Font = function FontClosure() {
           var nameIndex = record.name;
 
           if (record.encoding) {
-            var str = '';
+            var str = "";
 
             for (var j = 0, jj = record.length; j < jj; j += 2) {
               str += String.fromCharCode(font.getUint16());
@@ -36906,8 +26433,8 @@ var Font = function FontClosure() {
                 stack.push(b << 8 | data[i++]);
               }
             }
-          } else if ((op & 0xF8) === 0xB0) {
-            n = op - 0xB0 + 1;
+          } else if ((op & 0xf8) === 0xb0) {
+            n = op - 0xb0 + 1;
 
             if (inFDEF || inELSE) {
               i += n;
@@ -36916,8 +26443,8 @@ var Font = function FontClosure() {
                 stack.push(data[i++]);
               }
             }
-          } else if ((op & 0xF8) === 0xB8) {
-            n = op - 0xB8 + 1;
+          } else if ((op & 0xf8) === 0xb8) {
+            n = op - 0xb8 + 1;
 
             if (inFDEF || inELSE) {
               i += n * 2;
@@ -36927,20 +26454,20 @@ var Font = function FontClosure() {
                 stack.push(b << 8 | data[i++]);
               }
             }
-          } else if (op === 0x2B && !tooComplexToFollowFunctions) {
+          } else if (op === 0x2b && !tooComplexToFollowFunctions) {
             if (!inFDEF && !inELSE) {
               funcId = stack[stack.length - 1];
 
               if (isNaN(funcId)) {
-                (0, _util.info)('TT: CALL empty stack (or invalid entry).');
+                (0, _util.info)("TT: CALL empty stack (or invalid entry).");
               } else {
                 ttContext.functionsUsed[funcId] = true;
 
                 if (funcId in ttContext.functionsStackDeltas) {
-                  var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];
+                  const newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];
 
                   if (newStackLength < 0) {
-                    (0, _util.warn)('TT: CALL invalid functions stack delta.');
+                    (0, _util.warn)("TT: CALL invalid functions stack delta.");
                     ttContext.hintsValid = false;
                     return;
                   }
@@ -36948,15 +26475,15 @@ var Font = function FontClosure() {
                   stack.length = newStackLength;
                 } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {
                   callstack.push({
-                    data: data,
-                    i: i,
+                    data,
+                    i,
                     stackTop: stack.length - 1
                   });
                   functionsCalled.push(funcId);
                   pc = ttContext.functionsDefined[funcId];
 
                   if (!pc) {
-                    (0, _util.warn)('TT: CALL non-existent function');
+                    (0, _util.warn)("TT: CALL non-existent function");
                     ttContext.hintsValid = false;
                     return;
                   }
@@ -36966,9 +26493,9 @@ var Font = function FontClosure() {
                 }
               }
             }
-          } else if (op === 0x2C && !tooComplexToFollowFunctions) {
+          } else if (op === 0x2c && !tooComplexToFollowFunctions) {
             if (inFDEF || inELSE) {
-              (0, _util.warn)('TT: nested FDEFs not allowed');
+              (0, _util.warn)("TT: nested FDEFs not allowed");
               tooComplexToFollowFunctions = true;
             }
 
@@ -36976,10 +26503,10 @@ var Font = function FontClosure() {
             lastDeff = i;
             funcId = stack.pop();
             ttContext.functionsDefined[funcId] = {
-              data: data,
-              i: i
+              data,
+              i
             };
-          } else if (op === 0x2D) {
+          } else if (op === 0x2d) {
             if (inFDEF) {
               inFDEF = false;
               lastEndf = i;
@@ -36987,7 +26514,7 @@ var Font = function FontClosure() {
               pc = callstack.pop();
 
               if (!pc) {
-                (0, _util.warn)('TT: ENDF bad stack');
+                (0, _util.warn)("TT: ENDF bad stack");
                 ttContext.hintsValid = false;
                 return;
               }
@@ -36999,7 +26526,7 @@ var Font = function FontClosure() {
             }
           } else if (op === 0x89) {
             if (inFDEF || inELSE) {
-              (0, _util.warn)('TT: nested IDEFs not allowed');
+              (0, _util.warn)("TT: nested IDEFs not allowed");
               tooComplexToFollowFunctions = true;
             }
 
@@ -37007,7 +26534,7 @@ var Font = function FontClosure() {
             lastDeff = i;
           } else if (op === 0x58) {
             ++ifLevel;
-          } else if (op === 0x1B) {
+          } else if (op === 0x1b) {
             inELSE = ifLevel;
           } else if (op === 0x59) {
             if (inELSE === ifLevel) {
@@ -37015,7 +26542,7 @@ var Font = function FontClosure() {
             }
 
             --ifLevel;
-          } else if (op === 0x1C) {
+          } else if (op === 0x1c) {
             if (!inFDEF && !inELSE) {
               var offset = stack[stack.length - 1];
 
@@ -37026,7 +26553,15 @@ var Font = function FontClosure() {
           }
 
           if (!inFDEF && !inELSE) {
-            var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 
? -2 : 0;
+            let stackDelta = 0;
+
+            if (op <= 0x8e) {
+              stackDelta = TTOpsStackDeltas[op];
+            } else if (op >= 0xc0 && op <= 0xdf) {
+              stackDelta = -1;
+            } else if (op >= 0xe0) {
+              stackDelta = -2;
+            }
 
             if (op >= 0x71 && op <= 0x75) {
               n = stack.pop();
@@ -37056,8 +26591,8 @@ var Font = function FontClosure() {
         }
 
         if (lastDeff > lastEndf) {
-          (0, _util.warn)('TT: complementing a missing function tail');
-          content.push(new Uint8Array([0x22, 0x2D]));
+          (0, _util.warn)("TT: complementing a missing function tail");
+          content.push(new Uint8Array([0x22, 0x2d]));
         }
 
         foldTTTable(table, content);
@@ -37069,20 +26604,20 @@ var Font = function FontClosure() {
         }
 
         if (ttContext.functionsDefined.length > maxFunctionDefs) {
-          (0, _util.warn)('TT: more functions defined than expected');
+          (0, _util.warn)("TT: more functions defined than expected");
           ttContext.hintsValid = false;
           return;
         }
 
         for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {
           if (j > maxFunctionDefs) {
-            (0, _util.warn)('TT: invalid function id: ' + j);
+            (0, _util.warn)("TT: invalid function id: " + j);
             ttContext.hintsValid = false;
             return;
           }
 
           if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {
-            (0, _util.warn)('TT: undefined function: ' + j);
+            (0, _util.warn)("TT: undefined function: " + j);
             ttContext.hintsValid = false;
             return;
           }
@@ -37143,10 +26678,10 @@ var Font = function FontClosure() {
       }
 
       font = new _stream.Stream(new Uint8Array(font.getBytes()));
-      var header, tables;
+      let header, tables;
 
       if (isTrueTypeCollectionFile(font)) {
-        var ttcData = readTrueTypeCollectionData(font, this.name);
+        const ttcData = readTrueTypeCollectionData(font, this.name);
         header = ttcData.header;
         tables = ttcData.tables;
       } else {
@@ -37154,34 +26689,34 @@ var Font = function FontClosure() {
         tables = readTables(font, header.numTables);
       }
 
-      var cff, cffFile;
-      var isTrueType = !tables['CFF '];
+      let cff, cffFile;
+      var isTrueType = !tables["CFF "];
 
       if (!isTrueType) {
-        var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || 
!(properties.cMap instanceof _cmap.IdentityCMap));
+        const isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || 
!(properties.cMap instanceof _cmap.IdentityCMap));
 
-        if (header.version === 'OTTO' && !isComposite || !tables['head'] || !tables['hhea'] || 
!tables['maxp'] || !tables['post']) {
-          cffFile = new _stream.Stream(tables['CFF '].data);
+        if (header.version === "OTTO" && !isComposite || !tables["head"] || !tables["hhea"] || 
!tables["maxp"] || !tables["post"]) {
+          cffFile = new _stream.Stream(tables["CFF "].data);
           cff = new CFFFont(cffFile, properties);
           adjustWidths(properties);
           return this.convert(name, cff, properties);
         }
 
-        delete tables['glyf'];
-        delete tables['loca'];
-        delete tables['fpgm'];
-        delete tables['prep'];
-        delete tables['cvt '];
+        delete tables["glyf"];
+        delete tables["loca"];
+        delete tables["fpgm"];
+        delete tables["prep"];
+        delete tables["cvt "];
         this.isOpenType = true;
       } else {
-        if (!tables['loca']) {
+        if (!tables["loca"]) {
           throw new _util.FormatError('Required "loca" table is not found');
         }
 
-        if (!tables['glyf']) {
+        if (!tables["glyf"]) {
           (0, _util.warn)('Required "glyf" table is not found -- trying to recover.');
-          tables['glyf'] = {
-            tag: 'glyf',
+          tables["glyf"] = {
+            tag: "glyf",
             data: new Uint8Array(0)
           };
         }
@@ -37189,32 +26724,32 @@ var Font = function FontClosure() {
         this.isOpenType = false;
       }
 
-      if (!tables['maxp']) {
+      if (!tables["maxp"]) {
         throw new _util.FormatError('Required "maxp" table is not found');
       }
 
-      font.pos = (font.start || 0) + tables['maxp'].offset;
+      font.pos = (font.start || 0) + tables["maxp"].offset;
       var version = font.getInt32();
-      var numGlyphs = font.getUint16();
-      var numGlyphsOut = numGlyphs + 1;
-      var dupFirstEntry = true;
+      const numGlyphs = font.getUint16();
+      let numGlyphsOut = numGlyphs + 1;
+      let dupFirstEntry = true;
 
-      if (numGlyphsOut > 0xFFFF) {
+      if (numGlyphsOut > 0xffff) {
         dupFirstEntry = false;
         numGlyphsOut = numGlyphs;
-        (0, _util.warn)('Not enough space in glyfs to duplicate first glyph.');
+        (0, _util.warn)("Not enough space in glyfs to duplicate first glyph.");
       }
 
       var maxFunctionDefs = 0;
       var maxSizeOfInstructions = 0;
 
-      if (version >= 0x00010000 && tables['maxp'].length >= 22) {
+      if (version >= 0x00010000 && tables["maxp"].length >= 22) {
         font.pos += 8;
         var maxZones = font.getUint16();
 
         if (maxZones > 2) {
-          tables['maxp'].data[14] = 0;
-          tables['maxp'].data[15] = 2;
+          tables["maxp"].data[14] = 0;
+          tables["maxp"].data[15] = 2;
         }
 
         font.pos += 4;
@@ -37223,61 +26758,61 @@ var Font = function FontClosure() {
         maxSizeOfInstructions = font.getUint16();
       }
 
-      tables['maxp'].data[4] = numGlyphsOut >> 8;
-      tables['maxp'].data[5] = numGlyphsOut & 255;
-      var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs);
+      tables["maxp"].data[4] = numGlyphsOut >> 8;
+      tables["maxp"].data[5] = numGlyphsOut & 255;
+      var hintsValid = sanitizeTTPrograms(tables["fpgm"], tables["prep"], tables["cvt "], maxFunctionDefs);
 
       if (!hintsValid) {
-        delete tables['fpgm'];
-        delete tables['prep'];
-        delete tables['cvt '];
+        delete tables["fpgm"];
+        delete tables["prep"];
+        delete tables["cvt "];
       }
 
-      sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphsOut, dupFirstEntry);
+      sanitizeMetrics(font, tables["hhea"], tables["hmtx"], numGlyphsOut, dupFirstEntry);
 
-      if (!tables['head']) {
+      if (!tables["head"]) {
         throw new _util.FormatError('Required "head" table is not found');
       }
 
-      sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0);
+      sanitizeHead(tables["head"], numGlyphs, isTrueType ? tables["loca"].length : 0);
       var missingGlyphs = Object.create(null);
 
       if (isTrueType) {
-        var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);
-        var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, 
isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
+        var isGlyphLocationsLong = int16(tables["head"].data[50], tables["head"].data[51]);
+        var glyphsInfo = sanitizeGlyphLocations(tables["loca"], tables["glyf"], numGlyphs, 
isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
         missingGlyphs = glyphsInfo.missingGlyphs;
 
-        if (version >= 0x00010000 && tables['maxp'].length >= 22) {
-          tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
-          tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
+        if (version >= 0x00010000 && tables["maxp"].length >= 22) {
+          tables["maxp"].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
+          tables["maxp"].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
         }
       }
 
-      if (!tables['hhea']) {
+      if (!tables["hhea"]) {
         throw new _util.FormatError('Required "hhea" table is not found');
       }
 
-      if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) {
-        tables['hhea'].data[10] = 0xFF;
-        tables['hhea'].data[11] = 0xFF;
+      if (tables["hhea"].data[10] === 0 && tables["hhea"].data[11] === 0) {
+        tables["hhea"].data[10] = 0xff;
+        tables["hhea"].data[11] = 0xff;
       }
 
       var metricsOverride = {
-        unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]),
-        yMax: int16(tables['head'].data[42], tables['head'].data[43]),
-        yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]),
-        ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]),
-        descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7])
+        unitsPerEm: int16(tables["head"].data[18], tables["head"].data[19]),
+        yMax: int16(tables["head"].data[42], tables["head"].data[43]),
+        yMin: signedInt16(tables["head"].data[38], tables["head"].data[39]),
+        ascent: int16(tables["hhea"].data[4], tables["hhea"].data[5]),
+        descent: signedInt16(tables["hhea"].data[6], tables["hhea"].data[7])
       };
       this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;
       this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;
 
-      if (tables['post']) {
-        readPostScriptTable(tables['post'], properties, numGlyphs);
+      if (tables["post"]) {
+        readPostScriptTable(tables["post"], properties, numGlyphs);
       }
 
-      tables['post'] = {
-        tag: 'post',
+      tables["post"] = {
+        tag: "post",
         data: createPostTable(properties)
       };
       var charCodeToGlyphId = [],
@@ -37292,7 +26827,7 @@ var Font = function FontClosure() {
         var isCidToGidMapEmpty = cidToGidMap.length === 0;
         properties.cMap.forEach(function (charCode, cid) {
           if (cid > 0xffff) {
-            throw new _util.FormatError('Max size of CID is 65,535');
+            throw new _util.FormatError("Max size of CID is 65,535");
           }
 
           var glyphId = -1;
@@ -37308,7 +26843,7 @@ var Font = function FontClosure() {
           }
         });
       } else {
-        var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding);
+        var cmapTable = readCmapTable(tables["cmap"], font, this.isSymbolicFont, properties.hasEncoding);
         var cmapPlatformId = cmapTable.platformId;
         var cmapEncodingId = cmapTable.encodingId;
         var cmapMappings = cmapTable.mappings;
@@ -37317,7 +26852,7 @@ var Font = function FontClosure() {
         if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 
&& cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, 
_encodings.getEncoding)(properties.baseEncodingName)) {
           var baseEncoding = [];
 
-          if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 
'WinAnsiEncoding') {
+          if (properties.baseEncodingName === "MacRomanEncoding" || properties.baseEncodingName === 
"WinAnsiEncoding") {
             baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);
           }
 
@@ -37328,7 +26863,7 @@ var Font = function FontClosure() {
 
             if (this.differences && charCode in this.differences) {
               glyphName = this.differences[charCode];
-            } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') {
+            } else if (charCode in baseEncoding && baseEncoding[charCode] !== "") {
               glyphName = baseEncoding[charCode];
             } else {
               glyphName = _encodings.StandardEncoding[charCode];
@@ -37349,7 +26884,7 @@ var Font = function FontClosure() {
 
             var found = false;
 
-            for (var i = 0; i < cmapMappingsLength; ++i) {
+            for (let i = 0; i < cmapMappingsLength; ++i) {
               if (cmapMappings[i].charCode !== unicodeOrCharCode) {
                 continue;
               }
@@ -37372,18 +26907,18 @@ var Font = function FontClosure() {
             }
           }
         } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {
-          for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {
-            charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;
+          for (let i = 0; i < cmapMappingsLength; ++i) {
+            charCodeToGlyphId[cmapMappings[i].charCode] = cmapMappings[i].glyphId;
           }
         } else {
-          for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {
-            charCode = cmapMappings[_i3].charCode;
+          for (let i = 0; i < cmapMappingsLength; ++i) {
+            charCode = cmapMappings[i].charCode;
 
-            if (cmapPlatformId === 3 && charCode >= 0xF000 && charCode <= 0xF0FF) {
-              charCode &= 0xFF;
+            if (cmapPlatformId === 3 && charCode >= 0xf000 && charCode <= 0xf0ff) {
+              charCode &= 0xff;
             }
 
-            charCodeToGlyphId[charCode] = cmapMappings[_i3].glyphId;
+            charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;
           }
         }
       }
@@ -37392,7 +26927,7 @@ var Font = function FontClosure() {
         charCodeToGlyphId[0] = 0;
       }
 
-      var glyphZeroId = numGlyphsOut - 1;
+      let glyphZeroId = numGlyphsOut - 1;
 
       if (!dupFirstEntry) {
         glyphZeroId = 0;
@@ -37400,39 +26935,39 @@ var Font = function FontClosure() {
 
       var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);
       this.toFontChar = newMapping.toFontChar;
-      tables['cmap'] = {
-        tag: 'cmap',
+      tables["cmap"] = {
+        tag: "cmap",
         data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)
       };
 
-      if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {
-        tables['OS/2'] = {
-          tag: 'OS/2',
+      if (!tables["OS/2"] || !validateOS2Table(tables["OS/2"])) {
+        tables["OS/2"] = {
+          tag: "OS/2",
           data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)
         };
       }
 
       if (!isTrueType) {
         try {
-          cffFile = new _stream.Stream(tables['CFF '].data);
+          cffFile = new _stream.Stream(tables["CFF "].data);
           var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);
           cff = parser.parse();
           cff.duplicateFirstGlyph();
           var compiler = new _cff_parser.CFFCompiler(cff);
-          tables['CFF '].data = compiler.compile();
+          tables["CFF "].data = compiler.compile();
         } catch (e) {
-          (0, _util.warn)('Failed to compile font ' + properties.loadedName);
+          (0, _util.warn)("Failed to compile font " + properties.loadedName);
         }
       }
 
-      if (!tables['name']) {
-        tables['name'] = {
-          tag: 'name',
+      if (!tables["name"]) {
+        tables["name"] = {
+          tag: "name",
           data: createNameTable(this.name)
         };
       } else {
-        var namePrototype = readNameTable(tables['name']);
-        tables['name'].data = createNameTable(name, namePrototype);
+        var namePrototype = readNameTable(tables["name"]);
+        tables["name"].data = createNameTable(name, namePrototype);
       }
 
       var builder = new OpenTypeFileBuilder(header.version);
@@ -37450,7 +26985,7 @@ var Font = function FontClosure() {
         adjustToUnicode(properties, properties.builtInEncoding);
       }
 
-      var glyphZeroId = 1;
+      let glyphZeroId = 1;
 
       if (font instanceof CFFFont) {
         glyphZeroId = font.numGlyphs - 1;
@@ -37523,9 +27058,9 @@ var Font = function FontClosure() {
             var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);
             var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);
             seacMap[charCode] = {
-              baseFontCharCode: baseFontCharCode,
-              accentFontCharCode: accentFontCharCode,
-              accentOffset: accentOffset
+              baseFontCharCode,
+              accentFontCharCode,
+              accentOffset
             };
           }
         }
@@ -37534,23 +27069,23 @@ var Font = function FontClosure() {
       }
 
       var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];
-      var builder = new OpenTypeFileBuilder('\x4F\x54\x54\x4F');
-      builder.addTable('CFF ', font.data);
-      builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId));
-      builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));
-      builder.addTable('head', '\x00\x01\x00\x00' + '\x00\x00\x10\x00' + '\x00\x00\x00\x00' + 
'\x5F\x0F\x3C\xF5' + '\x00\x00' + safeString16(unitsPerEm) + '\x00\x00\x00\x00\x9e\x0b\x7e\x27' + 
'\x00\x00\x00\x00\x9e\x0b\x7e\x27' + '\x00\x00' + safeString16(properties.descent) + '\x0F\xFF' + 
safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\x00\x11' + '\x00\x00' + 
'\x00\x00' + '\x00\x00');
-      builder.addTable('hhea', '\x00\x01\x00\x00' + safeString16(properties.ascent) + 
safeString16(properties.descent) + '\x00\x00' + '\xFF\xFF' + '\x00\x00' + '\x00\x00' + '\x00\x00' + 
safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + 
'\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + string16(numGlyphs));
-      builder.addTable('hmtx', function fontFieldsHmtx() {
+      var builder = new OpenTypeFileBuilder("\x4F\x54\x54\x4F");
+      builder.addTable("CFF ", font.data);
+      builder.addTable("OS/2", createOS2Table(properties, newMapping.charCodeToGlyphId));
+      builder.addTable("cmap", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));
+      builder.addTable("head", "\x00\x01\x00\x00" + "\x00\x00\x10\x00" + "\x00\x00\x00\x00" + 
"\x5F\x0F\x3C\xF5" + "\x00\x00" + safeString16(unitsPerEm) + "\x00\x00\x00\x00\x9e\x0b\x7e\x27" + 
"\x00\x00\x00\x00\x9e\x0b\x7e\x27" + "\x00\x00" + safeString16(properties.descent) + "\x0F\xFF" + 
safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + "\x00\x11" + "\x00\x00" + 
"\x00\x00" + "\x00\x00");
+      builder.addTable("hhea", "\x00\x01\x00\x00" + safeString16(properties.ascent) + 
safeString16(properties.descent) + "\x00\x00" + "\xFF\xFF" + "\x00\x00" + "\x00\x00" + "\x00\x00" + 
safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + 
"\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + string16(numGlyphs));
+      builder.addTable("hmtx", function fontFieldsHmtx() {
         var charstrings = font.charstrings;
         var cffWidths = font.cff ? font.cff.widths : null;
-        var hmtx = '\x00\x00\x00\x00';
+        var hmtx = "\x00\x00\x00\x00";
 
         for (var i = 1, ii = numGlyphs; i < ii; i++) {
           var width = 0;
 
           if (charstrings) {
             var charstring = charstrings[i - 1];
-            width = 'width' in charstring ? charstring.width : 0;
+            width = "width" in charstring ? charstring.width : 0;
           } else if (cffWidths) {
             width = Math.ceil(cffWidths[i] || 0);
           }
@@ -37560,18 +27095,18 @@ var Font = function FontClosure() {
 
         return hmtx;
       }());
-      builder.addTable('maxp', '\x00\x00\x50\x00' + string16(numGlyphs));
-      builder.addTable('name', createNameTable(fontName));
-      builder.addTable('post', createPostTable(properties));
+      builder.addTable("maxp", "\x00\x00\x50\x00" + string16(numGlyphs));
+      builder.addTable("name", createNameTable(fontName));
+      builder.addTable("post", createPostTable(properties));
       return builder.toArray();
     },
 
     get spaceWidth() {
-      if ('_shadowWidth' in this) {
+      if ("_shadowWidth" in this) {
         return this._shadowWidth;
       }
 
-      var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];
+      var possibleSpaceReplacements = ["space", "minus", "one", "i", "I"];
       var width;
 
       for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {
@@ -37623,9 +27158,9 @@ var Font = function FontClosure() {
       width = this.widths[widthCode];
       width = (0, _util.isNum)(width) ? width : this.defaultWidth;
       var vmetric = this.vmetrics && this.vmetrics[widthCode];
-      var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;
+      let unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;
 
-      if (typeof unicode === 'number') {
+      if (typeof unicode === "number") {
         unicode = String.fromCharCode(unicode);
       }
 
@@ -37633,6 +27168,12 @@ var Font = function FontClosure() {
       fontCharCode = this.toFontChar[charcode] || charcode;
 
       if (this.missingFile) {
+        const glyphName = this.differences[charcode] || this.defaultEncoding[charcode];
+
+        if ((glyphName === ".notdef" || glyphName === "") && this.type === "Type1") {
+          fontCharCode = 0x20;
+        }
+
         fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);
       }
 
@@ -37652,7 +27193,7 @@ var Font = function FontClosure() {
         };
       }
 
-      var fontChar = typeof fontCharCode === 'number' ? String.fromCodePoint(fontCharCode) : '';
+      var fontChar = typeof fontCharCode === "number" ? String.fromCodePoint(fontCharCode) : "";
       var glyph = this.glyphCache[charcode];
 
       if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, 
isSpace, isInFont)) {
@@ -37719,7 +27260,7 @@ exports.Font = Font;
 var ErrorFont = function ErrorFontClosure() {
   function ErrorFont(error) {
     this.error = error;
-    this.loadedName = 'g_font_error';
+    this.loadedName = "g_font_error";
     this.missingFile = true;
   }
 
@@ -37823,7 +27364,7 @@ var Type1Font = function Type1FontClosure() {
       if (j >= signatureLength) {
         i += j;
 
-        while (i < streamBytesLength && (0, _util.isSpace)(streamBytes[i])) {
+        while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {
           i++;
         }
 
@@ -37835,7 +27376,7 @@ var Type1Font = function Type1FontClosure() {
     }
 
     return {
-      found: found,
+      found,
       length: i
     };
   }
@@ -37953,7 +27494,7 @@ var Type1Font = function Type1FontClosure() {
     },
 
     getCharset: function Type1Font_getCharset() {
-      var charset = ['.notdef'];
+      var charset = [".notdef"];
       var charstrings = this.charstrings;
 
       for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {
@@ -37964,7 +27505,7 @@ var Type1Font = function Type1FontClosure() {
     },
     getGlyphMapping: function Type1Font_getGlyphMapping(properties) {
       var charstrings = this.charstrings;
-      var glyphNames = ['.notdef'],
+      var glyphNames = [".notdef"],
           glyphId;
 
       for (glyphId = 0; glyphId < charstrings.length; glyphId++) {
@@ -38038,7 +27579,7 @@ var Type1Font = function Type1FontClosure() {
       var i;
 
       for (i = 0; i < bias; i++) {
-        type2Subrs.push([0x0B]);
+        type2Subrs.push([0x0b]);
       }
 
       for (i = 0; i < count; i++) {
@@ -38052,34 +27593,34 @@ var Type1Font = function Type1FontClosure() {
       cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);
       cff.names = [name];
       var topDict = new _cff_parser.CFFTopDict();
-      topDict.setByName('version', 391);
-      topDict.setByName('Notice', 392);
-      topDict.setByName('FullName', 393);
-      topDict.setByName('FamilyName', 394);
-      topDict.setByName('Weight', 395);
-      topDict.setByName('Encoding', null);
-      topDict.setByName('FontMatrix', properties.fontMatrix);
-      topDict.setByName('FontBBox', properties.bbox);
-      topDict.setByName('charset', null);
-      topDict.setByName('CharStrings', null);
-      topDict.setByName('Private', null);
+      topDict.setByName("version", 391);
+      topDict.setByName("Notice", 392);
+      topDict.setByName("FullName", 393);
+      topDict.setByName("FamilyName", 394);
+      topDict.setByName("Weight", 395);
+      topDict.setByName("Encoding", null);
+      topDict.setByName("FontMatrix", properties.fontMatrix);
+      topDict.setByName("FontBBox", properties.bbox);
+      topDict.setByName("charset", null);
+      topDict.setByName("CharStrings", null);
+      topDict.setByName("Private", null);
       cff.topDict = topDict;
       var strings = new _cff_parser.CFFStrings();
-      strings.add('Version 0.11');
-      strings.add('See original notice');
+      strings.add("Version 0.11");
+      strings.add("See original notice");
       strings.add(name);
       strings.add(name);
-      strings.add('Medium');
+      strings.add("Medium");
       cff.strings = strings;
       cff.globalSubrIndex = new _cff_parser.CFFIndex();
       var count = glyphs.length;
-      var charsetArray = ['.notdef'];
+      var charsetArray = [".notdef"];
       var i, ii;
 
       for (i = 0; i < count; i++) {
-        var glyphName = charstrings[i].glyphName;
+        const glyphName = charstrings[i].glyphName;
 
-        var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);
+        const index = _cff_parser.CFFStandardStrings.indexOf(glyphName);
 
         if (index === -1) {
           strings.add(glyphName);
@@ -38090,7 +27631,7 @@ var Type1Font = function Type1FontClosure() {
 
       cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);
       var charStringsIndex = new _cff_parser.CFFIndex();
-      charStringsIndex.add([0x8B, 0x0E]);
+      charStringsIndex.add([0x8b, 0x0e]);
 
       for (i = 0; i < count; i++) {
         charStringsIndex.add(glyphs[i]);
@@ -38098,8 +27639,8 @@ var Type1Font = function Type1FontClosure() {
 
       cff.charStrings = charStringsIndex;
       var privateDict = new _cff_parser.CFFPrivateDict();
-      privateDict.setByName('Subrs', null);
-      var fields = ['BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'StemSnapH', 'StemSnapV', 
'BlueShift', 'BlueFuzz', 'BlueScale', 'LanguageGroup', 'ExpansionFactor', 'ForceBold', 'StdHW', 'StdVW'];
+      privateDict.setByName("Subrs", null);
+      var fields = ["BlueValues", "OtherBlues", "FamilyBlues", "FamilyOtherBlues", "StemSnapH", "StemSnapV", 
"BlueShift", "BlueFuzz", "BlueScale", "LanguageGroup", "ExpansionFactor", "ForceBold", "StdHW", "StdVW"];
 
       for (i = 0, ii = fields.length; i < ii; i++) {
         var field = fields[i];
@@ -38146,7 +27687,7 @@ var CFFFont = function CFFFontClosure() {
     try {
       this.data = compiler.compile();
     } catch (e) {
-      (0, _util.warn)('Failed to compile font ' + properties.loadedName);
+      (0, _util.warn)("Failed to compile font " + properties.loadedName);
       this.data = file;
     }
   }
@@ -38168,7 +27709,7 @@ var CFFFont = function CFFFontClosure() {
 
       if (properties.composite) {
         charCodeToGlyphId = Object.create(null);
-        var charCode;
+        let charCode;
 
         if (cff.isCIDFont) {
           for (glyphId = 0; glyphId < charsets.length; glyphId++) {
@@ -38198,7 +27739,7 @@ var CFFFont = function CFFFontClosure() {
 }();
 
 /***/ }),
-/* 207 */
+/* 28 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -38209,224 +27750,224 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset 
= exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = 
exports.CFFStandardStrings = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var _charsets = __w_pdfjs_require__(208);
+var _charsets = __w_pdfjs_require__(29);
 
-var _encodings = __w_pdfjs_require__(209);
+var _encodings = __w_pdfjs_require__(30);
 
 var MAX_SUBR_NESTING = 10;
-var CFFStandardStrings = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 
'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 
'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 
'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 
'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 
'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 
'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragra
 ph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 
'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 
'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 
'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 
'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 
'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 
'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 
'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 
'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 
'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircum
 flex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 
'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 
'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron', 
'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 
'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'zerooldstyle', 'oneoldstyle', 
'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 
'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 
'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 
'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', 
'parenrightinferior', 'Circumflexsmall', 'hyphensu
 perior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 
'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 
'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 
'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 
'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 
'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 
'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 
'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 
'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 
'nineinferior', 'centinferior', 'dollarinferior', 'periodinferi
 or', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 
'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 
'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 
'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 
'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', 
'001.000', '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 
'Semibold'];
+var CFFStandardStrings = [".notdef", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", 
"ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", 
"slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", 
"bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", 
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", 
"braceright", "asciitilde", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", 
"currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", 
"endash", "dagger", "daggerdbl", "periodcentered", "paragra
 ph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellipsis", 
"perthousand", "questiondown", "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent", 
"dieresis", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", "emdash", "AE", "ordfeminine", "Lslash", 
"Oslash", "OE", "ordmasculine", "ae", "dotlessi", "lslash", "oslash", "oe", "germandbls", "onesuperior", 
"logicalnot", "mu", "trademark", "Eth", "onehalf", "plusminus", "Thorn", "onequarter", "divide", "brokenbar", 
"degree", "thorn", "threequarters", "twosuperior", "registered", "minus", "eth", "multiply", "threesuperior", 
"copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", "Aring", "Atilde", "Ccedilla", "Eacute", 
"Ecircumflex", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Ntilde", "Oacute", 
"Ocircumflex", "Odieresis", "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", "Udieresis", "Ugrave", 
"Yacute", "Ydieresis", "Zcaron", "aacute", "acircum
 flex", "adieresis", "agrave", "aring", "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", "egrave", 
"iacute", "icircumflex", "idieresis", "igrave", "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", 
"otilde", "scaron", "uacute", "ucircumflex", "udieresis", "ugrave", "yacute", "ydieresis", "zcaron", 
"exclamsmall", "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", 
"parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "zerooldstyle", "oneoldstyle", 
"twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", 
"eightoldstyle", "nineoldstyle", "commasuperior", "threequartersemdash", "periodsuperior", "questionsmall", 
"asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", "msuperior", 
"nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", "ffi", "ffl", "parenleftinferior", 
"parenrightinferior", "Circumflexsmall", "hyphensu
 perior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", 
"Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", 
"Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", 
"Tildesmall", "exclamdownsmall", "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", 
"Dieresissmall", "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", "hypheninferior", 
"Ogoneksmall", "Ringsmall", "Cedillasmall", "questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", 
"seveneighths", "onethird", "twothirds", "zerosuperior", "foursuperior", "fivesuperior", "sixsuperior", 
"sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", 
"threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", 
"nineinferior", "centinferior", "dollarinferior", "periodinferi
 or", "commainferior", "Agravesmall", "Aacutesmall", "Acircumflexsmall", "Atildesmall", "Adieresissmall", 
"Aringsmall", "AEsmall", "Ccedillasmall", "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", 
"Igravesmall", "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", 
"Oacutesmall", "Ocircumflexsmall", "Otildesmall", "Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", 
"Uacutesmall", "Ucircumflexsmall", "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall", 
"001.000", "001.001", "001.002", "001.003", "Black", "Bold", "Book", "Light", "Medium", "Regular", "Roman", 
"Semibold"];
 exports.CFFStandardStrings = CFFStandardStrings;
-var NUM_STANDARD_CFF_STRINGS = 391;
+const NUM_STANDARD_CFF_STRINGS = 391;
 
 var CFFParser = function CFFParserClosure() {
   var CharstringValidationData = [null, {
-    id: 'hstem',
+    id: "hstem",
     min: 2,
     stackClearing: true,
     stem: true
   }, null, {
-    id: 'vstem',
+    id: "vstem",
     min: 2,
     stackClearing: true,
     stem: true
   }, {
-    id: 'vmoveto',
+    id: "vmoveto",
     min: 1,
     stackClearing: true
   }, {
-    id: 'rlineto',
+    id: "rlineto",
     min: 2,
     resetStack: true
   }, {
-    id: 'hlineto',
+    id: "hlineto",
     min: 1,
     resetStack: true
   }, {
-    id: 'vlineto',
+    id: "vlineto",
     min: 1,
     resetStack: true
   }, {
-    id: 'rrcurveto',
+    id: "rrcurveto",
     min: 6,
     resetStack: true
   }, null, {
-    id: 'callsubr',
+    id: "callsubr",
     min: 1,
     undefStack: true
   }, {
-    id: 'return',
+    id: "return",
     min: 0,
     undefStack: true
   }, null, null, {
-    id: 'endchar',
+    id: "endchar",
     min: 0,
     stackClearing: true
   }, null, null, null, {
-    id: 'hstemhm',
+    id: "hstemhm",
     min: 2,
     stackClearing: true,
     stem: true
   }, {
-    id: 'hintmask',
+    id: "hintmask",
     min: 0,
     stackClearing: true
   }, {
-    id: 'cntrmask',
+    id: "cntrmask",
     min: 0,
     stackClearing: true
   }, {
-    id: 'rmoveto',
+    id: "rmoveto",
     min: 2,
     stackClearing: true
   }, {
-    id: 'hmoveto',
+    id: "hmoveto",
     min: 1,
     stackClearing: true
   }, {
-    id: 'vstemhm',
+    id: "vstemhm",
     min: 2,
     stackClearing: true,
     stem: true
   }, {
-    id: 'rcurveline',
+    id: "rcurveline",
     min: 8,
     resetStack: true
   }, {
-    id: 'rlinecurve',
+    id: "rlinecurve",
     min: 8,
     resetStack: true
   }, {
-    id: 'vvcurveto',
+    id: "vvcurveto",
     min: 4,
     resetStack: true
   }, {
-    id: 'hhcurveto',
+    id: "hhcurveto",
     min: 4,
     resetStack: true
   }, null, {
-    id: 'callgsubr',
+    id: "callgsubr",
     min: 1,
     undefStack: true
   }, {
-    id: 'vhcurveto',
+    id: "vhcurveto",
     min: 4,
     resetStack: true
   }, {
-    id: 'hvcurveto',
+    id: "hvcurveto",
     min: 4,
     resetStack: true
   }];
   var CharstringValidationData12 = [null, null, null, {
-    id: 'and',
+    id: "and",
     min: 2,
     stackDelta: -1
   }, {
-    id: 'or',
+    id: "or",
     min: 2,
     stackDelta: -1
   }, {
-    id: 'not',
+    id: "not",
     min: 1,
     stackDelta: 0
   }, null, null, null, {
-    id: 'abs',
+    id: "abs",
     min: 1,
     stackDelta: 0
   }, {
-    id: 'add',
+    id: "add",
     min: 2,
     stackDelta: -1,
     stackFn: function stack_div(stack, index) {
       stack[index - 2] = stack[index - 2] + stack[index - 1];
     }
   }, {
-    id: 'sub',
+    id: "sub",
     min: 2,
     stackDelta: -1,
     stackFn: function stack_div(stack, index) {
       stack[index - 2] = stack[index - 2] - stack[index - 1];
     }
   }, {
-    id: 'div',
+    id: "div",
     min: 2,
     stackDelta: -1,
     stackFn: function stack_div(stack, index) {
       stack[index - 2] = stack[index - 2] / stack[index - 1];
     }
   }, null, {
-    id: 'neg',
+    id: "neg",
     min: 1,
     stackDelta: 0,
     stackFn: function stack_div(stack, index) {
       stack[index - 1] = -stack[index - 1];
     }
   }, {
-    id: 'eq',
+    id: "eq",
     min: 2,
     stackDelta: -1
   }, null, null, {
-    id: 'drop',
+    id: "drop",
     min: 1,
     stackDelta: -1
   }, null, {
-    id: 'put',
+    id: "put",
     min: 2,
     stackDelta: -2
   }, {
-    id: 'get',
+    id: "get",
     min: 1,
     stackDelta: 0
   }, {
-    id: 'ifelse',
+    id: "ifelse",
     min: 4,
     stackDelta: -3
   }, {
-    id: 'random',
+    id: "random",
     min: 0,
     stackDelta: 1
   }, {
-    id: 'mul',
+    id: "mul",
     min: 2,
     stackDelta: -1,
     stackFn: function stack_div(stack, index) {
       stack[index - 2] = stack[index - 2] * stack[index - 1];
     }
   }, null, {
-    id: 'sqrt',
+    id: "sqrt",
     min: 1,
     stackDelta: 0
   }, {
-    id: 'dup',
+    id: "dup",
     min: 1,
     stackDelta: 1
   }, {
-    id: 'exch',
+    id: "exch",
     min: 2,
     stackDelta: 0
   }, {
-    id: 'index',
+    id: "index",
     min: 2,
     stackDelta: 0
   }, {
-    id: 'roll',
+    id: "roll",
     min: 3,
     stackDelta: -2
   }, null, null, null, {
-    id: 'hflex',
+    id: "hflex",
     min: 7,
     resetStack: true
   }, {
-    id: 'flex',
+    id: "flex",
     min: 13,
     resetStack: true
   }, {
-    id: 'hflex1',
+    id: "hflex1",
     min: 9,
     resetStack: true
   }, {
-    id: 'flex1',
+    id: "flex1",
     min: 11,
     resetStack: true
   }];
@@ -38455,16 +27996,16 @@ var CFFParser = function CFFParserClosure() {
       cff.topDict = topDict;
       cff.globalSubrIndex = globalSubrIndex.obj;
       this.parsePrivateDict(cff.topDict);
-      cff.isCIDFont = topDict.hasName('ROS');
-      var charStringOffset = topDict.getByName('CharStrings');
+      cff.isCIDFont = topDict.hasName("ROS");
+      var charStringOffset = topDict.getByName("CharStrings");
       var charStringIndex = this.parseIndex(charStringOffset).obj;
-      var fontMatrix = topDict.getByName('FontMatrix');
+      var fontMatrix = topDict.getByName("FontMatrix");
 
       if (fontMatrix) {
         properties.fontMatrix = fontMatrix;
       }
 
-      var fontBBox = topDict.getByName('FontBBox');
+      var fontBBox = topDict.getByName("FontBBox");
 
       if (fontBBox) {
         properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
@@ -38475,7 +28016,7 @@ var CFFParser = function CFFParserClosure() {
       var charset, encoding;
 
       if (cff.isCIDFont) {
-        var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj;
+        var fdArrayIndex = this.parseIndex(topDict.getByName("FDArray")).obj;
 
         for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {
           var dictRaw = fdArrayIndex.get(i);
@@ -38485,11 +28026,11 @@ var CFFParser = function CFFParserClosure() {
         }
 
         encoding = null;
-        charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true);
-        cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count);
+        charset = this.parseCharsets(topDict.getByName("charset"), charStringIndex.count, cff.strings, true);
+        cff.fdSelect = this.parseFDSelect(topDict.getByName("FDSelect"), charStringIndex.count);
       } else {
-        charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, 
false);
-        encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, 
charset.charset);
+        charset = this.parseCharsets(topDict.getByName("charset"), charStringIndex.count, cff.strings, 
false);
+        encoding = this.parseEncoding(topDict.getByName("Encoding"), properties, cff.strings, 
charset.charset);
       }
 
       cff.charset = charset;
@@ -38517,11 +28058,11 @@ var CFFParser = function CFFParserClosure() {
       }
 
       if (offset >= bytesLength) {
-        throw new _util.FormatError('Invalid CFF header');
+        throw new _util.FormatError("Invalid CFF header");
       }
 
       if (offset !== 0) {
-        (0, _util.info)('cff data is shifted');
+        (0, _util.info)("cff data is shifted");
         bytes = bytes.subarray(offset);
         this.bytes = bytes;
       }
@@ -38567,9 +28108,9 @@ var CFFParser = function CFFParserClosure() {
       }
 
       function parseFloatOperand() {
-        var str = '';
+        var str = "";
         var eof = 15;
-        var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];
+        const lookup = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "E", "E-", null, "-"];
         var length = dict.length;
 
         while (pos < length) {
@@ -38750,7 +28291,7 @@ var CFFParser = function CFFParserClosure() {
 
           if (!subrsIndex) {
             validationCommand = CharstringValidationData[value];
-            (0, _util.warn)('Missing subrsIndex for ' + validationCommand.id);
+            (0, _util.warn)("Missing subrsIndex for " + validationCommand.id);
             return false;
           }
 
@@ -38766,7 +28307,7 @@ var CFFParser = function CFFParserClosure() {
 
           if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {
             validationCommand = CharstringValidationData[value];
-            (0, _util.warn)('Out of bounds subrIndex for ' + validationCommand.id);
+            (0, _util.warn)("Out of bounds subrIndex for " + validationCommand.id);
             return false;
           }
 
@@ -38795,14 +28336,14 @@ var CFFParser = function CFFParserClosure() {
             if (value === 3 || value === 23) {
               state.hasVStems = true;
             } else if (state.hasVStems && (value === 1 || value === 18)) {
-              (0, _util.warn)('CFF stem hints are in wrong order');
+              (0, _util.warn)("CFF stem hints are in wrong order");
               data[j - 1] = value === 1 ? 3 : 23;
             }
           }
 
-          if ('min' in validationCommand) {
+          if ("min" in validationCommand) {
             if (!state.undefStack && stackSize < validationCommand.min) {
-              (0, _util.warn)('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize 
+ ', expected: ' + validationCommand.min);
+              (0, _util.warn)("Not enough parameters for " + validationCommand.id + "; actual: " + stackSize 
+ ", expected: " + validationCommand.min);
               return false;
             }
           }
@@ -38814,7 +28355,7 @@ var CFFParser = function CFFParserClosure() {
             if (stackSize >= 2 && validationCommand.stem) {
               stackSize %= 2;
             } else if (stackSize > 1) {
-              (0, _util.warn)('Found too many parameters for stack-clearing command');
+              (0, _util.warn)("Found too many parameters for stack-clearing command");
             }
 
             if (stackSize > 0 && stack[stackSize - 1] >= 0) {
@@ -38822,8 +28363,8 @@ var CFFParser = function CFFParserClosure() {
             }
           }
 
-          if ('stackDelta' in validationCommand) {
-            if ('stackFn' in validationCommand) {
+          if ("stackDelta" in validationCommand) {
+            if ("stackFn" in validationCommand) {
               validationCommand.stackFn(stack, stackSize);
             }
 
@@ -38844,13 +28385,15 @@ var CFFParser = function CFFParserClosure() {
       state.stackSize = stackSize;
       return true;
     },
-    parseCharStrings: function parseCharStrings(_ref) {
-      var charStrings = _ref.charStrings,
-          localSubrIndex = _ref.localSubrIndex,
-          globalSubrIndex = _ref.globalSubrIndex,
-          fdSelect = _ref.fdSelect,
-          fdArray = _ref.fdArray,
-          privateDict = _ref.privateDict;
+
+    parseCharStrings({
+      charStrings,
+      localSubrIndex,
+      globalSubrIndex,
+      fdSelect,
+      fdArray,
+      privateDict
+    }) {
       var seacs = [];
       var widths = [];
       var count = charStrings.count;
@@ -38876,12 +28419,12 @@ var CFFParser = function CFFParserClosure() {
           var fdIndex = fdSelect.getFDIndex(i);
 
           if (fdIndex === -1) {
-            (0, _util.warn)('Glyph index is not in fd select.');
+            (0, _util.warn)("Glyph index is not in fd select.");
             valid = false;
           }
 
           if (fdIndex >= fdArray.length) {
-            (0, _util.warn)('Invalid fd index for glyph index.');
+            (0, _util.warn)("Invalid fd index for glyph index.");
             valid = false;
           }
 
@@ -38898,10 +28441,10 @@ var CFFParser = function CFFParserClosure() {
         }
 
         if (state.width !== null) {
-          var nominalWidth = privateDictToUse.getByName('nominalWidthX');
+          const nominalWidth = privateDictToUse.getByName("nominalWidthX");
           widths[i] = nominalWidth + state.width;
         } else {
-          var defaultWidth = privateDictToUse.getByName('defaultWidthX');
+          const defaultWidth = privateDictToUse.getByName("defaultWidthX");
           widths[i] = defaultWidth;
         }
 
@@ -38915,26 +28458,27 @@ var CFFParser = function CFFParserClosure() {
       }
 
       return {
-        charStrings: charStrings,
-        seacs: seacs,
-        widths: widths
+        charStrings,
+        seacs,
+        widths
       };
     },
+
     emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {
       var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);
       parentDict.setByKey(18, [0, 0]);
       parentDict.privateDict = privateDict;
     },
     parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {
-      if (!parentDict.hasName('Private')) {
+      if (!parentDict.hasName("Private")) {
         this.emptyPrivateDictionary(parentDict);
         return;
       }
 
-      var privateOffset = parentDict.getByName('Private');
+      var privateOffset = parentDict.getByName("Private");
 
       if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {
-        parentDict.removeByName('Private');
+        parentDict.removeByName("Private");
         return;
       }
 
@@ -38952,11 +28496,11 @@ var CFFParser = function CFFParserClosure() {
       var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);
       parentDict.privateDict = privateDict;
 
-      if (!privateDict.getByName('Subrs')) {
+      if (!privateDict.getByName("Subrs")) {
         return;
       }
 
-      var subrsOffset = privateDict.getByName('Subrs');
+      var subrsOffset = privateDict.getByName("Subrs");
       var relativeOffset = offset + subrsOffset;
 
       if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {
@@ -38979,7 +28523,7 @@ var CFFParser = function CFFParserClosure() {
       var bytes = this.bytes;
       var start = pos;
       var format = bytes[pos++];
-      var charset = ['.notdef'];
+      var charset = [".notdef"];
       var id, count, i;
       length -= 1;
 
@@ -39017,7 +28561,7 @@ var CFFParser = function CFFParserClosure() {
           break;
 
         default:
-          throw new _util.FormatError('Unknown charset format');
+          throw new _util.FormatError("Unknown charset format");
       }
 
       var end = pos;
@@ -39083,7 +28627,7 @@ var CFFParser = function CFFParserClosure() {
             break;
 
           default:
-            throw new _util.FormatError("Unknown encoding format: ".concat(format, " in CFF"));
+            throw new _util.FormatError(`Unknown encoding format: ${format} in CFF`);
         }
 
         var dataEnd = pos;
@@ -39121,7 +28665,7 @@ var CFFParser = function CFFParserClosure() {
             var first = bytes[pos++] << 8 | bytes[pos++];
 
             if (i === 0 && first !== 0) {
-              (0, _util.warn)('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to 
recover.');
+              (0, _util.warn)("parseFDSelect: The first range must have a first GID of 0" + " -- trying to 
recover.");
               first = 0;
             }
 
@@ -39137,11 +28681,11 @@ var CFFParser = function CFFParserClosure() {
           break;
 
         default:
-          throw new _util.FormatError("parseFDSelect: Unknown format \"".concat(format, "\"."));
+          throw new _util.FormatError(`parseFDSelect: Unknown format "${format}".`);
       }
 
       if (fdSelect.length !== length) {
-        throw new _util.FormatError('parseFDSelect: Invalid font data.');
+        throw new _util.FormatError("parseFDSelect: Invalid font data.");
       }
 
       return new CFFFDSelect(format, fdSelect);
@@ -39170,7 +28714,7 @@ var CFF = function CFFClosure() {
   CFF.prototype = {
     duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {
       if (this.charStrings.count >= 65535) {
-        (0, _util.warn)('Not enough space in charstrings to duplicate first glyph.');
+        (0, _util.warn)("Not enough space in charstrings to duplicate first glyph.");
         return;
       }
 
@@ -39226,7 +28770,7 @@ var CFFStrings = function CFFStringsClosure() {
       return CFFStandardStrings[0];
     },
     getSID: function CFFStrings_getSID(str) {
-      var index = CFFStandardStrings.indexOf(str);
+      let index = CFFStandardStrings.indexOf(str);
 
       if (index !== -1) {
         return index;
@@ -39316,7 +28860,7 @@ var CFFDict = function CFFDictClosure() {
 
       var type = this.types[key];
 
-      if (type === 'num' || type === 'sid' || type === 'offset') {
+      if (type === "num" || type === "sid" || type === "offset") {
         value = value[0];
       }
 
@@ -39325,7 +28869,7 @@ var CFFDict = function CFFDictClosure() {
     },
     setByName: function CFFDict_setByName(name, value) {
       if (!(name in this.nameToKeyMap)) {
-        throw new _util.FormatError("Invalid dictionary name \"".concat(name, "\""));
+        throw new _util.FormatError(`Invalid dictionary name "${name}"`);
       }
 
       this.values[this.nameToKeyMap[name]] = value;
@@ -39335,7 +28879,7 @@ var CFFDict = function CFFDictClosure() {
     },
     getByName: function CFFDict_getByName(name) {
       if (!(name in this.nameToKeyMap)) {
-        throw new _util.FormatError("Invalid dictionary name ".concat(name, "\""));
+        throw new _util.FormatError(`Invalid dictionary name ${name}"`);
       }
 
       var key = this.nameToKeyMap[name];
@@ -39379,7 +28923,7 @@ var CFFDict = function CFFDictClosure() {
 }();
 
 var CFFTopDict = function CFFTopDictClosure() {
-  var layout = [[[12, 30], 'ROS', ['sid', 'sid', 'num'], null], [[12, 20], 'SyntheticBase', 'num', null], 
[0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 
'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'num', 
0], [[12, 2], 'ItalicAngle', 'num', 0], [[12, 3], 'UnderlinePosition', 'num', -100], [[12, 4], 
'UnderlineThickness', 'num', 50], [[12, 5], 'PaintType', 'num', 0], [[12, 6], 'CharstringType', 'num', 2], 
[[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]], [13, 
'UniqueID', 'num', null], [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]], [[12, 8], 
'StrokeWidth', 'num', 0], [14, 'XUID', 'array', null], [15, 'charset', 'offset', 0], [16, 'Encoding', 
'offset', 0], [17, 'CharStrings', 'offset', 0], [18, 'Private', ['offset', 'offset'], null], [[12, 21], 
'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null]
 , [[12, 23], 'BaseFontBlend', 'delta', null], [[12, 31], 'CIDFontVersion', 'num', 0], [[12, 32], 
'CIDFontRevision', 'num', 0], [[12, 33], 'CIDFontType', 'num', 0], [[12, 34], 'CIDCount', 'num', 8720], [[12, 
35], 'UIDBase', 'num', null], [[12, 37], 'FDSelect', 'offset', null], [[12, 36], 'FDArray', 'offset', null], 
[[12, 38], 'FontName', 'sid', null]];
+  var layout = [[[12, 30], "ROS", ["sid", "sid", "num"], null], [[12, 20], "SyntheticBase", "num", null], 
[0, "version", "sid", null], [1, "Notice", "sid", null], [[12, 0], "Copyright", "sid", null], [2, "FullName", 
"sid", null], [3, "FamilyName", "sid", null], [4, "Weight", "sid", null], [[12, 1], "isFixedPitch", "num", 
0], [[12, 2], "ItalicAngle", "num", 0], [[12, 3], "UnderlinePosition", "num", -100], [[12, 4], 
"UnderlineThickness", "num", 50], [[12, 5], "PaintType", "num", 0], [[12, 6], "CharstringType", "num", 2], 
[[12, 7], "FontMatrix", ["num", "num", "num", "num", "num", "num"], [0.001, 0, 0, 0.001, 0, 0]], [13, 
"UniqueID", "num", null], [5, "FontBBox", ["num", "num", "num", "num"], [0, 0, 0, 0]], [[12, 8], 
"StrokeWidth", "num", 0], [14, "XUID", "array", null], [15, "charset", "offset", 0], [16, "Encoding", 
"offset", 0], [17, "CharStrings", "offset", 0], [18, "Private", ["offset", "offset"], null], [[12, 21], 
"PostScript", "sid", null], [[12, 22], "BaseFontName", "sid", null]
 , [[12, 23], "BaseFontBlend", "delta", null], [[12, 31], "CIDFontVersion", "num", 0], [[12, 32], 
"CIDFontRevision", "num", 0], [[12, 33], "CIDFontType", "num", 0], [[12, 34], "CIDCount", "num", 8720], [[12, 
35], "UIDBase", "num", null], [[12, 37], "FDSelect", "offset", null], [[12, 36], "FDArray", "offset", null], 
[[12, 38], "FontName", "sid", null]];
   var tables = null;
 
   function CFFTopDict(strings) {
@@ -39398,7 +28942,7 @@ var CFFTopDict = function CFFTopDictClosure() {
 exports.CFFTopDict = CFFTopDict;
 
 var CFFPrivateDict = function CFFPrivateDictClosure() {
-  var layout = [[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 
'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'num', 0.039625], [[12, 10], 
'BlueShift', 'num', 7], [[12, 11], 'BlueFuzz', 'num', 1], [10, 'StdHW', 'num', null], [11, 'StdVW', 'num', 
null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 
'ForceBold', 'num', 0], [[12, 17], 'LanguageGroup', 'num', 0], [[12, 18], 'ExpansionFactor', 'num', 0.06], 
[[12, 19], 'initialRandomSeed', 'num', 0], [20, 'defaultWidthX', 'num', 0], [21, 'nominalWidthX', 'num', 0], 
[19, 'Subrs', 'offset', null]];
+  var layout = [[6, "BlueValues", "delta", null], [7, "OtherBlues", "delta", null], [8, "FamilyBlues", 
"delta", null], [9, "FamilyOtherBlues", "delta", null], [[12, 9], "BlueScale", "num", 0.039625], [[12, 10], 
"BlueShift", "num", 7], [[12, 11], "BlueFuzz", "num", 1], [10, "StdHW", "num", null], [11, "StdVW", "num", 
null], [[12, 12], "StemSnapH", "delta", null], [[12, 13], "StemSnapV", "delta", null], [[12, 14], 
"ForceBold", "num", 0], [[12, 17], "LanguageGroup", "num", 0], [[12, 18], "ExpansionFactor", "num", 0.06], 
[[12, 19], "initialRandomSeed", "num", 0], [20, "defaultWidthX", "num", 0], [21, "nominalWidthX", "num", 0], 
[19, "Subrs", "offset", null]];
   var tables = null;
 
   function CFFPrivateDict(strings) {
@@ -39476,7 +29020,7 @@ var CFFOffsetTracker = function CFFOffsetTrackerClosure() {
     },
     track: function CFFOffsetTracker_track(key, location) {
       if (key in this.offsets) {
-        throw new _util.FormatError("Already tracking location of ".concat(key));
+        throw new _util.FormatError(`Already tracking location of ${key}`);
       }
 
       this.offsets[key] = location;
@@ -39488,7 +29032,7 @@ var CFFOffsetTracker = function CFFOffsetTrackerClosure() {
     },
     setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {
       if (!(key in this.offsets)) {
-        throw new _util.FormatError("Not tracking location of ".concat(key));
+        throw new _util.FormatError(`Not tracking location of ${key}`);
       }
 
       var data = output.data;
@@ -39503,15 +29047,15 @@ var CFFOffsetTracker = function CFFOffsetTrackerClosure() {
         var offset4 = offset0 + 4;
 
         if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || 
data[offset4] !== 0) {
-          throw new _util.FormatError('writing to an offset that is not empty');
+          throw new _util.FormatError("writing to an offset that is not empty");
         }
 
         var value = values[i];
         data[offset0] = 0x1d;
-        data[offset1] = value >> 24 & 0xFF;
-        data[offset2] = value >> 16 & 0xFF;
-        data[offset3] = value >> 8 & 0xFF;
-        data[offset4] = value & 0xFF;
+        data[offset1] = value >> 24 & 0xff;
+        data[offset2] = value >> 16 & 0xff;
+        data[offset3] = value >> 8 & 0xff;
+        data[offset4] = value & 0xff;
       }
     }
   };
@@ -39540,24 +29084,24 @@ var CFFCompiler = function CFFCompilerClosure() {
       output.add(nameIndex);
 
       if (cff.isCIDFont) {
-        if (cff.topDict.hasName('FontMatrix')) {
-          var base = cff.topDict.getByName('FontMatrix');
-          cff.topDict.removeByName('FontMatrix');
+        if (cff.topDict.hasName("FontMatrix")) {
+          var base = cff.topDict.getByName("FontMatrix");
+          cff.topDict.removeByName("FontMatrix");
 
           for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {
             var subDict = cff.fdArray[i];
             var matrix = base.slice(0);
 
-            if (subDict.hasName('FontMatrix')) {
-              matrix = _util.Util.transform(matrix, subDict.getByName('FontMatrix'));
+            if (subDict.hasName("FontMatrix")) {
+              matrix = _util.Util.transform(matrix, subDict.getByName("FontMatrix"));
             }
 
-            subDict.setByName('FontMatrix', matrix);
+            subDict.setByName("FontMatrix", matrix);
           }
         }
       }
 
-      cff.topDict.setByName('charset', 0);
+      cff.topDict.setByName("charset", 0);
       var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);
       output.add(compiled.output);
       var topDictTracker = compiled.trackers[0];
@@ -39566,29 +29110,29 @@ var CFFCompiler = function CFFCompilerClosure() {
       var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);
       output.add(globalSubrIndex);
 
-      if (cff.encoding && cff.topDict.hasName('Encoding')) {
+      if (cff.encoding && cff.topDict.hasName("Encoding")) {
         if (cff.encoding.predefined) {
-          topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output);
+          topDictTracker.setEntryLocation("Encoding", [cff.encoding.format], output);
         } else {
           var encoding = this.compileEncoding(cff.encoding);
-          topDictTracker.setEntryLocation('Encoding', [output.length], output);
+          topDictTracker.setEntryLocation("Encoding", [output.length], output);
           output.add(encoding);
         }
       }
 
       var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);
-      topDictTracker.setEntryLocation('charset', [output.length], output);
+      topDictTracker.setEntryLocation("charset", [output.length], output);
       output.add(charset);
       var charStrings = this.compileCharStrings(cff.charStrings);
-      topDictTracker.setEntryLocation('CharStrings', [output.length], output);
+      topDictTracker.setEntryLocation("CharStrings", [output.length], output);
       output.add(charStrings);
 
       if (cff.isCIDFont) {
-        topDictTracker.setEntryLocation('FDSelect', [output.length], output);
+        topDictTracker.setEntryLocation("FDSelect", [output.length], output);
         var fdSelect = this.compileFDSelect(cff.fdSelect);
         output.add(fdSelect);
         compiled = this.compileTopDicts(cff.fdArray, output.length, true);
-        topDictTracker.setEntryLocation('FDArray', [output.length], output);
+        topDictTracker.setEntryLocation("FDArray", [output.length], output);
         output.add(compiled.output);
         var fontDictTrackers = compiled.trackers;
         this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);
@@ -39610,28 +29154,28 @@ var CFFCompiler = function CFFCompilerClosure() {
       var m = /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(value);
 
       if (m) {
-        var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));
+        var epsilon = parseFloat("1e" + ((m[2] ? +m[2] : 0) + m[1].length));
         value = (Math.round(num * epsilon) / epsilon).toString();
       }
 
-      var nibbles = '';
+      var nibbles = "";
       var i, ii;
 
       for (i = 0, ii = value.length; i < ii; ++i) {
         var a = value[i];
 
-        if (a === 'e') {
-          nibbles += value[++i] === '-' ? 'c' : 'b';
-        } else if (a === '.') {
-          nibbles += 'a';
-        } else if (a === '-') {
-          nibbles += 'e';
+        if (a === "e") {
+          nibbles += value[++i] === "-" ? "c" : "b";
+        } else if (a === ".") {
+          nibbles += "a";
+        } else if (a === "-") {
+          nibbles += "e";
         } else {
           nibbles += a;
         }
       }
 
-      nibbles += nibbles.length & 1 ? 'f' : 'ff';
+      nibbles += nibbles.length & 1 ? "f" : "ff";
       var out = [30];
 
       for (i = 0, ii = nibbles.length; i < ii; i += 2) {
@@ -39647,14 +29191,14 @@ var CFFCompiler = function CFFCompilerClosure() {
         code = [value + 139];
       } else if (value >= 108 && value <= 1131) {
         value = value - 108;
-        code = [(value >> 8) + 247, value & 0xFF];
+        code = [(value >> 8) + 247, value & 0xff];
       } else if (value >= -1131 && value <= -108) {
         value = -value - 108;
-        code = [(value >> 8) + 251, value & 0xFF];
+        code = [(value >> 8) + 251, value & 0xff];
       } else if (value >= -32768 && value <= 32767) {
-        code = [0x1c, value >> 8 & 0xFF, value & 0xFF];
+        code = [0x1c, value >> 8 & 0xff, value & 0xff];
       } else {
-        code = [0x1d, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF];
+        code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];
       }
 
       return code;
@@ -39671,19 +29215,19 @@ var CFFCompiler = function CFFCompilerClosure() {
         var sanitizedName = new Array(length);
 
         for (var j = 0; j < length; j++) {
-          var _char = name[j];
+          var char = name[j];
 
-          if (_char < '!' || _char > '~' || _char === '[' || _char === ']' || _char === '(' || _char === ')' 
|| _char === '{' || _char === '}' || _char === '<' || _char === '>' || _char === '/' || _char === '%') {
-            _char = '_';
+          if (char < "!" || char > "~" || char === "[" || char === "]" || char === "(" || char === ")" || 
char === "{" || char === "}" || char === "<" || char === ">" || char === "/" || char === "%") {
+            char = "_";
           }
 
-          sanitizedName[j] = _char;
+          sanitizedName[j] = char;
         }
 
-        sanitizedName = sanitizedName.join('');
+        sanitizedName = sanitizedName.join("");
 
-        if (sanitizedName === '') {
-          sanitizedName = 'Bad_Font_Name';
+        if (sanitizedName === "") {
+          sanitizedName = "Bad_Font_Name";
         }
 
         nameIndex.add((0, _util.stringToBytes)(sanitizedName));
@@ -39699,11 +29243,11 @@ var CFFCompiler = function CFFCompilerClosure() {
         var fontDict = dicts[i];
 
         if (removeCidKeys) {
-          fontDict.removeByName('CIDFontVersion');
-          fontDict.removeByName('CIDFontRevision');
-          fontDict.removeByName('CIDFontType');
-          fontDict.removeByName('CIDCount');
-          fontDict.removeByName('UIDBase');
+          fontDict.removeByName("CIDFontVersion");
+          fontDict.removeByName("CIDFontRevision");
+          fontDict.removeByName("CIDFontType");
+          fontDict.removeByName("CIDCount");
+          fontDict.removeByName("UIDBase");
         }
 
         var fontDictTracker = new CFFOffsetTracker();
@@ -39724,8 +29268,8 @@ var CFFCompiler = function CFFCompilerClosure() {
         var fontDict = dicts[i];
         var privateDict = fontDict.privateDict;
 
-        if (!privateDict || !fontDict.hasName('Private')) {
-          throw new _util.FormatError('There must be a private dictionary.');
+        if (!privateDict || !fontDict.hasName("Private")) {
+          throw new _util.FormatError("There must be a private dictionary.");
         }
 
         var privateDictTracker = new CFFOffsetTracker();
@@ -39737,12 +29281,12 @@ var CFFCompiler = function CFFCompilerClosure() {
           outputLength = 0;
         }
 
-        trackers[i].setEntryLocation('Private', [privateDictData.length, outputLength], output);
+        trackers[i].setEntryLocation("Private", [privateDictData.length, outputLength], output);
         output.add(privateDictData);
 
-        if (privateDict.subrsIndex && privateDict.hasName('Subrs')) {
+        if (privateDict.subrsIndex && privateDict.hasName("Subrs")) {
           var subrs = this.compileIndex(privateDict.subrsIndex);
-          privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output);
+          privateDictTracker.setEntryLocation("Subrs", [privateDictData.length], output);
           output.add(subrs);
         }
       }
@@ -39778,12 +29322,12 @@ var CFFCompiler = function CFFCompilerClosure() {
           var value = values[j];
 
           switch (type) {
-            case 'num':
-            case 'sid':
+            case "num":
+            case "sid":
               out = out.concat(this.encodeNumber(value));
               break;
 
-            case 'offset':
+            case "offset":
               var name = dict.keyToNameMap[key];
 
               if (!offsetTracker.isTracking(name)) {
@@ -39793,8 +29337,8 @@ var CFFCompiler = function CFFCompilerClosure() {
               out = out.concat([0x1d, 0, 0, 0, 0]);
               break;
 
-            case 'array':
-            case 'delta':
+            case "array":
+            case "delta":
               out = out.concat(this.encodeNumber(value));
 
               for (var k = 1, kk = values.length; k < kk; ++k) {
@@ -39804,7 +29348,7 @@ var CFFCompiler = function CFFCompilerClosure() {
               break;
 
             default:
-              throw new _util.FormatError("Unknown data type of ".concat(type));
+              throw new _util.FormatError(`Unknown data type of ${type}`);
           }
         }
 
@@ -39833,7 +29377,7 @@ var CFFCompiler = function CFFCompilerClosure() {
         var glyph = charStrings.get(i);
 
         if (glyph.length === 0) {
-          charStringsIndex.add(new Uint8Array([0x8B, 0x0E]));
+          charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));
           continue;
         }
 
@@ -39843,24 +29387,24 @@ var CFFCompiler = function CFFCompilerClosure() {
       return this.compileIndex(charStringsIndex);
     },
     compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {
-      var out;
-      var numGlyphsLessNotDef = numGlyphs - 1;
+      let out;
+      const numGlyphsLessNotDef = numGlyphs - 1;
 
       if (isCIDFont) {
-        out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xFF, numGlyphsLessNotDef & 0xFF]);
+        out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);
       } else {
-        var length = 1 + numGlyphsLessNotDef * 2;
+        const length = 1 + numGlyphsLessNotDef * 2;
         out = new Uint8Array(length);
         out[0] = 0;
-        var charsetIndex = 0;
-        var numCharsets = charset.charset.length;
-        var warned = false;
+        let charsetIndex = 0;
+        const numCharsets = charset.charset.length;
+        let warned = false;
 
-        for (var i = 1; i < out.length; i += 2) {
-          var sid = 0;
+        for (let i = 1; i < out.length; i += 2) {
+          let sid = 0;
 
           if (charsetIndex < numCharsets) {
-            var name = charset.charset[charsetIndex++];
+            const name = charset.charset[charsetIndex++];
             sid = strings.getSID(name);
 
             if (sid === -1) {
@@ -39868,13 +29412,13 @@ var CFFCompiler = function CFFCompilerClosure() {
 
               if (!warned) {
                 warned = true;
-                (0, _util.warn)("Couldn't find ".concat(name, " in CFF strings"));
+                (0, _util.warn)(`Couldn't find ${name} in CFF strings`);
               }
             }
           }
 
-          out[i] = sid >> 8 & 0xFF;
-          out[i + 1] = sid & 0xFF;
+          out[i] = sid >> 8 & 0xff;
+          out[i + 1] = sid & 0xff;
         }
       }
 
@@ -39884,8 +29428,8 @@ var CFFCompiler = function CFFCompilerClosure() {
       return this.compileTypedArray(encoding.raw);
     },
     compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {
-      var format = fdSelect.format;
-      var out, i;
+      const format = fdSelect.format;
+      let out, i;
 
       switch (format) {
         case 0:
@@ -39899,23 +29443,23 @@ var CFFCompiler = function CFFCompilerClosure() {
           break;
 
         case 3:
-          var start = 0;
-          var lastFD = fdSelect.fdSelect[0];
-          var ranges = [format, 0, 0, start >> 8 & 0xFF, start & 0xFF, lastFD];
+          const start = 0;
+          let lastFD = fdSelect.fdSelect[0];
+          const ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];
 
           for (i = 1; i < fdSelect.fdSelect.length; i++) {
-            var currentFD = fdSelect.fdSelect[i];
+            const currentFD = fdSelect.fdSelect[i];
 
             if (currentFD !== lastFD) {
-              ranges.push(i >> 8 & 0xFF, i & 0xFF, currentFD);
+              ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);
               lastFD = currentFD;
             }
           }
 
-          var numRanges = (ranges.length - 3) / 3;
-          ranges[1] = numRanges >> 8 & 0xFF;
-          ranges[2] = numRanges & 0xFF;
-          ranges.push(i >> 8 & 0xFF, i & 0xFF);
+          const numRanges = (ranges.length - 3) / 3;
+          ranges[1] = numRanges >> 8 & 0xff;
+          ranges[2] = numRanges & 0xff;
+          ranges.push(i >> 8 & 0xff, i & 0xff);
           out = new Uint8Array(ranges);
           break;
       }
@@ -39940,7 +29484,7 @@ var CFFCompiler = function CFFCompilerClosure() {
         return [0, 0, 0];
       }
 
-      var data = [count >> 8 & 0xFF, count & 0xff];
+      var data = [count >> 8 & 0xff, count & 0xff];
       var lastOffset = 1,
           i;
 
@@ -39965,13 +29509,13 @@ var CFFCompiler = function CFFCompilerClosure() {
 
       for (i = 0; i < count + 1; i++) {
         if (offsetSize === 1) {
-          data.push(relativeOffset & 0xFF);
+          data.push(relativeOffset & 0xff);
         } else if (offsetSize === 2) {
-          data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);
+          data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);
         } else if (offsetSize === 3) {
-          data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);
+          data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);
         } else {
-          data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, 
relativeOffset & 0xFF);
+          data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, 
relativeOffset & 0xff);
         }
 
         if (objects[i]) {
@@ -39998,7 +29542,7 @@ var CFFCompiler = function CFFCompilerClosure() {
 exports.CFFCompiler = CFFCompiler;
 
 /***/ }),
-/* 208 */
+/* 29 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -40008,15 +29552,15 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;
-var ISOAdobeCharset = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 
'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 
'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 
'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 
'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 
'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 
'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph'
 , 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 
'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 
'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 
'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 
'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 
'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 
'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 
'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 
'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 
'Ydieresis', 'Zcaron', 'aacute', 'acircumfle
 x', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 
'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 
'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron'];
+const ISOAdobeCharset = [".notdef", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", 
"ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", 
"slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", 
"bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", 
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", 
"braceright", "asciitilde", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", 
"currency", "quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", 
"endash", "dagger", "daggerdbl", "periodcentered", "paragrap
 h", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", "guillemotright", "ellipsis", 
"perthousand", "questiondown", "grave", "acute", "circumflex", "tilde", "macron", "breve", "dotaccent", 
"dieresis", "ring", "cedilla", "hungarumlaut", "ogonek", "caron", "emdash", "AE", "ordfeminine", "Lslash", 
"Oslash", "OE", "ordmasculine", "ae", "dotlessi", "lslash", "oslash", "oe", "germandbls", "onesuperior", 
"logicalnot", "mu", "trademark", "Eth", "onehalf", "plusminus", "Thorn", "onequarter", "divide", "brokenbar", 
"degree", "thorn", "threequarters", "twosuperior", "registered", "minus", "eth", "multiply", "threesuperior", 
"copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", "Aring", "Atilde", "Ccedilla", "Eacute", 
"Ecircumflex", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Ntilde", "Oacute", 
"Ocircumflex", "Odieresis", "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", "Udieresis", "Ugrave", 
"Yacute", "Ydieresis", "Zcaron", "aacute", "acircumf
 lex", "adieresis", "agrave", "aring", "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", "egrave", 
"iacute", "icircumflex", "idieresis", "igrave", "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", 
"otilde", "scaron", "uacute", "ucircumflex", "udieresis", "ugrave", "yacute", "ydieresis", "zcaron"];
 exports.ISOAdobeCharset = ISOAdobeCharset;
-var ExpertCharset = ['.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 
'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 
'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 
'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 
'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 
'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 
'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 
'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 
'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 
'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall
 ', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 
'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 
'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 
'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', 
'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 
'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 
'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 
'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 
'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 
'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aring
 small', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 
'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 
'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 
'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];
+const ExpertCharset = [".notdef", "space", "exclamsmall", "Hungarumlautsmall", "dollaroldstyle", 
"dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", 
"twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", 
"twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", 
"eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", "threequartersemdash", 
"periodsuperior", "questionsmall", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", 
"isuperior", "lsuperior", "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", 
"fi", "fl", "ffi", "ffl", "parenleftinferior", "parenrightinferior", "Circumflexsmall", "hyphensuperior", 
"Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", 
"Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsma
 ll", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", "colonmonetary", 
"onefitted", "rupiah", "Tildesmall", "exclamdownsmall", "centoldstyle", "Lslashsmall", "Scaronsmall", 
"Zcaronsmall", "Dieresissmall", "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", 
"hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", "onequarter", "onehalf", "threequarters", 
"questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", 
"zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", 
"sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", 
"threeinferior", "fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", 
"nineinferior", "centinferior", "dollarinferior", "periodinferior", "commainferior", "Agravesmall", 
"Aacutesmall", "Acircumflexsmall", "Atildesmall", "Adieresissmall", "Ari
 ngsmall", "AEsmall", "Ccedillasmall", "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", 
"Igravesmall", "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", 
"Oacutesmall", "Ocircumflexsmall", "Otildesmall", "Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", 
"Uacutesmall", "Ucircumflexsmall", "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall"];
 exports.ExpertCharset = ExpertCharset;
-var ExpertSubsetCharset = ['.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', 'parenleftsuperior', 
'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 
'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 
'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 
'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 
'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 
'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 
'onefitted', 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', 'onehalf', 
'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 
'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperi
 or', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 
'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 
'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 
'commainferior'];
+const ExpertSubsetCharset = [".notdef", "space", "dollaroldstyle", "dollarsuperior", "parenleftsuperior", 
"parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", 
"zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", 
"sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", 
"threequartersemdash", "periodsuperior", "asuperior", "bsuperior", "centsuperior", "dsuperior", "esuperior", 
"isuperior", "lsuperior", "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", "tsuperior", "ff", 
"fi", "fl", "ffi", "ffl", "parenleftinferior", "parenrightinferior", "hyphensuperior", "colonmonetary", 
"onefitted", "rupiah", "centoldstyle", "figuredash", "hypheninferior", "onequarter", "onehalf", 
"threequarters", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", 
"zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursupe
 rior", "fivesuperior", "sixsuperior", "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", 
"oneinferior", "twoinferior", "threeinferior", "fourinferior", "fiveinferior", "sixinferior", 
"seveninferior", "eightinferior", "nineinferior", "centinferior", "dollarinferior", "periodinferior", 
"commainferior"];
 exports.ExpertSubsetCharset = ExpertSubsetCharset;
 
 /***/ }),
-/* 209 */
+/* 30 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -40027,41 +29571,41 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.getEncoding = getEncoding;
 exports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding 
= exports.StandardEncoding = exports.WinAnsiEncoding = void 0;
-var ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 
'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 
'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 
'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 
'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 
'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 
'dsuperior', 'esuperior', '', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', 
'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 
'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 
'Bsma
 ll', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 
'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 
'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 
'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 
'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 
'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 
'twothirds', '', '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 
'fivesuperior', 'sixsuperior', 'sevensuperior
 ', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 
'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 
'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 
'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 
'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 
'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 
'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 
'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];
+const ExpertEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "space", "exclamsmall", "Hungarumlautsmall", "", 
"dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", 
"parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", 
"zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", 
"sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "commasuperior", 
"threequartersemdash", "periodsuperior", "questionsmall", "", "asuperior", "bsuperior", "centsuperior", 
"dsuperior", "esuperior", "", "", "", "isuperior", "", "", "lsuperior", "msuperior", "nsuperior", 
"osuperior", "", "", "rsuperior", "ssuperior", "tsuperior", "", "ff", "fi", "fl", "ffi", "ffl", 
"parenleftinferior", "", "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", "Asmall", 
"Bs
 mall", "Csmall", "Dsmall", "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", 
"Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", 
"Xsmall", "Ysmall", "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "exclamdownsmall", "centoldstyle", "Lslashsmall", "", "", "Scaronsmall", "Zcaronsmall", "Dieresissmall", 
"Brevesmall", "Caronsmall", "", "Dotaccentsmall", "", "", "Macronsmall", "", "", "figuredash", 
"hypheninferior", "", "", "Ogoneksmall", "Ringsmall", "Cedillasmall", "", "", "", "onequarter", "onehalf", 
"threequarters", "questiondownsmall", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", 
"twothirds", "", "", "zerosuperior", "onesuperior", "twosuperior", "threesuperior", "foursuperior", 
"fivesuperior", "sixsuperior", "sevensuperi
 or", "eightsuperior", "ninesuperior", "zeroinferior", "oneinferior", "twoinferior", "threeinferior", 
"fourinferior", "fiveinferior", "sixinferior", "seveninferior", "eightinferior", "nineinferior", 
"centinferior", "dollarinferior", "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", 
"Acircumflexsmall", "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", "Egravesmall", 
"Eacutesmall", "Ecircumflexsmall", "Edieresissmall", "Igravesmall", "Iacutesmall", "Icircumflexsmall", 
"Idieresissmall", "Ethsmall", "Ntildesmall", "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", 
"Odieresissmall", "OEsmall", "Oslashsmall", "Ugravesmall", "Uacutesmall", "Ucircumflexsmall", 
"Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall"];
 exports.ExpertEncoding = ExpertEncoding;
-var MacExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', 'centoldstyle', 
'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 
'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 
'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 
'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', '', 'threequartersemdash', '', 
'questionsmall', '', '', '', '', 'Ethsmall', '', '', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 
'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', '', '', '', '', 'ff', 'fi', 
'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hypheninferior', 
'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall'
 , 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 
'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 
'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', 'asuperior', 'centsuperior', '', '', '', '', 
'Aacutesmall', 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall', 'Atildesmall', 'Aringsmall', 
'Ccedillasmall', 'Eacutesmall', 'Egravesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 
'Igravesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall', 'Ogravesmall', 
'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall', 'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 
'Udieresissmall', '', 'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior', 'eightinferior', 
'seveninferior', 'Scaronsmall', '', 'centinferior', 'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 
'osuperior', 'fiveinferior', '', 'commainferior', 'periodinferior', 'Y
 acutesmall', '', 'dollarinferior', '', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior', 'Zcaronsmall', 
'AEsmall', 'Oslashsmall', 'questiondownsmall', 'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 
'Cedillasmall', '', '', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', '', 
'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 
'fivesuperior', 'sixsuperior', 'sevensuperior', 'ninesuperior', 'zerosuperior', '', 'esuperior', 'rsuperior', 
'tsuperior', '', '', 'isuperior', 'ssuperior', 'dsuperior', '', '', '', '', '', 'lsuperior', 'Ogoneksmall', 
'Brevesmall', 'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', 'commasuperior', 'periodsuperior', 
'Dotaccentsmall', 'Ringsmall', '', '', '', ''];
-var MacRomanEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 
'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 
'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 
'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 
'asciitilde', '', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 
'agrave', 'acircumflex', 'adieresi
 s', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 
'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 
'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 
'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 
'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 
'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 
'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 
'ellipsis', 'space', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 
'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 
'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerd
 bl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 
'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 
'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 
'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron'];
+const MacExpertEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "space", "exclamsmall", "Hungarumlautsmall", "centoldstyle", 
"dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", 
"parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", 
"zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", 
"sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "", "threequartersemdash", "", 
"questionsmall", "", "", "", "", "Ethsmall", "", "", "onequarter", "onehalf", "threequarters", "oneeighth", 
"threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "", "", "", "", "", "", "ff", "fi", 
"fl", "ffi", "ffl", "parenleftinferior", "", "parenrightinferior", "Circumflexsmall", "hypheninferior", 
"Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall", "Esmal
 l", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", "Lsmall", "Msmall", "Nsmall", "Osmall", 
"Psmall", "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", 
"colonmonetary", "onefitted", "rupiah", "Tildesmall", "", "", "asuperior", "centsuperior", "", "", "", "", 
"Aacutesmall", "Agravesmall", "Acircumflexsmall", "Adieresissmall", "Atildesmall", "Aringsmall", 
"Ccedillasmall", "Eacutesmall", "Egravesmall", "Ecircumflexsmall", "Edieresissmall", "Iacutesmall", 
"Igravesmall", "Icircumflexsmall", "Idieresissmall", "Ntildesmall", "Oacutesmall", "Ogravesmall", 
"Ocircumflexsmall", "Odieresissmall", "Otildesmall", "Uacutesmall", "Ugravesmall", "Ucircumflexsmall", 
"Udieresissmall", "", "eightsuperior", "fourinferior", "threeinferior", "sixinferior", "eightinferior", 
"seveninferior", "Scaronsmall", "", "centinferior", "twoinferior", "", "Dieresissmall", "", "Caronsmall", 
"osuperior", "fiveinferior", "", "commainferior", "periodinferior", 
 "Yacutesmall", "", "dollarinferior", "", "", "Thornsmall", "", "nineinferior", "zeroinferior", 
"Zcaronsmall", "AEsmall", "Oslashsmall", "questiondownsmall", "oneinferior", "Lslashsmall", "", "", "", "", 
"", "", "Cedillasmall", "", "", "", "", "", "OEsmall", "figuredash", "hyphensuperior", "", "", "", "", 
"exclamdownsmall", "", "Ydieresissmall", "", "onesuperior", "twosuperior", "threesuperior", "foursuperior", 
"fivesuperior", "sixsuperior", "sevensuperior", "ninesuperior", "zerosuperior", "", "esuperior", "rsuperior", 
"tsuperior", "", "", "isuperior", "ssuperior", "dsuperior", "", "", "", "", "", "lsuperior", "Ogoneksmall", 
"Brevesmall", "Macronsmall", "bsuperior", "nsuperior", "msuperior", "commasuperior", "periodsuperior", 
"Dotaccentsmall", "Ringsmall", "", "", "", ""];
+const MacRomanEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", 
"percent", "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", 
"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", 
"bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", 
"asciitilde", "", "Adieresis", "Aring", "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", "aacute", 
"agrave", "acircumflex", "adiere
 sis", "atilde", "aring", "ccedilla", "eacute", "egrave", "ecircumflex", "edieresis", "iacute", "igrave", 
"icircumflex", "idieresis", "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", "otilde", "uacute", 
"ugrave", "ucircumflex", "udieresis", "dagger", "degree", "cent", "sterling", "section", "bullet", 
"paragraph", "germandbls", "registered", "copyright", "trademark", "acute", "dieresis", "notequal", "AE", 
"Oslash", "infinity", "plusminus", "lessequal", "greaterequal", "yen", "mu", "partialdiff", "summation", 
"product", "pi", "integral", "ordfeminine", "ordmasculine", "Omega", "ae", "oslash", "questiondown", 
"exclamdown", "logicalnot", "radical", "florin", "approxequal", "Delta", "guillemotleft", "guillemotright", 
"ellipsis", "space", "Agrave", "Atilde", "Otilde", "OE", "oe", "endash", "emdash", "quotedblleft", 
"quotedblright", "quoteleft", "quoteright", "divide", "lozenge", "ydieresis", "Ydieresis", "fraction", 
"currency", "guilsinglleft", "guilsinglright", "fi", "fl", "dagge
 rdbl", "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", "Acircumflex", "Ecircumflex", 
"Aacute", "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", 
"apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", "dotlessi", "circumflex", "tilde", "macron", "breve", 
"dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", "caron"];
 exports.MacRomanEncoding = MacRomanEncoding;
-var StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 
'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 
'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 
'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 
'braceright', 'asciitilde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', '
 ', '', '', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 
'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 
'dagger', 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 
'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 
'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 
'ogonek', 'caron', 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 
'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', 
'', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls', '', '', '', ''];
+const StandardEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", 
"percent", "ampersand", "quoteright", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", 
"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", 
"bracketright", "asciicircum", "underscore", "quoteleft", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", 
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", 
"braceright", "asciitilde", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "",
  "", "", "", "exclamdown", "cent", "sterling", "fraction", "yen", "florin", "section", "currency", 
"quotesingle", "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", "fl", "", "endash", 
"dagger", "daggerdbl", "periodcentered", "", "paragraph", "bullet", "quotesinglbase", "quotedblbase", 
"quotedblright", "guillemotright", "ellipsis", "perthousand", "", "questiondown", "", "grave", "acute", 
"circumflex", "tilde", "macron", "breve", "dotaccent", "dieresis", "", "ring", "cedilla", "", "hungarumlaut", 
"ogonek", "caron", "emdash", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AE", "", 
"ordfeminine", "", "", "", "", "Lslash", "Oslash", "OE", "ordmasculine", "", "", "", "", "", "ae", "", "", 
"", "dotlessi", "", "", "lslash", "oslash", "oe", "germandbls", "", "", "", ""];
 exports.StandardEncoding = StandardEncoding;
-var WinAnsiEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 
'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 
'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 
'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 
'asciitilde', 'bullet', 'Euro', 'bullet', 'quotesinglbase', 'florin', 'quotedblbase', 'ellipsis', 'dagger', 
'daggerdbl', 'circumflex', 'perthou
 sand', 'Scaron', 'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', 'quoteleft', 'quoteright', 
'quotedblleft', 'quotedblright', 'bullet', 'endash', 'emdash', 'tilde', 'trademark', 'scaron', 
'guilsinglright', 'oe', 'bullet', 'zcaron', 'Ydieresis', 'space', 'exclamdown', 'cent', 'sterling', 
'currency', 'yen', 'brokenbar', 'section', 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', 
'logicalnot', 'hyphen', 'registered', 'macron', 'degree', 'plusminus', 'twosuperior', 'threesuperior', 
'acute', 'mu', 'paragraph', 'periodcentered', 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', 
'onequarter', 'onehalf', 'threequarters', 'questiondown', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 
'Adieresis', 'Aring', 'AE', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 
'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 
'multiply', 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Y
 acute', 'Thorn', 'germandbls', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ae', 
'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 
'eth', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash', 'ugrave', 
'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn', 'ydieresis'];
+const WinAnsiEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", 
"ampersand", "quotesingle", "parenleft", "parenright", "asterisk", "plus", "comma", "hyphen", "period", 
"slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "at", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", "backslash", 
"bracketright", "asciicircum", "underscore", "grave", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", "bar", "braceright", 
"asciitilde", "bullet", "Euro", "bullet", "quotesinglbase", "florin", "quotedblbase", "ellipsis", "dagger", 
"daggerdbl", "circumflex", "perth
 ousand", "Scaron", "guilsinglleft", "OE", "bullet", "Zcaron", "bullet", "bullet", "quoteleft", "quoteright", 
"quotedblleft", "quotedblright", "bullet", "endash", "emdash", "tilde", "trademark", "scaron", 
"guilsinglright", "oe", "bullet", "zcaron", "Ydieresis", "space", "exclamdown", "cent", "sterling", 
"currency", "yen", "brokenbar", "section", "dieresis", "copyright", "ordfeminine", "guillemotleft", 
"logicalnot", "hyphen", "registered", "macron", "degree", "plusminus", "twosuperior", "threesuperior", 
"acute", "mu", "paragraph", "periodcentered", "cedilla", "onesuperior", "ordmasculine", "guillemotright", 
"onequarter", "onehalf", "threequarters", "questiondown", "Agrave", "Aacute", "Acircumflex", "Atilde", 
"Adieresis", "Aring", "AE", "Ccedilla", "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", 
"Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", 
"multiply", "Oslash", "Ugrave", "Uacute", "Ucircumflex", "Udieresis", 
 "Yacute", "Thorn", "germandbls", "agrave", "aacute", "acircumflex", "atilde", "adieresis", "aring", "ae", 
"ccedilla", "egrave", "eacute", "ecircumflex", "edieresis", "igrave", "iacute", "icircumflex", "idieresis", 
"eth", "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", "divide", "oslash", "ugrave", 
"uacute", "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis"];
 exports.WinAnsiEncoding = WinAnsiEncoding;
-var SymbolSetEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'universal', 'numbersign', 'existential', 
'percent', 'ampersand', 'suchthat', 'parenleft', 'parenright', 'asteriskmath', 'plus', 'comma', 'minus', 
'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 
'semicolon', 'less', 'equal', 'greater', 'question', 'congruent', 'Alpha', 'Beta', 'Chi', 'Delta', 'Epsilon', 
'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Omicron', 'Pi', 'Theta', 'Rho', 
'Sigma', 'Tau', 'Upsilon', 'sigma1', 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft', 'therefore', 
'bracketright', 'perpendicular', 'underscore', 'radicalex', 'alpha', 'beta', 'chi', 'delta', 'epsilon', 
'phi', 'gamma', 'eta', 'iota', 'phi1', 'kappa', 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho', 
'sigma', 'tau', 'upsilon', 'omega1', 'omega', 'xi', '
 psi', 'zeta', 'braceleft', 'bar', 'braceright', 'similar', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Euro', 'Upsilon1', 
'minute', 'lessequal', 'fraction', 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade', 'arrowboth', 
'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree', 'plusminus', 'second', 'greaterequal', 
'multiply', 'proportional', 'partialdiff', 'bullet', 'divide', 'notequal', 'equivalence', 'approxequal', 
'ellipsis', 'arrowvertex', 'arrowhorizex', 'carriagereturn', 'aleph', 'Ifraktur', 'Rfraktur', 'weierstrass', 
'circlemultiply', 'circleplus', 'emptyset', 'intersection', 'union', 'propersuperset', 'reflexsuperset', 
'notsubset', 'propersubset', 'reflexsubset', 'element', 'notelement', 'angle', 'gradient', 'registerserif', 
'copyrightserif', 'trademarkserif', 'product', 'radical', 'dotmath', 'logicalnot', 'logicaland', 'logicalor', 
'arrowdblboth', 'arrowdblleft', 'arrowdblu
 p', 'arrowdblright', 'arrowdbldown', 'lozenge', 'angleleft', 'registersans', 'copyrightsans', 
'trademarksans', 'summation', 'parenlefttp', 'parenleftex', 'parenleftbt', 'bracketlefttp', 'bracketleftex', 
'bracketleftbt', 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex', '', 'angleright', 'integral', 
'integraltp', 'integralex', 'integralbt', 'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp', 
'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid', 'bracerightbt', ''];
+const SymbolSetEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "universal", "numbersign", "existential", 
"percent", "ampersand", "suchthat", "parenleft", "parenright", "asteriskmath", "plus", "comma", "minus", 
"period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", 
"semicolon", "less", "equal", "greater", "question", "congruent", "Alpha", "Beta", "Chi", "Delta", "Epsilon", 
"Phi", "Gamma", "Eta", "Iota", "theta1", "Kappa", "Lambda", "Mu", "Nu", "Omicron", "Pi", "Theta", "Rho", 
"Sigma", "Tau", "Upsilon", "sigma1", "Omega", "Xi", "Psi", "Zeta", "bracketleft", "therefore", 
"bracketright", "perpendicular", "underscore", "radicalex", "alpha", "beta", "chi", "delta", "epsilon", 
"phi", "gamma", "eta", "iota", "phi1", "kappa", "lambda", "mu", "nu", "omicron", "pi", "theta", "rho", 
"sigma", "tau", "upsilon", "omega1", "omega", "xi",
  "psi", "zeta", "braceleft", "bar", "braceright", "similar", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Euro", "Upsilon1", 
"minute", "lessequal", "fraction", "infinity", "florin", "club", "diamond", "heart", "spade", "arrowboth", 
"arrowleft", "arrowup", "arrowright", "arrowdown", "degree", "plusminus", "second", "greaterequal", 
"multiply", "proportional", "partialdiff", "bullet", "divide", "notequal", "equivalence", "approxequal", 
"ellipsis", "arrowvertex", "arrowhorizex", "carriagereturn", "aleph", "Ifraktur", "Rfraktur", "weierstrass", 
"circlemultiply", "circleplus", "emptyset", "intersection", "union", "propersuperset", "reflexsuperset", 
"notsubset", "propersubset", "reflexsubset", "element", "notelement", "angle", "gradient", "registerserif", 
"copyrightserif", "trademarkserif", "product", "radical", "dotmath", "logicalnot", "logicaland", "logicalor", 
"arrowdblboth", "arrowdblleft", "arrowdb
 lup", "arrowdblright", "arrowdbldown", "lozenge", "angleleft", "registersans", "copyrightsans", 
"trademarksans", "summation", "parenlefttp", "parenleftex", "parenleftbt", "bracketlefttp", "bracketleftex", 
"bracketleftbt", "bracelefttp", "braceleftmid", "braceleftbt", "braceex", "", "angleright", "integral", 
"integraltp", "integralex", "integralbt", "parenrighttp", "parenrightex", "parenrightbt", "bracketrighttp", 
"bracketrightex", "bracketrightbt", "bracerighttp", "bracerightmid", "bracerightbt", ""];
 exports.SymbolSetEncoding = SymbolSetEncoding;
-var ZapfDingbatsEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '', '', '', '', 'space', 'a1', 'a2', 'a202', 'a3', 'a4', 'a5', 'a119', 
'a118', 'a117', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a105', 'a17', 'a18', 'a19', 'a20', 'a21', 'a22', 
'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a6', 'a7', 'a8', 'a9', 'a10', 'a29', 'a30', 'a31', 'a32', 'a33', 
'a34', 'a35', 'a36', 'a37', 'a38', 'a39', 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 
'a49', 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59', 'a60', 'a61', 'a62', 'a63', 
'a64', 'a65', 'a66', 'a67', 'a68', 'a69', 'a70', 'a71', 'a72', 'a73', 'a74', 'a203', 'a75', 'a204', 'a76', 
'a77', 'a78', 'a79', 'a81', 'a82', 'a83', 'a84', 'a97', 'a98', 'a99', 'a100', '', 'a89', 'a90', 'a93', 'a94', 
'a91', 'a92', 'a205', 'a85', 'a206', 'a86', 'a87', 'a88', 'a95', 'a96', '', '', '', '', '', '', '', '', '', 
'', '', '', '', '', '', '', '', '',
  '', 'a101', 'a102', 'a103', 'a104', 'a106', 'a107', 'a108', 'a112', 'a111', 'a110', 'a109', 'a120', 'a121', 
'a122', 'a123', 'a124', 'a125', 'a126', 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 
'a135', 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144', 'a145', 'a146', 'a147', 
'a148', 'a149', 'a150', 'a151', 'a152', 'a153', 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 
'a161', 'a163', 'a164', 'a196', 'a165', 'a192', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171', 'a172', 
'a173', 'a162', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a193', 'a180', 'a199', 'a181', 'a200', 
'a182', '', 'a201', 'a183', 'a184', 'a197', 'a185', 'a194', 'a198', 'a186', 'a195', 'a187', 'a188', 'a189', 
'a190', 'a191', ''];
+const ZapfDingbatsEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "", "", "", "", "space", "a1", "a2", "a202", "a3", "a4", "a5", "a119", 
"a118", "a117", "a11", "a12", "a13", "a14", "a15", "a16", "a105", "a17", "a18", "a19", "a20", "a21", "a22", 
"a23", "a24", "a25", "a26", "a27", "a28", "a6", "a7", "a8", "a9", "a10", "a29", "a30", "a31", "a32", "a33", 
"a34", "a35", "a36", "a37", "a38", "a39", "a40", "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48", 
"a49", "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58", "a59", "a60", "a61", "a62", "a63", 
"a64", "a65", "a66", "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a203", "a75", "a204", "a76", 
"a77", "a78", "a79", "a81", "a82", "a83", "a84", "a97", "a98", "a99", "a100", "", "a89", "a90", "a93", "a94", 
"a91", "a92", "a205", "a85", "a206", "a86", "a87", "a88", "a95", "a96", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "
 ", "", "a101", "a102", "a103", "a104", "a106", "a107", "a108", "a112", "a111", "a110", "a109", "a120", 
"a121", "a122", "a123", "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131", "a132", "a133", 
"a134", "a135", "a136", "a137", "a138", "a139", "a140", "a141", "a142", "a143", "a144", "a145", "a146", 
"a147", "a148", "a149", "a150", "a151", "a152", "a153", "a154", "a155", "a156", "a157", "a158", "a159", 
"a160", "a161", "a163", "a164", "a196", "a165", "a192", "a166", "a167", "a168", "a169", "a170", "a171", 
"a172", "a173", "a162", "a174", "a175", "a176", "a177", "a178", "a179", "a193", "a180", "a199", "a181", 
"a200", "a182", "", "a201", "a183", "a184", "a197", "a185", "a194", "a198", "a186", "a195", "a187", "a188", 
"a189", "a190", "a191", ""];
 exports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;
 
 function getEncoding(encodingName) {
   switch (encodingName) {
-    case 'WinAnsiEncoding':
+    case "WinAnsiEncoding":
       return WinAnsiEncoding;
 
-    case 'StandardEncoding':
+    case "StandardEncoding":
       return StandardEncoding;
 
-    case 'MacRomanEncoding':
+    case "MacRomanEncoding":
       return MacRomanEncoding;
 
-    case 'SymbolSetEncoding':
+    case "SymbolSetEncoding":
       return SymbolSetEncoding;
 
-    case 'ZapfDingbatsEncoding':
+    case "ZapfDingbatsEncoding":
       return ZapfDingbatsEncoding;
 
-    case 'ExpertEncoding':
+    case "ExpertEncoding":
       return ExpertEncoding;
 
-    case 'MacExpertEncoding':
+    case "MacExpertEncoding":
       return MacExpertEncoding;
 
     default:
@@ -40070,4544 +29614,4544 @@ function getEncoding(encodingName) {
 }
 
 /***/ }),
-/* 210 */
+/* 31 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
-var getLookupTableFactory = __w_pdfjs_require__(186).getLookupTableFactory;
+var getLookupTableFactory = __w_pdfjs_require__(7).getLookupTableFactory;
 var getGlyphsUnicode = getLookupTableFactory(function (t) {
- t['A'] = 0x0041;
- t['AE'] = 0x00C6;
- t['AEacute'] = 0x01FC;
- t['AEmacron'] = 0x01E2;
- t['AEsmall'] = 0xF7E6;
- t['Aacute'] = 0x00C1;
- t['Aacutesmall'] = 0xF7E1;
- t['Abreve'] = 0x0102;
- t['Abreveacute'] = 0x1EAE;
- t['Abrevecyrillic'] = 0x04D0;
- t['Abrevedotbelow'] = 0x1EB6;
- t['Abrevegrave'] = 0x1EB0;
- t['Abrevehookabove'] = 0x1EB2;
- t['Abrevetilde'] = 0x1EB4;
- t['Acaron'] = 0x01CD;
- t['Acircle'] = 0x24B6;
- t['Acircumflex'] = 0x00C2;
- t['Acircumflexacute'] = 0x1EA4;
- t['Acircumflexdotbelow'] = 0x1EAC;
- t['Acircumflexgrave'] = 0x1EA6;
- t['Acircumflexhookabove'] = 0x1EA8;
- t['Acircumflexsmall'] = 0xF7E2;
- t['Acircumflextilde'] = 0x1EAA;
- t['Acute'] = 0xF6C9;
- t['Acutesmall'] = 0xF7B4;
- t['Acyrillic'] = 0x0410;
- t['Adblgrave'] = 0x0200;
- t['Adieresis'] = 0x00C4;
- t['Adieresiscyrillic'] = 0x04D2;
- t['Adieresismacron'] = 0x01DE;
- t['Adieresissmall'] = 0xF7E4;
- t['Adotbelow'] = 0x1EA0;
- t['Adotmacron'] = 0x01E0;
- t['Agrave'] = 0x00C0;
- t['Agravesmall'] = 0xF7E0;
- t['Ahookabove'] = 0x1EA2;
- t['Aiecyrillic'] = 0x04D4;
- t['Ainvertedbreve'] = 0x0202;
- t['Alpha'] = 0x0391;
- t['Alphatonos'] = 0x0386;
- t['Amacron'] = 0x0100;
- t['Amonospace'] = 0xFF21;
- t['Aogonek'] = 0x0104;
- t['Aring'] = 0x00C5;
- t['Aringacute'] = 0x01FA;
- t['Aringbelow'] = 0x1E00;
- t['Aringsmall'] = 0xF7E5;
- t['Asmall'] = 0xF761;
- t['Atilde'] = 0x00C3;
- t['Atildesmall'] = 0xF7E3;
- t['Aybarmenian'] = 0x0531;
- t['B'] = 0x0042;
- t['Bcircle'] = 0x24B7;
- t['Bdotaccent'] = 0x1E02;
- t['Bdotbelow'] = 0x1E04;
- t['Becyrillic'] = 0x0411;
- t['Benarmenian'] = 0x0532;
- t['Beta'] = 0x0392;
- t['Bhook'] = 0x0181;
- t['Blinebelow'] = 0x1E06;
- t['Bmonospace'] = 0xFF22;
- t['Brevesmall'] = 0xF6F4;
- t['Bsmall'] = 0xF762;
- t['Btopbar'] = 0x0182;
- t['C'] = 0x0043;
- t['Caarmenian'] = 0x053E;
- t['Cacute'] = 0x0106;
- t['Caron'] = 0xF6CA;
- t['Caronsmall'] = 0xF6F5;
- t['Ccaron'] = 0x010C;
- t['Ccedilla'] = 0x00C7;
- t['Ccedillaacute'] = 0x1E08;
- t['Ccedillasmall'] = 0xF7E7;
- t['Ccircle'] = 0x24B8;
- t['Ccircumflex'] = 0x0108;
- t['Cdot'] = 0x010A;
- t['Cdotaccent'] = 0x010A;
- t['Cedillasmall'] = 0xF7B8;
- t['Chaarmenian'] = 0x0549;
- t['Cheabkhasiancyrillic'] = 0x04BC;
- t['Checyrillic'] = 0x0427;
- t['Chedescenderabkhasiancyrillic'] = 0x04BE;
- t['Chedescendercyrillic'] = 0x04B6;
- t['Chedieresiscyrillic'] = 0x04F4;
- t['Cheharmenian'] = 0x0543;
- t['Chekhakassiancyrillic'] = 0x04CB;
- t['Cheverticalstrokecyrillic'] = 0x04B8;
- t['Chi'] = 0x03A7;
- t['Chook'] = 0x0187;
- t['Circumflexsmall'] = 0xF6F6;
- t['Cmonospace'] = 0xFF23;
- t['Coarmenian'] = 0x0551;
- t['Csmall'] = 0xF763;
- t['D'] = 0x0044;
- t['DZ'] = 0x01F1;
- t['DZcaron'] = 0x01C4;
- t['Daarmenian'] = 0x0534;
- t['Dafrican'] = 0x0189;
- t['Dcaron'] = 0x010E;
- t['Dcedilla'] = 0x1E10;
- t['Dcircle'] = 0x24B9;
- t['Dcircumflexbelow'] = 0x1E12;
- t['Dcroat'] = 0x0110;
- t['Ddotaccent'] = 0x1E0A;
- t['Ddotbelow'] = 0x1E0C;
- t['Decyrillic'] = 0x0414;
- t['Deicoptic'] = 0x03EE;
- t['Delta'] = 0x2206;
- t['Deltagreek'] = 0x0394;
- t['Dhook'] = 0x018A;
- t['Dieresis'] = 0xF6CB;
- t['DieresisAcute'] = 0xF6CC;
- t['DieresisGrave'] = 0xF6CD;
- t['Dieresissmall'] = 0xF7A8;
- t['Digammagreek'] = 0x03DC;
- t['Djecyrillic'] = 0x0402;
- t['Dlinebelow'] = 0x1E0E;
- t['Dmonospace'] = 0xFF24;
- t['Dotaccentsmall'] = 0xF6F7;
- t['Dslash'] = 0x0110;
- t['Dsmall'] = 0xF764;
- t['Dtopbar'] = 0x018B;
- t['Dz'] = 0x01F2;
- t['Dzcaron'] = 0x01C5;
- t['Dzeabkhasiancyrillic'] = 0x04E0;
- t['Dzecyrillic'] = 0x0405;
- t['Dzhecyrillic'] = 0x040F;
- t['E'] = 0x0045;
- t['Eacute'] = 0x00C9;
- t['Eacutesmall'] = 0xF7E9;
- t['Ebreve'] = 0x0114;
- t['Ecaron'] = 0x011A;
- t['Ecedillabreve'] = 0x1E1C;
- t['Echarmenian'] = 0x0535;
- t['Ecircle'] = 0x24BA;
- t['Ecircumflex'] = 0x00CA;
- t['Ecircumflexacute'] = 0x1EBE;
- t['Ecircumflexbelow'] = 0x1E18;
- t['Ecircumflexdotbelow'] = 0x1EC6;
- t['Ecircumflexgrave'] = 0x1EC0;
- t['Ecircumflexhookabove'] = 0x1EC2;
- t['Ecircumflexsmall'] = 0xF7EA;
- t['Ecircumflextilde'] = 0x1EC4;
- t['Ecyrillic'] = 0x0404;
- t['Edblgrave'] = 0x0204;
- t['Edieresis'] = 0x00CB;
- t['Edieresissmall'] = 0xF7EB;
- t['Edot'] = 0x0116;
- t['Edotaccent'] = 0x0116;
- t['Edotbelow'] = 0x1EB8;
- t['Efcyrillic'] = 0x0424;
- t['Egrave'] = 0x00C8;
- t['Egravesmall'] = 0xF7E8;
- t['Eharmenian'] = 0x0537;
- t['Ehookabove'] = 0x1EBA;
- t['Eightroman'] = 0x2167;
- t['Einvertedbreve'] = 0x0206;
- t['Eiotifiedcyrillic'] = 0x0464;
- t['Elcyrillic'] = 0x041B;
- t['Elevenroman'] = 0x216A;
- t['Emacron'] = 0x0112;
- t['Emacronacute'] = 0x1E16;
- t['Emacrongrave'] = 0x1E14;
- t['Emcyrillic'] = 0x041C;
- t['Emonospace'] = 0xFF25;
- t['Encyrillic'] = 0x041D;
- t['Endescendercyrillic'] = 0x04A2;
- t['Eng'] = 0x014A;
- t['Enghecyrillic'] = 0x04A4;
- t['Enhookcyrillic'] = 0x04C7;
- t['Eogonek'] = 0x0118;
- t['Eopen'] = 0x0190;
- t['Epsilon'] = 0x0395;
- t['Epsilontonos'] = 0x0388;
- t['Ercyrillic'] = 0x0420;
- t['Ereversed'] = 0x018E;
- t['Ereversedcyrillic'] = 0x042D;
- t['Escyrillic'] = 0x0421;
- t['Esdescendercyrillic'] = 0x04AA;
- t['Esh'] = 0x01A9;
- t['Esmall'] = 0xF765;
- t['Eta'] = 0x0397;
- t['Etarmenian'] = 0x0538;
- t['Etatonos'] = 0x0389;
- t['Eth'] = 0x00D0;
- t['Ethsmall'] = 0xF7F0;
- t['Etilde'] = 0x1EBC;
- t['Etildebelow'] = 0x1E1A;
- t['Euro'] = 0x20AC;
- t['Ezh'] = 0x01B7;
- t['Ezhcaron'] = 0x01EE;
- t['Ezhreversed'] = 0x01B8;
- t['F'] = 0x0046;
- t['Fcircle'] = 0x24BB;
- t['Fdotaccent'] = 0x1E1E;
- t['Feharmenian'] = 0x0556;
- t['Feicoptic'] = 0x03E4;
- t['Fhook'] = 0x0191;
- t['Fitacyrillic'] = 0x0472;
- t['Fiveroman'] = 0x2164;
- t['Fmonospace'] = 0xFF26;
- t['Fourroman'] = 0x2163;
- t['Fsmall'] = 0xF766;
- t['G'] = 0x0047;
- t['GBsquare'] = 0x3387;
- t['Gacute'] = 0x01F4;
- t['Gamma'] = 0x0393;
- t['Gammaafrican'] = 0x0194;
- t['Gangiacoptic'] = 0x03EA;
- t['Gbreve'] = 0x011E;
- t['Gcaron'] = 0x01E6;
- t['Gcedilla'] = 0x0122;
- t['Gcircle'] = 0x24BC;
- t['Gcircumflex'] = 0x011C;
- t['Gcommaaccent'] = 0x0122;
- t['Gdot'] = 0x0120;
- t['Gdotaccent'] = 0x0120;
- t['Gecyrillic'] = 0x0413;
- t['Ghadarmenian'] = 0x0542;
- t['Ghemiddlehookcyrillic'] = 0x0494;
- t['Ghestrokecyrillic'] = 0x0492;
- t['Gheupturncyrillic'] = 0x0490;
- t['Ghook'] = 0x0193;
- t['Gimarmenian'] = 0x0533;
- t['Gjecyrillic'] = 0x0403;
- t['Gmacron'] = 0x1E20;
- t['Gmonospace'] = 0xFF27;
- t['Grave'] = 0xF6CE;
- t['Gravesmall'] = 0xF760;
- t['Gsmall'] = 0xF767;
- t['Gsmallhook'] = 0x029B;
- t['Gstroke'] = 0x01E4;
- t['H'] = 0x0048;
- t['H18533'] = 0x25CF;
- t['H18543'] = 0x25AA;
- t['H18551'] = 0x25AB;
- t['H22073'] = 0x25A1;
- t['HPsquare'] = 0x33CB;
- t['Haabkhasiancyrillic'] = 0x04A8;
- t['Hadescendercyrillic'] = 0x04B2;
- t['Hardsigncyrillic'] = 0x042A;
- t['Hbar'] = 0x0126;
- t['Hbrevebelow'] = 0x1E2A;
- t['Hcedilla'] = 0x1E28;
- t['Hcircle'] = 0x24BD;
- t['Hcircumflex'] = 0x0124;
- t['Hdieresis'] = 0x1E26;
- t['Hdotaccent'] = 0x1E22;
- t['Hdotbelow'] = 0x1E24;
- t['Hmonospace'] = 0xFF28;
- t['Hoarmenian'] = 0x0540;
- t['Horicoptic'] = 0x03E8;
- t['Hsmall'] = 0xF768;
- t['Hungarumlaut'] = 0xF6CF;
- t['Hungarumlautsmall'] = 0xF6F8;
- t['Hzsquare'] = 0x3390;
- t['I'] = 0x0049;
- t['IAcyrillic'] = 0x042F;
- t['IJ'] = 0x0132;
- t['IUcyrillic'] = 0x042E;
- t['Iacute'] = 0x00CD;
- t['Iacutesmall'] = 0xF7ED;
- t['Ibreve'] = 0x012C;
- t['Icaron'] = 0x01CF;
- t['Icircle'] = 0x24BE;
- t['Icircumflex'] = 0x00CE;
- t['Icircumflexsmall'] = 0xF7EE;
- t['Icyrillic'] = 0x0406;
- t['Idblgrave'] = 0x0208;
- t['Idieresis'] = 0x00CF;
- t['Idieresisacute'] = 0x1E2E;
- t['Idieresiscyrillic'] = 0x04E4;
- t['Idieresissmall'] = 0xF7EF;
- t['Idot'] = 0x0130;
- t['Idotaccent'] = 0x0130;
- t['Idotbelow'] = 0x1ECA;
- t['Iebrevecyrillic'] = 0x04D6;
- t['Iecyrillic'] = 0x0415;
- t['Ifraktur'] = 0x2111;
- t['Igrave'] = 0x00CC;
- t['Igravesmall'] = 0xF7EC;
- t['Ihookabove'] = 0x1EC8;
- t['Iicyrillic'] = 0x0418;
- t['Iinvertedbreve'] = 0x020A;
- t['Iishortcyrillic'] = 0x0419;
- t['Imacron'] = 0x012A;
- t['Imacroncyrillic'] = 0x04E2;
- t['Imonospace'] = 0xFF29;
- t['Iniarmenian'] = 0x053B;
- t['Iocyrillic'] = 0x0401;
- t['Iogonek'] = 0x012E;
- t['Iota'] = 0x0399;
- t['Iotaafrican'] = 0x0196;
- t['Iotadieresis'] = 0x03AA;
- t['Iotatonos'] = 0x038A;
- t['Ismall'] = 0xF769;
- t['Istroke'] = 0x0197;
- t['Itilde'] = 0x0128;
- t['Itildebelow'] = 0x1E2C;
- t['Izhitsacyrillic'] = 0x0474;
- t['Izhitsadblgravecyrillic'] = 0x0476;
- t['J'] = 0x004A;
- t['Jaarmenian'] = 0x0541;
- t['Jcircle'] = 0x24BF;
- t['Jcircumflex'] = 0x0134;
- t['Jecyrillic'] = 0x0408;
- t['Jheharmenian'] = 0x054B;
- t['Jmonospace'] = 0xFF2A;
- t['Jsmall'] = 0xF76A;
- t['K'] = 0x004B;
- t['KBsquare'] = 0x3385;
- t['KKsquare'] = 0x33CD;
- t['Kabashkircyrillic'] = 0x04A0;
- t['Kacute'] = 0x1E30;
- t['Kacyrillic'] = 0x041A;
- t['Kadescendercyrillic'] = 0x049A;
- t['Kahookcyrillic'] = 0x04C3;
- t['Kappa'] = 0x039A;
- t['Kastrokecyrillic'] = 0x049E;
- t['Kaverticalstrokecyrillic'] = 0x049C;
- t['Kcaron'] = 0x01E8;
- t['Kcedilla'] = 0x0136;
- t['Kcircle'] = 0x24C0;
- t['Kcommaaccent'] = 0x0136;
- t['Kdotbelow'] = 0x1E32;
- t['Keharmenian'] = 0x0554;
- t['Kenarmenian'] = 0x053F;
- t['Khacyrillic'] = 0x0425;
- t['Kheicoptic'] = 0x03E6;
- t['Khook'] = 0x0198;
- t['Kjecyrillic'] = 0x040C;
- t['Klinebelow'] = 0x1E34;
- t['Kmonospace'] = 0xFF2B;
- t['Koppacyrillic'] = 0x0480;
- t['Koppagreek'] = 0x03DE;
- t['Ksicyrillic'] = 0x046E;
- t['Ksmall'] = 0xF76B;
- t['L'] = 0x004C;
- t['LJ'] = 0x01C7;
- t['LL'] = 0xF6BF;
- t['Lacute'] = 0x0139;
- t['Lambda'] = 0x039B;
- t['Lcaron'] = 0x013D;
- t['Lcedilla'] = 0x013B;
- t['Lcircle'] = 0x24C1;
- t['Lcircumflexbelow'] = 0x1E3C;
- t['Lcommaaccent'] = 0x013B;
- t['Ldot'] = 0x013F;
- t['Ldotaccent'] = 0x013F;
- t['Ldotbelow'] = 0x1E36;
- t['Ldotbelowmacron'] = 0x1E38;
- t['Liwnarmenian'] = 0x053C;
- t['Lj'] = 0x01C8;
- t['Ljecyrillic'] = 0x0409;
- t['Llinebelow'] = 0x1E3A;
- t['Lmonospace'] = 0xFF2C;
- t['Lslash'] = 0x0141;
- t['Lslashsmall'] = 0xF6F9;
- t['Lsmall'] = 0xF76C;
- t['M'] = 0x004D;
- t['MBsquare'] = 0x3386;
- t['Macron'] = 0xF6D0;
- t['Macronsmall'] = 0xF7AF;
- t['Macute'] = 0x1E3E;
- t['Mcircle'] = 0x24C2;
- t['Mdotaccent'] = 0x1E40;
- t['Mdotbelow'] = 0x1E42;
- t['Menarmenian'] = 0x0544;
- t['Mmonospace'] = 0xFF2D;
- t['Msmall'] = 0xF76D;
- t['Mturned'] = 0x019C;
- t['Mu'] = 0x039C;
- t['N'] = 0x004E;
- t['NJ'] = 0x01CA;
- t['Nacute'] = 0x0143;
- t['Ncaron'] = 0x0147;
- t['Ncedilla'] = 0x0145;
- t['Ncircle'] = 0x24C3;
- t['Ncircumflexbelow'] = 0x1E4A;
- t['Ncommaaccent'] = 0x0145;
- t['Ndotaccent'] = 0x1E44;
- t['Ndotbelow'] = 0x1E46;
- t['Nhookleft'] = 0x019D;
- t['Nineroman'] = 0x2168;
- t['Nj'] = 0x01CB;
- t['Njecyrillic'] = 0x040A;
- t['Nlinebelow'] = 0x1E48;
- t['Nmonospace'] = 0xFF2E;
- t['Nowarmenian'] = 0x0546;
- t['Nsmall'] = 0xF76E;
- t['Ntilde'] = 0x00D1;
- t['Ntildesmall'] = 0xF7F1;
- t['Nu'] = 0x039D;
- t['O'] = 0x004F;
- t['OE'] = 0x0152;
- t['OEsmall'] = 0xF6FA;
- t['Oacute'] = 0x00D3;
- t['Oacutesmall'] = 0xF7F3;
- t['Obarredcyrillic'] = 0x04E8;
- t['Obarreddieresiscyrillic'] = 0x04EA;
- t['Obreve'] = 0x014E;
- t['Ocaron'] = 0x01D1;
- t['Ocenteredtilde'] = 0x019F;
- t['Ocircle'] = 0x24C4;
- t['Ocircumflex'] = 0x00D4;
- t['Ocircumflexacute'] = 0x1ED0;
- t['Ocircumflexdotbelow'] = 0x1ED8;
- t['Ocircumflexgrave'] = 0x1ED2;
- t['Ocircumflexhookabove'] = 0x1ED4;
- t['Ocircumflexsmall'] = 0xF7F4;
- t['Ocircumflextilde'] = 0x1ED6;
- t['Ocyrillic'] = 0x041E;
- t['Odblacute'] = 0x0150;
- t['Odblgrave'] = 0x020C;
- t['Odieresis'] = 0x00D6;
- t['Odieresiscyrillic'] = 0x04E6;
- t['Odieresissmall'] = 0xF7F6;
- t['Odotbelow'] = 0x1ECC;
- t['Ogoneksmall'] = 0xF6FB;
- t['Ograve'] = 0x00D2;
- t['Ogravesmall'] = 0xF7F2;
- t['Oharmenian'] = 0x0555;
- t['Ohm'] = 0x2126;
- t['Ohookabove'] = 0x1ECE;
- t['Ohorn'] = 0x01A0;
- t['Ohornacute'] = 0x1EDA;
- t['Ohorndotbelow'] = 0x1EE2;
- t['Ohorngrave'] = 0x1EDC;
- t['Ohornhookabove'] = 0x1EDE;
- t['Ohorntilde'] = 0x1EE0;
- t['Ohungarumlaut'] = 0x0150;
- t['Oi'] = 0x01A2;
- t['Oinvertedbreve'] = 0x020E;
- t['Omacron'] = 0x014C;
- t['Omacronacute'] = 0x1E52;
- t['Omacrongrave'] = 0x1E50;
- t['Omega'] = 0x2126;
- t['Omegacyrillic'] = 0x0460;
- t['Omegagreek'] = 0x03A9;
- t['Omegaroundcyrillic'] = 0x047A;
- t['Omegatitlocyrillic'] = 0x047C;
- t['Omegatonos'] = 0x038F;
- t['Omicron'] = 0x039F;
- t['Omicrontonos'] = 0x038C;
- t['Omonospace'] = 0xFF2F;
- t['Oneroman'] = 0x2160;
- t['Oogonek'] = 0x01EA;
- t['Oogonekmacron'] = 0x01EC;
- t['Oopen'] = 0x0186;
- t['Oslash'] = 0x00D8;
- t['Oslashacute'] = 0x01FE;
- t['Oslashsmall'] = 0xF7F8;
- t['Osmall'] = 0xF76F;
- t['Ostrokeacute'] = 0x01FE;
- t['Otcyrillic'] = 0x047E;
- t['Otilde'] = 0x00D5;
- t['Otildeacute'] = 0x1E4C;
- t['Otildedieresis'] = 0x1E4E;
- t['Otildesmall'] = 0xF7F5;
- t['P'] = 0x0050;
- t['Pacute'] = 0x1E54;
- t['Pcircle'] = 0x24C5;
- t['Pdotaccent'] = 0x1E56;
- t['Pecyrillic'] = 0x041F;
- t['Peharmenian'] = 0x054A;
- t['Pemiddlehookcyrillic'] = 0x04A6;
- t['Phi'] = 0x03A6;
- t['Phook'] = 0x01A4;
- t['Pi'] = 0x03A0;
- t['Piwrarmenian'] = 0x0553;
- t['Pmonospace'] = 0xFF30;
- t['Psi'] = 0x03A8;
- t['Psicyrillic'] = 0x0470;
- t['Psmall'] = 0xF770;
- t['Q'] = 0x0051;
- t['Qcircle'] = 0x24C6;
- t['Qmonospace'] = 0xFF31;
- t['Qsmall'] = 0xF771;
- t['R'] = 0x0052;
- t['Raarmenian'] = 0x054C;
- t['Racute'] = 0x0154;
- t['Rcaron'] = 0x0158;
- t['Rcedilla'] = 0x0156;
- t['Rcircle'] = 0x24C7;
- t['Rcommaaccent'] = 0x0156;
- t['Rdblgrave'] = 0x0210;
- t['Rdotaccent'] = 0x1E58;
- t['Rdotbelow'] = 0x1E5A;
- t['Rdotbelowmacron'] = 0x1E5C;
- t['Reharmenian'] = 0x0550;
- t['Rfraktur'] = 0x211C;
- t['Rho'] = 0x03A1;
- t['Ringsmall'] = 0xF6FC;
- t['Rinvertedbreve'] = 0x0212;
- t['Rlinebelow'] = 0x1E5E;
- t['Rmonospace'] = 0xFF32;
- t['Rsmall'] = 0xF772;
- t['Rsmallinverted'] = 0x0281;
- t['Rsmallinvertedsuperior'] = 0x02B6;
- t['S'] = 0x0053;
- t['SF010000'] = 0x250C;
- t['SF020000'] = 0x2514;
- t['SF030000'] = 0x2510;
- t['SF040000'] = 0x2518;
- t['SF050000'] = 0x253C;
- t['SF060000'] = 0x252C;
- t['SF070000'] = 0x2534;
- t['SF080000'] = 0x251C;
- t['SF090000'] = 0x2524;
- t['SF100000'] = 0x2500;
- t['SF110000'] = 0x2502;
- t['SF190000'] = 0x2561;
- t['SF200000'] = 0x2562;
- t['SF210000'] = 0x2556;
- t['SF220000'] = 0x2555;
- t['SF230000'] = 0x2563;
- t['SF240000'] = 0x2551;
- t['SF250000'] = 0x2557;
- t['SF260000'] = 0x255D;
- t['SF270000'] = 0x255C;
- t['SF280000'] = 0x255B;
- t['SF360000'] = 0x255E;
- t['SF370000'] = 0x255F;
- t['SF380000'] = 0x255A;
- t['SF390000'] = 0x2554;
- t['SF400000'] = 0x2569;
- t['SF410000'] = 0x2566;
- t['SF420000'] = 0x2560;
- t['SF430000'] = 0x2550;
- t['SF440000'] = 0x256C;
- t['SF450000'] = 0x2567;
- t['SF460000'] = 0x2568;
- t['SF470000'] = 0x2564;
- t['SF480000'] = 0x2565;
- t['SF490000'] = 0x2559;
- t['SF500000'] = 0x2558;
- t['SF510000'] = 0x2552;
- t['SF520000'] = 0x2553;
- t['SF530000'] = 0x256B;
- t['SF540000'] = 0x256A;
- t['Sacute'] = 0x015A;
- t['Sacutedotaccent'] = 0x1E64;
- t['Sampigreek'] = 0x03E0;
- t['Scaron'] = 0x0160;
- t['Scarondotaccent'] = 0x1E66;
- t['Scaronsmall'] = 0xF6FD;
- t['Scedilla'] = 0x015E;
- t['Schwa'] = 0x018F;
- t['Schwacyrillic'] = 0x04D8;
- t['Schwadieresiscyrillic'] = 0x04DA;
- t['Scircle'] = 0x24C8;
- t['Scircumflex'] = 0x015C;
- t['Scommaaccent'] = 0x0218;
- t['Sdotaccent'] = 0x1E60;
- t['Sdotbelow'] = 0x1E62;
- t['Sdotbelowdotaccent'] = 0x1E68;
- t['Seharmenian'] = 0x054D;
- t['Sevenroman'] = 0x2166;
- t['Shaarmenian'] = 0x0547;
- t['Shacyrillic'] = 0x0428;
- t['Shchacyrillic'] = 0x0429;
- t['Sheicoptic'] = 0x03E2;
- t['Shhacyrillic'] = 0x04BA;
- t['Shimacoptic'] = 0x03EC;
- t['Sigma'] = 0x03A3;
- t['Sixroman'] = 0x2165;
- t['Smonospace'] = 0xFF33;
- t['Softsigncyrillic'] = 0x042C;
- t['Ssmall'] = 0xF773;
- t['Stigmagreek'] = 0x03DA;
- t['T'] = 0x0054;
- t['Tau'] = 0x03A4;
- t['Tbar'] = 0x0166;
- t['Tcaron'] = 0x0164;
- t['Tcedilla'] = 0x0162;
- t['Tcircle'] = 0x24C9;
- t['Tcircumflexbelow'] = 0x1E70;
- t['Tcommaaccent'] = 0x0162;
- t['Tdotaccent'] = 0x1E6A;
- t['Tdotbelow'] = 0x1E6C;
- t['Tecyrillic'] = 0x0422;
- t['Tedescendercyrillic'] = 0x04AC;
- t['Tenroman'] = 0x2169;
- t['Tetsecyrillic'] = 0x04B4;
- t['Theta'] = 0x0398;
- t['Thook'] = 0x01AC;
- t['Thorn'] = 0x00DE;
- t['Thornsmall'] = 0xF7FE;
- t['Threeroman'] = 0x2162;
- t['Tildesmall'] = 0xF6FE;
- t['Tiwnarmenian'] = 0x054F;
- t['Tlinebelow'] = 0x1E6E;
- t['Tmonospace'] = 0xFF34;
- t['Toarmenian'] = 0x0539;
- t['Tonefive'] = 0x01BC;
- t['Tonesix'] = 0x0184;
- t['Tonetwo'] = 0x01A7;
- t['Tretroflexhook'] = 0x01AE;
- t['Tsecyrillic'] = 0x0426;
- t['Tshecyrillic'] = 0x040B;
- t['Tsmall'] = 0xF774;
- t['Twelveroman'] = 0x216B;
- t['Tworoman'] = 0x2161;
- t['U'] = 0x0055;
- t['Uacute'] = 0x00DA;
- t['Uacutesmall'] = 0xF7FA;
- t['Ubreve'] = 0x016C;
- t['Ucaron'] = 0x01D3;
- t['Ucircle'] = 0x24CA;
- t['Ucircumflex'] = 0x00DB;
- t['Ucircumflexbelow'] = 0x1E76;
- t['Ucircumflexsmall'] = 0xF7FB;
- t['Ucyrillic'] = 0x0423;
- t['Udblacute'] = 0x0170;
- t['Udblgrave'] = 0x0214;
- t['Udieresis'] = 0x00DC;
- t['Udieresisacute'] = 0x01D7;
- t['Udieresisbelow'] = 0x1E72;
- t['Udieresiscaron'] = 0x01D9;
- t['Udieresiscyrillic'] = 0x04F0;
- t['Udieresisgrave'] = 0x01DB;
- t['Udieresismacron'] = 0x01D5;
- t['Udieresissmall'] = 0xF7FC;
- t['Udotbelow'] = 0x1EE4;
- t['Ugrave'] = 0x00D9;
- t['Ugravesmall'] = 0xF7F9;
- t['Uhookabove'] = 0x1EE6;
- t['Uhorn'] = 0x01AF;
- t['Uhornacute'] = 0x1EE8;
- t['Uhorndotbelow'] = 0x1EF0;
- t['Uhorngrave'] = 0x1EEA;
- t['Uhornhookabove'] = 0x1EEC;
- t['Uhorntilde'] = 0x1EEE;
- t['Uhungarumlaut'] = 0x0170;
- t['Uhungarumlautcyrillic'] = 0x04F2;
- t['Uinvertedbreve'] = 0x0216;
- t['Ukcyrillic'] = 0x0478;
- t['Umacron'] = 0x016A;
- t['Umacroncyrillic'] = 0x04EE;
- t['Umacrondieresis'] = 0x1E7A;
- t['Umonospace'] = 0xFF35;
- t['Uogonek'] = 0x0172;
- t['Upsilon'] = 0x03A5;
- t['Upsilon1'] = 0x03D2;
- t['Upsilonacutehooksymbolgreek'] = 0x03D3;
- t['Upsilonafrican'] = 0x01B1;
- t['Upsilondieresis'] = 0x03AB;
- t['Upsilondieresishooksymbolgreek'] = 0x03D4;
- t['Upsilonhooksymbol'] = 0x03D2;
- t['Upsilontonos'] = 0x038E;
- t['Uring'] = 0x016E;
- t['Ushortcyrillic'] = 0x040E;
- t['Usmall'] = 0xF775;
- t['Ustraightcyrillic'] = 0x04AE;
- t['Ustraightstrokecyrillic'] = 0x04B0;
- t['Utilde'] = 0x0168;
- t['Utildeacute'] = 0x1E78;
- t['Utildebelow'] = 0x1E74;
- t['V'] = 0x0056;
- t['Vcircle'] = 0x24CB;
- t['Vdotbelow'] = 0x1E7E;
- t['Vecyrillic'] = 0x0412;
- t['Vewarmenian'] = 0x054E;
- t['Vhook'] = 0x01B2;
- t['Vmonospace'] = 0xFF36;
- t['Voarmenian'] = 0x0548;
- t['Vsmall'] = 0xF776;
- t['Vtilde'] = 0x1E7C;
- t['W'] = 0x0057;
- t['Wacute'] = 0x1E82;
- t['Wcircle'] = 0x24CC;
- t['Wcircumflex'] = 0x0174;
- t['Wdieresis'] = 0x1E84;
- t['Wdotaccent'] = 0x1E86;
- t['Wdotbelow'] = 0x1E88;
- t['Wgrave'] = 0x1E80;
- t['Wmonospace'] = 0xFF37;
- t['Wsmall'] = 0xF777;
- t['X'] = 0x0058;
- t['Xcircle'] = 0x24CD;
- t['Xdieresis'] = 0x1E8C;
- t['Xdotaccent'] = 0x1E8A;
- t['Xeharmenian'] = 0x053D;
- t['Xi'] = 0x039E;
- t['Xmonospace'] = 0xFF38;
- t['Xsmall'] = 0xF778;
- t['Y'] = 0x0059;
- t['Yacute'] = 0x00DD;
- t['Yacutesmall'] = 0xF7FD;
- t['Yatcyrillic'] = 0x0462;
- t['Ycircle'] = 0x24CE;
- t['Ycircumflex'] = 0x0176;
- t['Ydieresis'] = 0x0178;
- t['Ydieresissmall'] = 0xF7FF;
- t['Ydotaccent'] = 0x1E8E;
- t['Ydotbelow'] = 0x1EF4;
- t['Yericyrillic'] = 0x042B;
- t['Yerudieresiscyrillic'] = 0x04F8;
- t['Ygrave'] = 0x1EF2;
- t['Yhook'] = 0x01B3;
- t['Yhookabove'] = 0x1EF6;
- t['Yiarmenian'] = 0x0545;
- t['Yicyrillic'] = 0x0407;
- t['Yiwnarmenian'] = 0x0552;
- t['Ymonospace'] = 0xFF39;
- t['Ysmall'] = 0xF779;
- t['Ytilde'] = 0x1EF8;
- t['Yusbigcyrillic'] = 0x046A;
- t['Yusbigiotifiedcyrillic'] = 0x046C;
- t['Yuslittlecyrillic'] = 0x0466;
- t['Yuslittleiotifiedcyrillic'] = 0x0468;
- t['Z'] = 0x005A;
- t['Zaarmenian'] = 0x0536;
- t['Zacute'] = 0x0179;
- t['Zcaron'] = 0x017D;
- t['Zcaronsmall'] = 0xF6FF;
- t['Zcircle'] = 0x24CF;
- t['Zcircumflex'] = 0x1E90;
- t['Zdot'] = 0x017B;
- t['Zdotaccent'] = 0x017B;
- t['Zdotbelow'] = 0x1E92;
- t['Zecyrillic'] = 0x0417;
- t['Zedescendercyrillic'] = 0x0498;
- t['Zedieresiscyrillic'] = 0x04DE;
- t['Zeta'] = 0x0396;
- t['Zhearmenian'] = 0x053A;
- t['Zhebrevecyrillic'] = 0x04C1;
- t['Zhecyrillic'] = 0x0416;
- t['Zhedescendercyrillic'] = 0x0496;
- t['Zhedieresiscyrillic'] = 0x04DC;
- t['Zlinebelow'] = 0x1E94;
- t['Zmonospace'] = 0xFF3A;
- t['Zsmall'] = 0xF77A;
- t['Zstroke'] = 0x01B5;
- t['a'] = 0x0061;
- t['aabengali'] = 0x0986;
- t['aacute'] = 0x00E1;
- t['aadeva'] = 0x0906;
- t['aagujarati'] = 0x0A86;
- t['aagurmukhi'] = 0x0A06;
- t['aamatragurmukhi'] = 0x0A3E;
- t['aarusquare'] = 0x3303;
- t['aavowelsignbengali'] = 0x09BE;
- t['aavowelsigndeva'] = 0x093E;
- t['aavowelsigngujarati'] = 0x0ABE;
- t['abbreviationmarkarmenian'] = 0x055F;
- t['abbreviationsigndeva'] = 0x0970;
- t['abengali'] = 0x0985;
- t['abopomofo'] = 0x311A;
- t['abreve'] = 0x0103;
- t['abreveacute'] = 0x1EAF;
- t['abrevecyrillic'] = 0x04D1;
- t['abrevedotbelow'] = 0x1EB7;
- t['abrevegrave'] = 0x1EB1;
- t['abrevehookabove'] = 0x1EB3;
- t['abrevetilde'] = 0x1EB5;
- t['acaron'] = 0x01CE;
- t['acircle'] = 0x24D0;
- t['acircumflex'] = 0x00E2;
- t['acircumflexacute'] = 0x1EA5;
- t['acircumflexdotbelow'] = 0x1EAD;
- t['acircumflexgrave'] = 0x1EA7;
- t['acircumflexhookabove'] = 0x1EA9;
- t['acircumflextilde'] = 0x1EAB;
- t['acute'] = 0x00B4;
- t['acutebelowcmb'] = 0x0317;
- t['acutecmb'] = 0x0301;
- t['acutecomb'] = 0x0301;
- t['acutedeva'] = 0x0954;
- t['acutelowmod'] = 0x02CF;
- t['acutetonecmb'] = 0x0341;
- t['acyrillic'] = 0x0430;
- t['adblgrave'] = 0x0201;
- t['addakgurmukhi'] = 0x0A71;
- t['adeva'] = 0x0905;
- t['adieresis'] = 0x00E4;
- t['adieresiscyrillic'] = 0x04D3;
- t['adieresismacron'] = 0x01DF;
- t['adotbelow'] = 0x1EA1;
- t['adotmacron'] = 0x01E1;
- t['ae'] = 0x00E6;
- t['aeacute'] = 0x01FD;
- t['aekorean'] = 0x3150;
- t['aemacron'] = 0x01E3;
- t['afii00208'] = 0x2015;
- t['afii08941'] = 0x20A4;
- t['afii10017'] = 0x0410;
- t['afii10018'] = 0x0411;
- t['afii10019'] = 0x0412;
- t['afii10020'] = 0x0413;
- t['afii10021'] = 0x0414;
- t['afii10022'] = 0x0415;
- t['afii10023'] = 0x0401;
- t['afii10024'] = 0x0416;
- t['afii10025'] = 0x0417;
- t['afii10026'] = 0x0418;
- t['afii10027'] = 0x0419;
- t['afii10028'] = 0x041A;
- t['afii10029'] = 0x041B;
- t['afii10030'] = 0x041C;
- t['afii10031'] = 0x041D;
- t['afii10032'] = 0x041E;
- t['afii10033'] = 0x041F;
- t['afii10034'] = 0x0420;
- t['afii10035'] = 0x0421;
- t['afii10036'] = 0x0422;
- t['afii10037'] = 0x0423;
- t['afii10038'] = 0x0424;
- t['afii10039'] = 0x0425;
- t['afii10040'] = 0x0426;
- t['afii10041'] = 0x0427;
- t['afii10042'] = 0x0428;
- t['afii10043'] = 0x0429;
- t['afii10044'] = 0x042A;
- t['afii10045'] = 0x042B;
- t['afii10046'] = 0x042C;
- t['afii10047'] = 0x042D;
- t['afii10048'] = 0x042E;
- t['afii10049'] = 0x042F;
- t['afii10050'] = 0x0490;
- t['afii10051'] = 0x0402;
- t['afii10052'] = 0x0403;
- t['afii10053'] = 0x0404;
- t['afii10054'] = 0x0405;
- t['afii10055'] = 0x0406;
- t['afii10056'] = 0x0407;
- t['afii10057'] = 0x0408;
- t['afii10058'] = 0x0409;
- t['afii10059'] = 0x040A;
- t['afii10060'] = 0x040B;
- t['afii10061'] = 0x040C;
- t['afii10062'] = 0x040E;
- t['afii10063'] = 0xF6C4;
- t['afii10064'] = 0xF6C5;
- t['afii10065'] = 0x0430;
- t['afii10066'] = 0x0431;
- t['afii10067'] = 0x0432;
- t['afii10068'] = 0x0433;
- t['afii10069'] = 0x0434;
- t['afii10070'] = 0x0435;
- t['afii10071'] = 0x0451;
- t['afii10072'] = 0x0436;
- t['afii10073'] = 0x0437;
- t['afii10074'] = 0x0438;
- t['afii10075'] = 0x0439;
- t['afii10076'] = 0x043A;
- t['afii10077'] = 0x043B;
- t['afii10078'] = 0x043C;
- t['afii10079'] = 0x043D;
- t['afii10080'] = 0x043E;
- t['afii10081'] = 0x043F;
- t['afii10082'] = 0x0440;
- t['afii10083'] = 0x0441;
- t['afii10084'] = 0x0442;
- t['afii10085'] = 0x0443;
- t['afii10086'] = 0x0444;
- t['afii10087'] = 0x0445;
- t['afii10088'] = 0x0446;
- t['afii10089'] = 0x0447;
- t['afii10090'] = 0x0448;
- t['afii10091'] = 0x0449;
- t['afii10092'] = 0x044A;
- t['afii10093'] = 0x044B;
- t['afii10094'] = 0x044C;
- t['afii10095'] = 0x044D;
- t['afii10096'] = 0x044E;
- t['afii10097'] = 0x044F;
- t['afii10098'] = 0x0491;
- t['afii10099'] = 0x0452;
- t['afii10100'] = 0x0453;
- t['afii10101'] = 0x0454;
- t['afii10102'] = 0x0455;
- t['afii10103'] = 0x0456;
- t['afii10104'] = 0x0457;
- t['afii10105'] = 0x0458;
- t['afii10106'] = 0x0459;
- t['afii10107'] = 0x045A;
- t['afii10108'] = 0x045B;
- t['afii10109'] = 0x045C;
- t['afii10110'] = 0x045E;
- t['afii10145'] = 0x040F;
- t['afii10146'] = 0x0462;
- t['afii10147'] = 0x0472;
- t['afii10148'] = 0x0474;
- t['afii10192'] = 0xF6C6;
- t['afii10193'] = 0x045F;
- t['afii10194'] = 0x0463;
- t['afii10195'] = 0x0473;
- t['afii10196'] = 0x0475;
- t['afii10831'] = 0xF6C7;
- t['afii10832'] = 0xF6C8;
- t['afii10846'] = 0x04D9;
- t['afii299'] = 0x200E;
- t['afii300'] = 0x200F;
- t['afii301'] = 0x200D;
- t['afii57381'] = 0x066A;
- t['afii57388'] = 0x060C;
- t['afii57392'] = 0x0660;
- t['afii57393'] = 0x0661;
- t['afii57394'] = 0x0662;
- t['afii57395'] = 0x0663;
- t['afii57396'] = 0x0664;
- t['afii57397'] = 0x0665;
- t['afii57398'] = 0x0666;
- t['afii57399'] = 0x0667;
- t['afii57400'] = 0x0668;
- t['afii57401'] = 0x0669;
- t['afii57403'] = 0x061B;
- t['afii57407'] = 0x061F;
- t['afii57409'] = 0x0621;
- t['afii57410'] = 0x0622;
- t['afii57411'] = 0x0623;
- t['afii57412'] = 0x0624;
- t['afii57413'] = 0x0625;
- t['afii57414'] = 0x0626;
- t['afii57415'] = 0x0627;
- t['afii57416'] = 0x0628;
- t['afii57417'] = 0x0629;
- t['afii57418'] = 0x062A;
- t['afii57419'] = 0x062B;
- t['afii57420'] = 0x062C;
- t['afii57421'] = 0x062D;
- t['afii57422'] = 0x062E;
- t['afii57423'] = 0x062F;
- t['afii57424'] = 0x0630;
- t['afii57425'] = 0x0631;
- t['afii57426'] = 0x0632;
- t['afii57427'] = 0x0633;
- t['afii57428'] = 0x0634;
- t['afii57429'] = 0x0635;
- t['afii57430'] = 0x0636;
- t['afii57431'] = 0x0637;
- t['afii57432'] = 0x0638;
- t['afii57433'] = 0x0639;
- t['afii57434'] = 0x063A;
- t['afii57440'] = 0x0640;
- t['afii57441'] = 0x0641;
- t['afii57442'] = 0x0642;
- t['afii57443'] = 0x0643;
- t['afii57444'] = 0x0644;
- t['afii57445'] = 0x0645;
- t['afii57446'] = 0x0646;
- t['afii57448'] = 0x0648;
- t['afii57449'] = 0x0649;
- t['afii57450'] = 0x064A;
- t['afii57451'] = 0x064B;
- t['afii57452'] = 0x064C;
- t['afii57453'] = 0x064D;
- t['afii57454'] = 0x064E;
- t['afii57455'] = 0x064F;
- t['afii57456'] = 0x0650;
- t['afii57457'] = 0x0651;
- t['afii57458'] = 0x0652;
- t['afii57470'] = 0x0647;
- t['afii57505'] = 0x06A4;
- t['afii57506'] = 0x067E;
- t['afii57507'] = 0x0686;
- t['afii57508'] = 0x0698;
- t['afii57509'] = 0x06AF;
- t['afii57511'] = 0x0679;
- t['afii57512'] = 0x0688;
- t['afii57513'] = 0x0691;
- t['afii57514'] = 0x06BA;
- t['afii57519'] = 0x06D2;
- t['afii57534'] = 0x06D5;
- t['afii57636'] = 0x20AA;
- t['afii57645'] = 0x05BE;
- t['afii57658'] = 0x05C3;
- t['afii57664'] = 0x05D0;
- t['afii57665'] = 0x05D1;
- t['afii57666'] = 0x05D2;
- t['afii57667'] = 0x05D3;
- t['afii57668'] = 0x05D4;
- t['afii57669'] = 0x05D5;
- t['afii57670'] = 0x05D6;
- t['afii57671'] = 0x05D7;
- t['afii57672'] = 0x05D8;
- t['afii57673'] = 0x05D9;
- t['afii57674'] = 0x05DA;
- t['afii57675'] = 0x05DB;
- t['afii57676'] = 0x05DC;
- t['afii57677'] = 0x05DD;
- t['afii57678'] = 0x05DE;
- t['afii57679'] = 0x05DF;
- t['afii57680'] = 0x05E0;
- t['afii57681'] = 0x05E1;
- t['afii57682'] = 0x05E2;
- t['afii57683'] = 0x05E3;
- t['afii57684'] = 0x05E4;
- t['afii57685'] = 0x05E5;
- t['afii57686'] = 0x05E6;
- t['afii57687'] = 0x05E7;
- t['afii57688'] = 0x05E8;
- t['afii57689'] = 0x05E9;
- t['afii57690'] = 0x05EA;
- t['afii57694'] = 0xFB2A;
- t['afii57695'] = 0xFB2B;
- t['afii57700'] = 0xFB4B;
- t['afii57705'] = 0xFB1F;
- t['afii57716'] = 0x05F0;
- t['afii57717'] = 0x05F1;
- t['afii57718'] = 0x05F2;
- t['afii57723'] = 0xFB35;
- t['afii57793'] = 0x05B4;
- t['afii57794'] = 0x05B5;
- t['afii57795'] = 0x05B6;
- t['afii57796'] = 0x05BB;
- t['afii57797'] = 0x05B8;
- t['afii57798'] = 0x05B7;
- t['afii57799'] = 0x05B0;
- t['afii57800'] = 0x05B2;
- t['afii57801'] = 0x05B1;
- t['afii57802'] = 0x05B3;
- t['afii57803'] = 0x05C2;
- t['afii57804'] = 0x05C1;
- t['afii57806'] = 0x05B9;
- t['afii57807'] = 0x05BC;
- t['afii57839'] = 0x05BD;
- t['afii57841'] = 0x05BF;
- t['afii57842'] = 0x05C0;
- t['afii57929'] = 0x02BC;
- t['afii61248'] = 0x2105;
- t['afii61289'] = 0x2113;
- t['afii61352'] = 0x2116;
- t['afii61573'] = 0x202C;
- t['afii61574'] = 0x202D;
- t['afii61575'] = 0x202E;
- t['afii61664'] = 0x200C;
- t['afii63167'] = 0x066D;
- t['afii64937'] = 0x02BD;
- t['agrave'] = 0x00E0;
- t['agujarati'] = 0x0A85;
- t['agurmukhi'] = 0x0A05;
- t['ahiragana'] = 0x3042;
- t['ahookabove'] = 0x1EA3;
- t['aibengali'] = 0x0990;
- t['aibopomofo'] = 0x311E;
- t['aideva'] = 0x0910;
- t['aiecyrillic'] = 0x04D5;
- t['aigujarati'] = 0x0A90;
- t['aigurmukhi'] = 0x0A10;
- t['aimatragurmukhi'] = 0x0A48;
- t['ainarabic'] = 0x0639;
- t['ainfinalarabic'] = 0xFECA;
- t['aininitialarabic'] = 0xFECB;
- t['ainmedialarabic'] = 0xFECC;
- t['ainvertedbreve'] = 0x0203;
- t['aivowelsignbengali'] = 0x09C8;
- t['aivowelsigndeva'] = 0x0948;
- t['aivowelsigngujarati'] = 0x0AC8;
- t['akatakana'] = 0x30A2;
- t['akatakanahalfwidth'] = 0xFF71;
- t['akorean'] = 0x314F;
- t['alef'] = 0x05D0;
- t['alefarabic'] = 0x0627;
- t['alefdageshhebrew'] = 0xFB30;
- t['aleffinalarabic'] = 0xFE8E;
- t['alefhamzaabovearabic'] = 0x0623;
- t['alefhamzaabovefinalarabic'] = 0xFE84;
- t['alefhamzabelowarabic'] = 0x0625;
- t['alefhamzabelowfinalarabic'] = 0xFE88;
- t['alefhebrew'] = 0x05D0;
- t['aleflamedhebrew'] = 0xFB4F;
- t['alefmaddaabovearabic'] = 0x0622;
- t['alefmaddaabovefinalarabic'] = 0xFE82;
- t['alefmaksuraarabic'] = 0x0649;
- t['alefmaksurafinalarabic'] = 0xFEF0;
- t['alefmaksurainitialarabic'] = 0xFEF3;
- t['alefmaksuramedialarabic'] = 0xFEF4;
- t['alefpatahhebrew'] = 0xFB2E;
- t['alefqamatshebrew'] = 0xFB2F;
- t['aleph'] = 0x2135;
- t['allequal'] = 0x224C;
- t['alpha'] = 0x03B1;
- t['alphatonos'] = 0x03AC;
- t['amacron'] = 0x0101;
- t['amonospace'] = 0xFF41;
- t['ampersand'] = 0x0026;
- t['ampersandmonospace'] = 0xFF06;
- t['ampersandsmall'] = 0xF726;
- t['amsquare'] = 0x33C2;
- t['anbopomofo'] = 0x3122;
- t['angbopomofo'] = 0x3124;
- t['angbracketleft'] = 0x3008;
- t['angbracketright'] = 0x3009;
- t['angkhankhuthai'] = 0x0E5A;
- t['angle'] = 0x2220;
- t['anglebracketleft'] = 0x3008;
- t['anglebracketleftvertical'] = 0xFE3F;
- t['anglebracketright'] = 0x3009;
- t['anglebracketrightvertical'] = 0xFE40;
- t['angleleft'] = 0x2329;
- t['angleright'] = 0x232A;
- t['angstrom'] = 0x212B;
- t['anoteleia'] = 0x0387;
- t['anudattadeva'] = 0x0952;
- t['anusvarabengali'] = 0x0982;
- t['anusvaradeva'] = 0x0902;
- t['anusvaragujarati'] = 0x0A82;
- t['aogonek'] = 0x0105;
- t['apaatosquare'] = 0x3300;
- t['aparen'] = 0x249C;
- t['apostrophearmenian'] = 0x055A;
- t['apostrophemod'] = 0x02BC;
- t['apple'] = 0xF8FF;
- t['approaches'] = 0x2250;
- t['approxequal'] = 0x2248;
- t['approxequalorimage'] = 0x2252;
- t['approximatelyequal'] = 0x2245;
- t['araeaekorean'] = 0x318E;
- t['araeakorean'] = 0x318D;
- t['arc'] = 0x2312;
- t['arighthalfring'] = 0x1E9A;
- t['aring'] = 0x00E5;
- t['aringacute'] = 0x01FB;
- t['aringbelow'] = 0x1E01;
- t['arrowboth'] = 0x2194;
- t['arrowdashdown'] = 0x21E3;
- t['arrowdashleft'] = 0x21E0;
- t['arrowdashright'] = 0x21E2;
- t['arrowdashup'] = 0x21E1;
- t['arrowdblboth'] = 0x21D4;
- t['arrowdbldown'] = 0x21D3;
- t['arrowdblleft'] = 0x21D0;
- t['arrowdblright'] = 0x21D2;
- t['arrowdblup'] = 0x21D1;
- t['arrowdown'] = 0x2193;
- t['arrowdownleft'] = 0x2199;
- t['arrowdownright'] = 0x2198;
- t['arrowdownwhite'] = 0x21E9;
- t['arrowheaddownmod'] = 0x02C5;
- t['arrowheadleftmod'] = 0x02C2;
- t['arrowheadrightmod'] = 0x02C3;
- t['arrowheadupmod'] = 0x02C4;
- t['arrowhorizex'] = 0xF8E7;
- t['arrowleft'] = 0x2190;
- t['arrowleftdbl'] = 0x21D0;
- t['arrowleftdblstroke'] = 0x21CD;
- t['arrowleftoverright'] = 0x21C6;
- t['arrowleftwhite'] = 0x21E6;
- t['arrowright'] = 0x2192;
- t['arrowrightdblstroke'] = 0x21CF;
- t['arrowrightheavy'] = 0x279E;
- t['arrowrightoverleft'] = 0x21C4;
- t['arrowrightwhite'] = 0x21E8;
- t['arrowtableft'] = 0x21E4;
- t['arrowtabright'] = 0x21E5;
- t['arrowup'] = 0x2191;
- t['arrowupdn'] = 0x2195;
- t['arrowupdnbse'] = 0x21A8;
- t['arrowupdownbase'] = 0x21A8;
- t['arrowupleft'] = 0x2196;
- t['arrowupleftofdown'] = 0x21C5;
- t['arrowupright'] = 0x2197;
- t['arrowupwhite'] = 0x21E7;
- t['arrowvertex'] = 0xF8E6;
- t['asciicircum'] = 0x005E;
- t['asciicircummonospace'] = 0xFF3E;
- t['asciitilde'] = 0x007E;
- t['asciitildemonospace'] = 0xFF5E;
- t['ascript'] = 0x0251;
- t['ascriptturned'] = 0x0252;
- t['asmallhiragana'] = 0x3041;
- t['asmallkatakana'] = 0x30A1;
- t['asmallkatakanahalfwidth'] = 0xFF67;
- t['asterisk'] = 0x002A;
- t['asteriskaltonearabic'] = 0x066D;
- t['asteriskarabic'] = 0x066D;
- t['asteriskmath'] = 0x2217;
- t['asteriskmonospace'] = 0xFF0A;
- t['asterisksmall'] = 0xFE61;
- t['asterism'] = 0x2042;
- t['asuperior'] = 0xF6E9;
- t['asymptoticallyequal'] = 0x2243;
- t['at'] = 0x0040;
- t['atilde'] = 0x00E3;
- t['atmonospace'] = 0xFF20;
- t['atsmall'] = 0xFE6B;
- t['aturned'] = 0x0250;
- t['aubengali'] = 0x0994;
- t['aubopomofo'] = 0x3120;
- t['audeva'] = 0x0914;
- t['augujarati'] = 0x0A94;
- t['augurmukhi'] = 0x0A14;
- t['aulengthmarkbengali'] = 0x09D7;
- t['aumatragurmukhi'] = 0x0A4C;
- t['auvowelsignbengali'] = 0x09CC;
- t['auvowelsigndeva'] = 0x094C;
- t['auvowelsigngujarati'] = 0x0ACC;
- t['avagrahadeva'] = 0x093D;
- t['aybarmenian'] = 0x0561;
- t['ayin'] = 0x05E2;
- t['ayinaltonehebrew'] = 0xFB20;
- t['ayinhebrew'] = 0x05E2;
- t['b'] = 0x0062;
- t['babengali'] = 0x09AC;
- t['backslash'] = 0x005C;
- t['backslashmonospace'] = 0xFF3C;
- t['badeva'] = 0x092C;
- t['bagujarati'] = 0x0AAC;
- t['bagurmukhi'] = 0x0A2C;
- t['bahiragana'] = 0x3070;
- t['bahtthai'] = 0x0E3F;
- t['bakatakana'] = 0x30D0;
- t['bar'] = 0x007C;
- t['barmonospace'] = 0xFF5C;
- t['bbopomofo'] = 0x3105;
- t['bcircle'] = 0x24D1;
- t['bdotaccent'] = 0x1E03;
- t['bdotbelow'] = 0x1E05;
- t['beamedsixteenthnotes'] = 0x266C;
- t['because'] = 0x2235;
- t['becyrillic'] = 0x0431;
- t['beharabic'] = 0x0628;
- t['behfinalarabic'] = 0xFE90;
- t['behinitialarabic'] = 0xFE91;
- t['behiragana'] = 0x3079;
- t['behmedialarabic'] = 0xFE92;
- t['behmeeminitialarabic'] = 0xFC9F;
- t['behmeemisolatedarabic'] = 0xFC08;
- t['behnoonfinalarabic'] = 0xFC6D;
- t['bekatakana'] = 0x30D9;
- t['benarmenian'] = 0x0562;
- t['bet'] = 0x05D1;
- t['beta'] = 0x03B2;
- t['betasymbolgreek'] = 0x03D0;
- t['betdagesh'] = 0xFB31;
- t['betdageshhebrew'] = 0xFB31;
- t['bethebrew'] = 0x05D1;
- t['betrafehebrew'] = 0xFB4C;
- t['bhabengali'] = 0x09AD;
- t['bhadeva'] = 0x092D;
- t['bhagujarati'] = 0x0AAD;
- t['bhagurmukhi'] = 0x0A2D;
- t['bhook'] = 0x0253;
- t['bihiragana'] = 0x3073;
- t['bikatakana'] = 0x30D3;
- t['bilabialclick'] = 0x0298;
- t['bindigurmukhi'] = 0x0A02;
- t['birusquare'] = 0x3331;
- t['blackcircle'] = 0x25CF;
- t['blackdiamond'] = 0x25C6;
- t['blackdownpointingtriangle'] = 0x25BC;
- t['blackleftpointingpointer'] = 0x25C4;
- t['blackleftpointingtriangle'] = 0x25C0;
- t['blacklenticularbracketleft'] = 0x3010;
- t['blacklenticularbracketleftvertical'] = 0xFE3B;
- t['blacklenticularbracketright'] = 0x3011;
- t['blacklenticularbracketrightvertical'] = 0xFE3C;
- t['blacklowerlefttriangle'] = 0x25E3;
- t['blacklowerrighttriangle'] = 0x25E2;
- t['blackrectangle'] = 0x25AC;
- t['blackrightpointingpointer'] = 0x25BA;
- t['blackrightpointingtriangle'] = 0x25B6;
- t['blacksmallsquare'] = 0x25AA;
- t['blacksmilingface'] = 0x263B;
- t['blacksquare'] = 0x25A0;
- t['blackstar'] = 0x2605;
- t['blackupperlefttriangle'] = 0x25E4;
- t['blackupperrighttriangle'] = 0x25E5;
- t['blackuppointingsmalltriangle'] = 0x25B4;
- t['blackuppointingtriangle'] = 0x25B2;
- t['blank'] = 0x2423;
- t['blinebelow'] = 0x1E07;
- t['block'] = 0x2588;
- t['bmonospace'] = 0xFF42;
- t['bobaimaithai'] = 0x0E1A;
- t['bohiragana'] = 0x307C;
- t['bokatakana'] = 0x30DC;
- t['bparen'] = 0x249D;
- t['bqsquare'] = 0x33C3;
- t['braceex'] = 0xF8F4;
- t['braceleft'] = 0x007B;
- t['braceleftbt'] = 0xF8F3;
- t['braceleftmid'] = 0xF8F2;
- t['braceleftmonospace'] = 0xFF5B;
- t['braceleftsmall'] = 0xFE5B;
- t['bracelefttp'] = 0xF8F1;
- t['braceleftvertical'] = 0xFE37;
- t['braceright'] = 0x007D;
- t['bracerightbt'] = 0xF8FE;
- t['bracerightmid'] = 0xF8FD;
- t['bracerightmonospace'] = 0xFF5D;
- t['bracerightsmall'] = 0xFE5C;
- t['bracerighttp'] = 0xF8FC;
- t['bracerightvertical'] = 0xFE38;
- t['bracketleft'] = 0x005B;
- t['bracketleftbt'] = 0xF8F0;
- t['bracketleftex'] = 0xF8EF;
- t['bracketleftmonospace'] = 0xFF3B;
- t['bracketlefttp'] = 0xF8EE;
- t['bracketright'] = 0x005D;
- t['bracketrightbt'] = 0xF8FB;
- t['bracketrightex'] = 0xF8FA;
- t['bracketrightmonospace'] = 0xFF3D;
- t['bracketrighttp'] = 0xF8F9;
- t['breve'] = 0x02D8;
- t['brevebelowcmb'] = 0x032E;
- t['brevecmb'] = 0x0306;
- t['breveinvertedbelowcmb'] = 0x032F;
- t['breveinvertedcmb'] = 0x0311;
- t['breveinverteddoublecmb'] = 0x0361;
- t['bridgebelowcmb'] = 0x032A;
- t['bridgeinvertedbelowcmb'] = 0x033A;
- t['brokenbar'] = 0x00A6;
- t['bstroke'] = 0x0180;
- t['bsuperior'] = 0xF6EA;
- t['btopbar'] = 0x0183;
- t['buhiragana'] = 0x3076;
- t['bukatakana'] = 0x30D6;
- t['bullet'] = 0x2022;
- t['bulletinverse'] = 0x25D8;
- t['bulletoperator'] = 0x2219;
- t['bullseye'] = 0x25CE;
- t['c'] = 0x0063;
- t['caarmenian'] = 0x056E;
- t['cabengali'] = 0x099A;
- t['cacute'] = 0x0107;
- t['cadeva'] = 0x091A;
- t['cagujarati'] = 0x0A9A;
- t['cagurmukhi'] = 0x0A1A;
- t['calsquare'] = 0x3388;
- t['candrabindubengali'] = 0x0981;
- t['candrabinducmb'] = 0x0310;
- t['candrabindudeva'] = 0x0901;
- t['candrabindugujarati'] = 0x0A81;
- t['capslock'] = 0x21EA;
- t['careof'] = 0x2105;
- t['caron'] = 0x02C7;
- t['caronbelowcmb'] = 0x032C;
- t['caroncmb'] = 0x030C;
- t['carriagereturn'] = 0x21B5;
- t['cbopomofo'] = 0x3118;
- t['ccaron'] = 0x010D;
- t['ccedilla'] = 0x00E7;
- t['ccedillaacute'] = 0x1E09;
- t['ccircle'] = 0x24D2;
- t['ccircumflex'] = 0x0109;
- t['ccurl'] = 0x0255;
- t['cdot'] = 0x010B;
- t['cdotaccent'] = 0x010B;
- t['cdsquare'] = 0x33C5;
- t['cedilla'] = 0x00B8;
- t['cedillacmb'] = 0x0327;
- t['cent'] = 0x00A2;
- t['centigrade'] = 0x2103;
- t['centinferior'] = 0xF6DF;
- t['centmonospace'] = 0xFFE0;
- t['centoldstyle'] = 0xF7A2;
- t['centsuperior'] = 0xF6E0;
- t['chaarmenian'] = 0x0579;
- t['chabengali'] = 0x099B;
- t['chadeva'] = 0x091B;
- t['chagujarati'] = 0x0A9B;
- t['chagurmukhi'] = 0x0A1B;
- t['chbopomofo'] = 0x3114;
- t['cheabkhasiancyrillic'] = 0x04BD;
- t['checkmark'] = 0x2713;
- t['checyrillic'] = 0x0447;
- t['chedescenderabkhasiancyrillic'] = 0x04BF;
- t['chedescendercyrillic'] = 0x04B7;
- t['chedieresiscyrillic'] = 0x04F5;
- t['cheharmenian'] = 0x0573;
- t['chekhakassiancyrillic'] = 0x04CC;
- t['cheverticalstrokecyrillic'] = 0x04B9;
- t['chi'] = 0x03C7;
- t['chieuchacirclekorean'] = 0x3277;
- t['chieuchaparenkorean'] = 0x3217;
- t['chieuchcirclekorean'] = 0x3269;
- t['chieuchkorean'] = 0x314A;
- t['chieuchparenkorean'] = 0x3209;
- t['chochangthai'] = 0x0E0A;
- t['chochanthai'] = 0x0E08;
- t['chochingthai'] = 0x0E09;
- t['chochoethai'] = 0x0E0C;
- t['chook'] = 0x0188;
- t['cieucacirclekorean'] = 0x3276;
- t['cieucaparenkorean'] = 0x3216;
- t['cieuccirclekorean'] = 0x3268;
- t['cieuckorean'] = 0x3148;
- t['cieucparenkorean'] = 0x3208;
- t['cieucuparenkorean'] = 0x321C;
- t['circle'] = 0x25CB;
- t['circlecopyrt'] = 0x00A9;
- t['circlemultiply'] = 0x2297;
- t['circleot'] = 0x2299;
- t['circleplus'] = 0x2295;
- t['circlepostalmark'] = 0x3036;
- t['circlewithlefthalfblack'] = 0x25D0;
- t['circlewithrighthalfblack'] = 0x25D1;
- t['circumflex'] = 0x02C6;
- t['circumflexbelowcmb'] = 0x032D;
- t['circumflexcmb'] = 0x0302;
- t['clear'] = 0x2327;
- t['clickalveolar'] = 0x01C2;
- t['clickdental'] = 0x01C0;
- t['clicklateral'] = 0x01C1;
- t['clickretroflex'] = 0x01C3;
- t['club'] = 0x2663;
- t['clubsuitblack'] = 0x2663;
- t['clubsuitwhite'] = 0x2667;
- t['cmcubedsquare'] = 0x33A4;
- t['cmonospace'] = 0xFF43;
- t['cmsquaredsquare'] = 0x33A0;
- t['coarmenian'] = 0x0581;
- t['colon'] = 0x003A;
- t['colonmonetary'] = 0x20A1;
- t['colonmonospace'] = 0xFF1A;
- t['colonsign'] = 0x20A1;
- t['colonsmall'] = 0xFE55;
- t['colontriangularhalfmod'] = 0x02D1;
- t['colontriangularmod'] = 0x02D0;
- t['comma'] = 0x002C;
- t['commaabovecmb'] = 0x0313;
- t['commaaboverightcmb'] = 0x0315;
- t['commaaccent'] = 0xF6C3;
- t['commaarabic'] = 0x060C;
- t['commaarmenian'] = 0x055D;
- t['commainferior'] = 0xF6E1;
- t['commamonospace'] = 0xFF0C;
- t['commareversedabovecmb'] = 0x0314;
- t['commareversedmod'] = 0x02BD;
- t['commasmall'] = 0xFE50;
- t['commasuperior'] = 0xF6E2;
- t['commaturnedabovecmb'] = 0x0312;
- t['commaturnedmod'] = 0x02BB;
- t['compass'] = 0x263C;
- t['congruent'] = 0x2245;
- t['contourintegral'] = 0x222E;
- t['control'] = 0x2303;
- t['controlACK'] = 0x0006;
- t['controlBEL'] = 0x0007;
- t['controlBS'] = 0x0008;
- t['controlCAN'] = 0x0018;
- t['controlCR'] = 0x000D;
- t['controlDC1'] = 0x0011;
- t['controlDC2'] = 0x0012;
- t['controlDC3'] = 0x0013;
- t['controlDC4'] = 0x0014;
- t['controlDEL'] = 0x007F;
- t['controlDLE'] = 0x0010;
- t['controlEM'] = 0x0019;
- t['controlENQ'] = 0x0005;
- t['controlEOT'] = 0x0004;
- t['controlESC'] = 0x001B;
- t['controlETB'] = 0x0017;
- t['controlETX'] = 0x0003;
- t['controlFF'] = 0x000C;
- t['controlFS'] = 0x001C;
- t['controlGS'] = 0x001D;
- t['controlHT'] = 0x0009;
- t['controlLF'] = 0x000A;
- t['controlNAK'] = 0x0015;
- t['controlNULL'] = 0x0000;
- t['controlRS'] = 0x001E;
- t['controlSI'] = 0x000F;
- t['controlSO'] = 0x000E;
- t['controlSOT'] = 0x0002;
- t['controlSTX'] = 0x0001;
- t['controlSUB'] = 0x001A;
- t['controlSYN'] = 0x0016;
- t['controlUS'] = 0x001F;
- t['controlVT'] = 0x000B;
- t['copyright'] = 0x00A9;
- t['copyrightsans'] = 0xF8E9;
- t['copyrightserif'] = 0xF6D9;
- t['cornerbracketleft'] = 0x300C;
- t['cornerbracketlefthalfwidth'] = 0xFF62;
- t['cornerbracketleftvertical'] = 0xFE41;
- t['cornerbracketright'] = 0x300D;
- t['cornerbracketrighthalfwidth'] = 0xFF63;
- t['cornerbracketrightvertical'] = 0xFE42;
- t['corporationsquare'] = 0x337F;
- t['cosquare'] = 0x33C7;
- t['coverkgsquare'] = 0x33C6;
- t['cparen'] = 0x249E;
- t['cruzeiro'] = 0x20A2;
- t['cstretched'] = 0x0297;
- t['curlyand'] = 0x22CF;
- t['curlyor'] = 0x22CE;
- t['currency'] = 0x00A4;
- t['cyrBreve'] = 0xF6D1;
- t['cyrFlex'] = 0xF6D2;
- t['cyrbreve'] = 0xF6D4;
- t['cyrflex'] = 0xF6D5;
- t['d'] = 0x0064;
- t['daarmenian'] = 0x0564;
- t['dabengali'] = 0x09A6;
- t['dadarabic'] = 0x0636;
- t['dadeva'] = 0x0926;
- t['dadfinalarabic'] = 0xFEBE;
- t['dadinitialarabic'] = 0xFEBF;
- t['dadmedialarabic'] = 0xFEC0;
- t['dagesh'] = 0x05BC;
- t['dageshhebrew'] = 0x05BC;
- t['dagger'] = 0x2020;
- t['daggerdbl'] = 0x2021;
- t['dagujarati'] = 0x0AA6;
- t['dagurmukhi'] = 0x0A26;
- t['dahiragana'] = 0x3060;
- t['dakatakana'] = 0x30C0;
- t['dalarabic'] = 0x062F;
- t['dalet'] = 0x05D3;
- t['daletdagesh'] = 0xFB33;
- t['daletdageshhebrew'] = 0xFB33;
- t['dalethebrew'] = 0x05D3;
- t['dalfinalarabic'] = 0xFEAA;
- t['dammaarabic'] = 0x064F;
- t['dammalowarabic'] = 0x064F;
- t['dammatanaltonearabic'] = 0x064C;
- t['dammatanarabic'] = 0x064C;
- t['danda'] = 0x0964;
- t['dargahebrew'] = 0x05A7;
- t['dargalefthebrew'] = 0x05A7;
- t['dasiapneumatacyrilliccmb'] = 0x0485;
- t['dblGrave'] = 0xF6D3;
- t['dblanglebracketleft'] = 0x300A;
- t['dblanglebracketleftvertical'] = 0xFE3D;
- t['dblanglebracketright'] = 0x300B;
- t['dblanglebracketrightvertical'] = 0xFE3E;
- t['dblarchinvertedbelowcmb'] = 0x032B;
- t['dblarrowleft'] = 0x21D4;
- t['dblarrowright'] = 0x21D2;
- t['dbldanda'] = 0x0965;
- t['dblgrave'] = 0xF6D6;
- t['dblgravecmb'] = 0x030F;
- t['dblintegral'] = 0x222C;
- t['dbllowline'] = 0x2017;
- t['dbllowlinecmb'] = 0x0333;
- t['dbloverlinecmb'] = 0x033F;
- t['dblprimemod'] = 0x02BA;
- t['dblverticalbar'] = 0x2016;
- t['dblverticallineabovecmb'] = 0x030E;
- t['dbopomofo'] = 0x3109;
- t['dbsquare'] = 0x33C8;
- t['dcaron'] = 0x010F;
- t['dcedilla'] = 0x1E11;
- t['dcircle'] = 0x24D3;
- t['dcircumflexbelow'] = 0x1E13;
- t['dcroat'] = 0x0111;
- t['ddabengali'] = 0x09A1;
- t['ddadeva'] = 0x0921;
- t['ddagujarati'] = 0x0AA1;
- t['ddagurmukhi'] = 0x0A21;
- t['ddalarabic'] = 0x0688;
- t['ddalfinalarabic'] = 0xFB89;
- t['dddhadeva'] = 0x095C;
- t['ddhabengali'] = 0x09A2;
- t['ddhadeva'] = 0x0922;
- t['ddhagujarati'] = 0x0AA2;
- t['ddhagurmukhi'] = 0x0A22;
- t['ddotaccent'] = 0x1E0B;
- t['ddotbelow'] = 0x1E0D;
- t['decimalseparatorarabic'] = 0x066B;
- t['decimalseparatorpersian'] = 0x066B;
- t['decyrillic'] = 0x0434;
- t['degree'] = 0x00B0;
- t['dehihebrew'] = 0x05AD;
- t['dehiragana'] = 0x3067;
- t['deicoptic'] = 0x03EF;
- t['dekatakana'] = 0x30C7;
- t['deleteleft'] = 0x232B;
- t['deleteright'] = 0x2326;
- t['delta'] = 0x03B4;
- t['deltaturned'] = 0x018D;
- t['denominatorminusonenumeratorbengali'] = 0x09F8;
- t['dezh'] = 0x02A4;
- t['dhabengali'] = 0x09A7;
- t['dhadeva'] = 0x0927;
- t['dhagujarati'] = 0x0AA7;
- t['dhagurmukhi'] = 0x0A27;
- t['dhook'] = 0x0257;
- t['dialytikatonos'] = 0x0385;
- t['dialytikatonoscmb'] = 0x0344;
- t['diamond'] = 0x2666;
- t['diamondsuitwhite'] = 0x2662;
- t['dieresis'] = 0x00A8;
- t['dieresisacute'] = 0xF6D7;
- t['dieresisbelowcmb'] = 0x0324;
- t['dieresiscmb'] = 0x0308;
- t['dieresisgrave'] = 0xF6D8;
- t['dieresistonos'] = 0x0385;
- t['dihiragana'] = 0x3062;
- t['dikatakana'] = 0x30C2;
- t['dittomark'] = 0x3003;
- t['divide'] = 0x00F7;
- t['divides'] = 0x2223;
- t['divisionslash'] = 0x2215;
- t['djecyrillic'] = 0x0452;
- t['dkshade'] = 0x2593;
- t['dlinebelow'] = 0x1E0F;
- t['dlsquare'] = 0x3397;
- t['dmacron'] = 0x0111;
- t['dmonospace'] = 0xFF44;
- t['dnblock'] = 0x2584;
- t['dochadathai'] = 0x0E0E;
- t['dodekthai'] = 0x0E14;
- t['dohiragana'] = 0x3069;
- t['dokatakana'] = 0x30C9;
- t['dollar'] = 0x0024;
- t['dollarinferior'] = 0xF6E3;
- t['dollarmonospace'] = 0xFF04;
- t['dollaroldstyle'] = 0xF724;
- t['dollarsmall'] = 0xFE69;
- t['dollarsuperior'] = 0xF6E4;
- t['dong'] = 0x20AB;
- t['dorusquare'] = 0x3326;
- t['dotaccent'] = 0x02D9;
- t['dotaccentcmb'] = 0x0307;
- t['dotbelowcmb'] = 0x0323;
- t['dotbelowcomb'] = 0x0323;
- t['dotkatakana'] = 0x30FB;
- t['dotlessi'] = 0x0131;
- t['dotlessj'] = 0xF6BE;
- t['dotlessjstrokehook'] = 0x0284;
- t['dotmath'] = 0x22C5;
- t['dottedcircle'] = 0x25CC;
- t['doubleyodpatah'] = 0xFB1F;
- t['doubleyodpatahhebrew'] = 0xFB1F;
- t['downtackbelowcmb'] = 0x031E;
- t['downtackmod'] = 0x02D5;
- t['dparen'] = 0x249F;
- t['dsuperior'] = 0xF6EB;
- t['dtail'] = 0x0256;
- t['dtopbar'] = 0x018C;
- t['duhiragana'] = 0x3065;
- t['dukatakana'] = 0x30C5;
- t['dz'] = 0x01F3;
- t['dzaltone'] = 0x02A3;
- t['dzcaron'] = 0x01C6;
- t['dzcurl'] = 0x02A5;
- t['dzeabkhasiancyrillic'] = 0x04E1;
- t['dzecyrillic'] = 0x0455;
- t['dzhecyrillic'] = 0x045F;
- t['e'] = 0x0065;
- t['eacute'] = 0x00E9;
- t['earth'] = 0x2641;
- t['ebengali'] = 0x098F;
- t['ebopomofo'] = 0x311C;
- t['ebreve'] = 0x0115;
- t['ecandradeva'] = 0x090D;
- t['ecandragujarati'] = 0x0A8D;
- t['ecandravowelsigndeva'] = 0x0945;
- t['ecandravowelsigngujarati'] = 0x0AC5;
- t['ecaron'] = 0x011B;
- t['ecedillabreve'] = 0x1E1D;
- t['echarmenian'] = 0x0565;
- t['echyiwnarmenian'] = 0x0587;
- t['ecircle'] = 0x24D4;
- t['ecircumflex'] = 0x00EA;
- t['ecircumflexacute'] = 0x1EBF;
- t['ecircumflexbelow'] = 0x1E19;
- t['ecircumflexdotbelow'] = 0x1EC7;
- t['ecircumflexgrave'] = 0x1EC1;
- t['ecircumflexhookabove'] = 0x1EC3;
- t['ecircumflextilde'] = 0x1EC5;
- t['ecyrillic'] = 0x0454;
- t['edblgrave'] = 0x0205;
- t['edeva'] = 0x090F;
- t['edieresis'] = 0x00EB;
- t['edot'] = 0x0117;
- t['edotaccent'] = 0x0117;
- t['edotbelow'] = 0x1EB9;
- t['eegurmukhi'] = 0x0A0F;
- t['eematragurmukhi'] = 0x0A47;
- t['efcyrillic'] = 0x0444;
- t['egrave'] = 0x00E8;
- t['egujarati'] = 0x0A8F;
- t['eharmenian'] = 0x0567;
- t['ehbopomofo'] = 0x311D;
- t['ehiragana'] = 0x3048;
- t['ehookabove'] = 0x1EBB;
- t['eibopomofo'] = 0x311F;
- t['eight'] = 0x0038;
- t['eightarabic'] = 0x0668;
- t['eightbengali'] = 0x09EE;
- t['eightcircle'] = 0x2467;
- t['eightcircleinversesansserif'] = 0x2791;
- t['eightdeva'] = 0x096E;
- t['eighteencircle'] = 0x2471;
- t['eighteenparen'] = 0x2485;
- t['eighteenperiod'] = 0x2499;
- t['eightgujarati'] = 0x0AEE;
- t['eightgurmukhi'] = 0x0A6E;
- t['eighthackarabic'] = 0x0668;
- t['eighthangzhou'] = 0x3028;
- t['eighthnotebeamed'] = 0x266B;
- t['eightideographicparen'] = 0x3227;
- t['eightinferior'] = 0x2088;
- t['eightmonospace'] = 0xFF18;
- t['eightoldstyle'] = 0xF738;
- t['eightparen'] = 0x247B;
- t['eightperiod'] = 0x248F;
- t['eightpersian'] = 0x06F8;
- t['eightroman'] = 0x2177;
- t['eightsuperior'] = 0x2078;
- t['eightthai'] = 0x0E58;
- t['einvertedbreve'] = 0x0207;
- t['eiotifiedcyrillic'] = 0x0465;
- t['ekatakana'] = 0x30A8;
- t['ekatakanahalfwidth'] = 0xFF74;
- t['ekonkargurmukhi'] = 0x0A74;
- t['ekorean'] = 0x3154;
- t['elcyrillic'] = 0x043B;
- t['element'] = 0x2208;
- t['elevencircle'] = 0x246A;
- t['elevenparen'] = 0x247E;
- t['elevenperiod'] = 0x2492;
- t['elevenroman'] = 0x217A;
- t['ellipsis'] = 0x2026;
- t['ellipsisvertical'] = 0x22EE;
- t['emacron'] = 0x0113;
- t['emacronacute'] = 0x1E17;
- t['emacrongrave'] = 0x1E15;
- t['emcyrillic'] = 0x043C;
- t['emdash'] = 0x2014;
- t['emdashvertical'] = 0xFE31;
- t['emonospace'] = 0xFF45;
- t['emphasismarkarmenian'] = 0x055B;
- t['emptyset'] = 0x2205;
- t['enbopomofo'] = 0x3123;
- t['encyrillic'] = 0x043D;
- t['endash'] = 0x2013;
- t['endashvertical'] = 0xFE32;
- t['endescendercyrillic'] = 0x04A3;
- t['eng'] = 0x014B;
- t['engbopomofo'] = 0x3125;
- t['enghecyrillic'] = 0x04A5;
- t['enhookcyrillic'] = 0x04C8;
- t['enspace'] = 0x2002;
- t['eogonek'] = 0x0119;
- t['eokorean'] = 0x3153;
- t['eopen'] = 0x025B;
- t['eopenclosed'] = 0x029A;
- t['eopenreversed'] = 0x025C;
- t['eopenreversedclosed'] = 0x025E;
- t['eopenreversedhook'] = 0x025D;
- t['eparen'] = 0x24A0;
- t['epsilon'] = 0x03B5;
- t['epsilontonos'] = 0x03AD;
- t['equal'] = 0x003D;
- t['equalmonospace'] = 0xFF1D;
- t['equalsmall'] = 0xFE66;
- t['equalsuperior'] = 0x207C;
- t['equivalence'] = 0x2261;
- t['erbopomofo'] = 0x3126;
- t['ercyrillic'] = 0x0440;
- t['ereversed'] = 0x0258;
- t['ereversedcyrillic'] = 0x044D;
- t['escyrillic'] = 0x0441;
- t['esdescendercyrillic'] = 0x04AB;
- t['esh'] = 0x0283;
- t['eshcurl'] = 0x0286;
- t['eshortdeva'] = 0x090E;
- t['eshortvowelsigndeva'] = 0x0946;
- t['eshreversedloop'] = 0x01AA;
- t['eshsquatreversed'] = 0x0285;
- t['esmallhiragana'] = 0x3047;
- t['esmallkatakana'] = 0x30A7;
- t['esmallkatakanahalfwidth'] = 0xFF6A;
- t['estimated'] = 0x212E;
- t['esuperior'] = 0xF6EC;
- t['eta'] = 0x03B7;
- t['etarmenian'] = 0x0568;
- t['etatonos'] = 0x03AE;
- t['eth'] = 0x00F0;
- t['etilde'] = 0x1EBD;
- t['etildebelow'] = 0x1E1B;
- t['etnahtafoukhhebrew'] = 0x0591;
- t['etnahtafoukhlefthebrew'] = 0x0591;
- t['etnahtahebrew'] = 0x0591;
- t['etnahtalefthebrew'] = 0x0591;
- t['eturned'] = 0x01DD;
- t['eukorean'] = 0x3161;
- t['euro'] = 0x20AC;
- t['evowelsignbengali'] = 0x09C7;
- t['evowelsigndeva'] = 0x0947;
- t['evowelsigngujarati'] = 0x0AC7;
- t['exclam'] = 0x0021;
- t['exclamarmenian'] = 0x055C;
- t['exclamdbl'] = 0x203C;
- t['exclamdown'] = 0x00A1;
- t['exclamdownsmall'] = 0xF7A1;
- t['exclammonospace'] = 0xFF01;
- t['exclamsmall'] = 0xF721;
- t['existential'] = 0x2203;
- t['ezh'] = 0x0292;
- t['ezhcaron'] = 0x01EF;
- t['ezhcurl'] = 0x0293;
- t['ezhreversed'] = 0x01B9;
- t['ezhtail'] = 0x01BA;
- t['f'] = 0x0066;
- t['fadeva'] = 0x095E;
- t['fagurmukhi'] = 0x0A5E;
- t['fahrenheit'] = 0x2109;
- t['fathaarabic'] = 0x064E;
- t['fathalowarabic'] = 0x064E;
- t['fathatanarabic'] = 0x064B;
- t['fbopomofo'] = 0x3108;
- t['fcircle'] = 0x24D5;
- t['fdotaccent'] = 0x1E1F;
- t['feharabic'] = 0x0641;
- t['feharmenian'] = 0x0586;
- t['fehfinalarabic'] = 0xFED2;
- t['fehinitialarabic'] = 0xFED3;
- t['fehmedialarabic'] = 0xFED4;
- t['feicoptic'] = 0x03E5;
- t['female'] = 0x2640;
- t['ff'] = 0xFB00;
- t['f_f'] = 0xFB00;
- t['ffi'] = 0xFB03;
- t['ffl'] = 0xFB04;
- t['fi'] = 0xFB01;
- t['fifteencircle'] = 0x246E;
- t['fifteenparen'] = 0x2482;
- t['fifteenperiod'] = 0x2496;
- t['figuredash'] = 0x2012;
- t['filledbox'] = 0x25A0;
- t['filledrect'] = 0x25AC;
- t['finalkaf'] = 0x05DA;
- t['finalkafdagesh'] = 0xFB3A;
- t['finalkafdageshhebrew'] = 0xFB3A;
- t['finalkafhebrew'] = 0x05DA;
- t['finalmem'] = 0x05DD;
- t['finalmemhebrew'] = 0x05DD;
- t['finalnun'] = 0x05DF;
- t['finalnunhebrew'] = 0x05DF;
- t['finalpe'] = 0x05E3;
- t['finalpehebrew'] = 0x05E3;
- t['finaltsadi'] = 0x05E5;
- t['finaltsadihebrew'] = 0x05E5;
- t['firsttonechinese'] = 0x02C9;
- t['fisheye'] = 0x25C9;
- t['fitacyrillic'] = 0x0473;
- t['five'] = 0x0035;
- t['fivearabic'] = 0x0665;
- t['fivebengali'] = 0x09EB;
- t['fivecircle'] = 0x2464;
- t['fivecircleinversesansserif'] = 0x278E;
- t['fivedeva'] = 0x096B;
- t['fiveeighths'] = 0x215D;
- t['fivegujarati'] = 0x0AEB;
- t['fivegurmukhi'] = 0x0A6B;
- t['fivehackarabic'] = 0x0665;
- t['fivehangzhou'] = 0x3025;
- t['fiveideographicparen'] = 0x3224;
- t['fiveinferior'] = 0x2085;
- t['fivemonospace'] = 0xFF15;
- t['fiveoldstyle'] = 0xF735;
- t['fiveparen'] = 0x2478;
- t['fiveperiod'] = 0x248C;
- t['fivepersian'] = 0x06F5;
- t['fiveroman'] = 0x2174;
- t['fivesuperior'] = 0x2075;
- t['fivethai'] = 0x0E55;
- t['fl'] = 0xFB02;
- t['florin'] = 0x0192;
- t['fmonospace'] = 0xFF46;
- t['fmsquare'] = 0x3399;
- t['fofanthai'] = 0x0E1F;
- t['fofathai'] = 0x0E1D;
- t['fongmanthai'] = 0x0E4F;
- t['forall'] = 0x2200;
- t['four'] = 0x0034;
- t['fourarabic'] = 0x0664;
- t['fourbengali'] = 0x09EA;
- t['fourcircle'] = 0x2463;
- t['fourcircleinversesansserif'] = 0x278D;
- t['fourdeva'] = 0x096A;
- t['fourgujarati'] = 0x0AEA;
- t['fourgurmukhi'] = 0x0A6A;
- t['fourhackarabic'] = 0x0664;
- t['fourhangzhou'] = 0x3024;
- t['fourideographicparen'] = 0x3223;
- t['fourinferior'] = 0x2084;
- t['fourmonospace'] = 0xFF14;
- t['fournumeratorbengali'] = 0x09F7;
- t['fouroldstyle'] = 0xF734;
- t['fourparen'] = 0x2477;
- t['fourperiod'] = 0x248B;
- t['fourpersian'] = 0x06F4;
- t['fourroman'] = 0x2173;
- t['foursuperior'] = 0x2074;
- t['fourteencircle'] = 0x246D;
- t['fourteenparen'] = 0x2481;
- t['fourteenperiod'] = 0x2495;
- t['fourthai'] = 0x0E54;
- t['fourthtonechinese'] = 0x02CB;
- t['fparen'] = 0x24A1;
- t['fraction'] = 0x2044;
- t['franc'] = 0x20A3;
- t['g'] = 0x0067;
- t['gabengali'] = 0x0997;
- t['gacute'] = 0x01F5;
- t['gadeva'] = 0x0917;
- t['gafarabic'] = 0x06AF;
- t['gaffinalarabic'] = 0xFB93;
- t['gafinitialarabic'] = 0xFB94;
- t['gafmedialarabic'] = 0xFB95;
- t['gagujarati'] = 0x0A97;
- t['gagurmukhi'] = 0x0A17;
- t['gahiragana'] = 0x304C;
- t['gakatakana'] = 0x30AC;
- t['gamma'] = 0x03B3;
- t['gammalatinsmall'] = 0x0263;
- t['gammasuperior'] = 0x02E0;
- t['gangiacoptic'] = 0x03EB;
- t['gbopomofo'] = 0x310D;
- t['gbreve'] = 0x011F;
- t['gcaron'] = 0x01E7;
- t['gcedilla'] = 0x0123;
- t['gcircle'] = 0x24D6;
- t['gcircumflex'] = 0x011D;
- t['gcommaaccent'] = 0x0123;
- t['gdot'] = 0x0121;
- t['gdotaccent'] = 0x0121;
- t['gecyrillic'] = 0x0433;
- t['gehiragana'] = 0x3052;
- t['gekatakana'] = 0x30B2;
- t['geometricallyequal'] = 0x2251;
- t['gereshaccenthebrew'] = 0x059C;
- t['gereshhebrew'] = 0x05F3;
- t['gereshmuqdamhebrew'] = 0x059D;
- t['germandbls'] = 0x00DF;
- t['gershayimaccenthebrew'] = 0x059E;
- t['gershayimhebrew'] = 0x05F4;
- t['getamark'] = 0x3013;
- t['ghabengali'] = 0x0998;
- t['ghadarmenian'] = 0x0572;
- t['ghadeva'] = 0x0918;
- t['ghagujarati'] = 0x0A98;
- t['ghagurmukhi'] = 0x0A18;
- t['ghainarabic'] = 0x063A;
- t['ghainfinalarabic'] = 0xFECE;
- t['ghaininitialarabic'] = 0xFECF;
- t['ghainmedialarabic'] = 0xFED0;
- t['ghemiddlehookcyrillic'] = 0x0495;
- t['ghestrokecyrillic'] = 0x0493;
- t['gheupturncyrillic'] = 0x0491;
- t['ghhadeva'] = 0x095A;
- t['ghhagurmukhi'] = 0x0A5A;
- t['ghook'] = 0x0260;
- t['ghzsquare'] = 0x3393;
- t['gihiragana'] = 0x304E;
- t['gikatakana'] = 0x30AE;
- t['gimarmenian'] = 0x0563;
- t['gimel'] = 0x05D2;
- t['gimeldagesh'] = 0xFB32;
- t['gimeldageshhebrew'] = 0xFB32;
- t['gimelhebrew'] = 0x05D2;
- t['gjecyrillic'] = 0x0453;
- t['glottalinvertedstroke'] = 0x01BE;
- t['glottalstop'] = 0x0294;
- t['glottalstopinverted'] = 0x0296;
- t['glottalstopmod'] = 0x02C0;
- t['glottalstopreversed'] = 0x0295;
- t['glottalstopreversedmod'] = 0x02C1;
- t['glottalstopreversedsuperior'] = 0x02E4;
- t['glottalstopstroke'] = 0x02A1;
- t['glottalstopstrokereversed'] = 0x02A2;
- t['gmacron'] = 0x1E21;
- t['gmonospace'] = 0xFF47;
- t['gohiragana'] = 0x3054;
- t['gokatakana'] = 0x30B4;
- t['gparen'] = 0x24A2;
- t['gpasquare'] = 0x33AC;
- t['gradient'] = 0x2207;
- t['grave'] = 0x0060;
- t['gravebelowcmb'] = 0x0316;
- t['gravecmb'] = 0x0300;
- t['gravecomb'] = 0x0300;
- t['gravedeva'] = 0x0953;
- t['gravelowmod'] = 0x02CE;
- t['gravemonospace'] = 0xFF40;
- t['gravetonecmb'] = 0x0340;
- t['greater'] = 0x003E;
- t['greaterequal'] = 0x2265;
- t['greaterequalorless'] = 0x22DB;
- t['greatermonospace'] = 0xFF1E;
- t['greaterorequivalent'] = 0x2273;
- t['greaterorless'] = 0x2277;
- t['greateroverequal'] = 0x2267;
- t['greatersmall'] = 0xFE65;
- t['gscript'] = 0x0261;
- t['gstroke'] = 0x01E5;
- t['guhiragana'] = 0x3050;
- t['guillemotleft'] = 0x00AB;
- t['guillemotright'] = 0x00BB;
- t['guilsinglleft'] = 0x2039;
- t['guilsinglright'] = 0x203A;
- t['gukatakana'] = 0x30B0;
- t['guramusquare'] = 0x3318;
- t['gysquare'] = 0x33C9;
- t['h'] = 0x0068;
- t['haabkhasiancyrillic'] = 0x04A9;
- t['haaltonearabic'] = 0x06C1;
- t['habengali'] = 0x09B9;
- t['hadescendercyrillic'] = 0x04B3;
- t['hadeva'] = 0x0939;
- t['hagujarati'] = 0x0AB9;
- t['hagurmukhi'] = 0x0A39;
- t['haharabic'] = 0x062D;
- t['hahfinalarabic'] = 0xFEA2;
- t['hahinitialarabic'] = 0xFEA3;
- t['hahiragana'] = 0x306F;
- t['hahmedialarabic'] = 0xFEA4;
- t['haitusquare'] = 0x332A;
- t['hakatakana'] = 0x30CF;
- t['hakatakanahalfwidth'] = 0xFF8A;
- t['halantgurmukhi'] = 0x0A4D;
- t['hamzaarabic'] = 0x0621;
- t['hamzalowarabic'] = 0x0621;
- t['hangulfiller'] = 0x3164;
- t['hardsigncyrillic'] = 0x044A;
- t['harpoonleftbarbup'] = 0x21BC;
- t['harpoonrightbarbup'] = 0x21C0;
- t['hasquare'] = 0x33CA;
- t['hatafpatah'] = 0x05B2;
- t['hatafpatah16'] = 0x05B2;
- t['hatafpatah23'] = 0x05B2;
- t['hatafpatah2f'] = 0x05B2;
- t['hatafpatahhebrew'] = 0x05B2;
- t['hatafpatahnarrowhebrew'] = 0x05B2;
- t['hatafpatahquarterhebrew'] = 0x05B2;
- t['hatafpatahwidehebrew'] = 0x05B2;
- t['hatafqamats'] = 0x05B3;
- t['hatafqamats1b'] = 0x05B3;
- t['hatafqamats28'] = 0x05B3;
- t['hatafqamats34'] = 0x05B3;
- t['hatafqamatshebrew'] = 0x05B3;
- t['hatafqamatsnarrowhebrew'] = 0x05B3;
- t['hatafqamatsquarterhebrew'] = 0x05B3;
- t['hatafqamatswidehebrew'] = 0x05B3;
- t['hatafsegol'] = 0x05B1;
- t['hatafsegol17'] = 0x05B1;
- t['hatafsegol24'] = 0x05B1;
- t['hatafsegol30'] = 0x05B1;
- t['hatafsegolhebrew'] = 0x05B1;
- t['hatafsegolnarrowhebrew'] = 0x05B1;
- t['hatafsegolquarterhebrew'] = 0x05B1;
- t['hatafsegolwidehebrew'] = 0x05B1;
- t['hbar'] = 0x0127;
- t['hbopomofo'] = 0x310F;
- t['hbrevebelow'] = 0x1E2B;
- t['hcedilla'] = 0x1E29;
- t['hcircle'] = 0x24D7;
- t['hcircumflex'] = 0x0125;
- t['hdieresis'] = 0x1E27;
- t['hdotaccent'] = 0x1E23;
- t['hdotbelow'] = 0x1E25;
- t['he'] = 0x05D4;
- t['heart'] = 0x2665;
- t['heartsuitblack'] = 0x2665;
- t['heartsuitwhite'] = 0x2661;
- t['hedagesh'] = 0xFB34;
- t['hedageshhebrew'] = 0xFB34;
- t['hehaltonearabic'] = 0x06C1;
- t['heharabic'] = 0x0647;
- t['hehebrew'] = 0x05D4;
- t['hehfinalaltonearabic'] = 0xFBA7;
- t['hehfinalalttwoarabic'] = 0xFEEA;
- t['hehfinalarabic'] = 0xFEEA;
- t['hehhamzaabovefinalarabic'] = 0xFBA5;
- t['hehhamzaaboveisolatedarabic'] = 0xFBA4;
- t['hehinitialaltonearabic'] = 0xFBA8;
- t['hehinitialarabic'] = 0xFEEB;
- t['hehiragana'] = 0x3078;
- t['hehmedialaltonearabic'] = 0xFBA9;
- t['hehmedialarabic'] = 0xFEEC;
- t['heiseierasquare'] = 0x337B;
- t['hekatakana'] = 0x30D8;
- t['hekatakanahalfwidth'] = 0xFF8D;
- t['hekutaarusquare'] = 0x3336;
- t['henghook'] = 0x0267;
- t['herutusquare'] = 0x3339;
- t['het'] = 0x05D7;
- t['hethebrew'] = 0x05D7;
- t['hhook'] = 0x0266;
- t['hhooksuperior'] = 0x02B1;
- t['hieuhacirclekorean'] = 0x327B;
- t['hieuhaparenkorean'] = 0x321B;
- t['hieuhcirclekorean'] = 0x326D;
- t['hieuhkorean'] = 0x314E;
- t['hieuhparenkorean'] = 0x320D;
- t['hihiragana'] = 0x3072;
- t['hikatakana'] = 0x30D2;
- t['hikatakanahalfwidth'] = 0xFF8B;
- t['hiriq'] = 0x05B4;
- t['hiriq14'] = 0x05B4;
- t['hiriq21'] = 0x05B4;
- t['hiriq2d'] = 0x05B4;
- t['hiriqhebrew'] = 0x05B4;
- t['hiriqnarrowhebrew'] = 0x05B4;
- t['hiriqquarterhebrew'] = 0x05B4;
- t['hiriqwidehebrew'] = 0x05B4;
- t['hlinebelow'] = 0x1E96;
- t['hmonospace'] = 0xFF48;
- t['hoarmenian'] = 0x0570;
- t['hohipthai'] = 0x0E2B;
- t['hohiragana'] = 0x307B;
- t['hokatakana'] = 0x30DB;
- t['hokatakanahalfwidth'] = 0xFF8E;
- t['holam'] = 0x05B9;
- t['holam19'] = 0x05B9;
- t['holam26'] = 0x05B9;
- t['holam32'] = 0x05B9;
- t['holamhebrew'] = 0x05B9;
- t['holamnarrowhebrew'] = 0x05B9;
- t['holamquarterhebrew'] = 0x05B9;
- t['holamwidehebrew'] = 0x05B9;
- t['honokhukthai'] = 0x0E2E;
- t['hookabovecomb'] = 0x0309;
- t['hookcmb'] = 0x0309;
- t['hookpalatalizedbelowcmb'] = 0x0321;
- t['hookretroflexbelowcmb'] = 0x0322;
- t['hoonsquare'] = 0x3342;
- t['horicoptic'] = 0x03E9;
- t['horizontalbar'] = 0x2015;
- t['horncmb'] = 0x031B;
- t['hotsprings'] = 0x2668;
- t['house'] = 0x2302;
- t['hparen'] = 0x24A3;
- t['hsuperior'] = 0x02B0;
- t['hturned'] = 0x0265;
- t['huhiragana'] = 0x3075;
- t['huiitosquare'] = 0x3333;
- t['hukatakana'] = 0x30D5;
- t['hukatakanahalfwidth'] = 0xFF8C;
- t['hungarumlaut'] = 0x02DD;
- t['hungarumlautcmb'] = 0x030B;
- t['hv'] = 0x0195;
- t['hyphen'] = 0x002D;
- t['hypheninferior'] = 0xF6E5;
- t['hyphenmonospace'] = 0xFF0D;
- t['hyphensmall'] = 0xFE63;
- t['hyphensuperior'] = 0xF6E6;
- t['hyphentwo'] = 0x2010;
- t['i'] = 0x0069;
- t['iacute'] = 0x00ED;
- t['iacyrillic'] = 0x044F;
- t['ibengali'] = 0x0987;
- t['ibopomofo'] = 0x3127;
- t['ibreve'] = 0x012D;
- t['icaron'] = 0x01D0;
- t['icircle'] = 0x24D8;
- t['icircumflex'] = 0x00EE;
- t['icyrillic'] = 0x0456;
- t['idblgrave'] = 0x0209;
- t['ideographearthcircle'] = 0x328F;
- t['ideographfirecircle'] = 0x328B;
- t['ideographicallianceparen'] = 0x323F;
- t['ideographiccallparen'] = 0x323A;
- t['ideographiccentrecircle'] = 0x32A5;
- t['ideographicclose'] = 0x3006;
- t['ideographiccomma'] = 0x3001;
- t['ideographiccommaleft'] = 0xFF64;
- t['ideographiccongratulationparen'] = 0x3237;
- t['ideographiccorrectcircle'] = 0x32A3;
- t['ideographicearthparen'] = 0x322F;
- t['ideographicenterpriseparen'] = 0x323D;
- t['ideographicexcellentcircle'] = 0x329D;
- t['ideographicfestivalparen'] = 0x3240;
- t['ideographicfinancialcircle'] = 0x3296;
- t['ideographicfinancialparen'] = 0x3236;
- t['ideographicfireparen'] = 0x322B;
- t['ideographichaveparen'] = 0x3232;
- t['ideographichighcircle'] = 0x32A4;
- t['ideographiciterationmark'] = 0x3005;
- t['ideographiclaborcircle'] = 0x3298;
- t['ideographiclaborparen'] = 0x3238;
- t['ideographicleftcircle'] = 0x32A7;
- t['ideographiclowcircle'] = 0x32A6;
- t['ideographicmedicinecircle'] = 0x32A9;
- t['ideographicmetalparen'] = 0x322E;
- t['ideographicmoonparen'] = 0x322A;
- t['ideographicnameparen'] = 0x3234;
- t['ideographicperiod'] = 0x3002;
- t['ideographicprintcircle'] = 0x329E;
- t['ideographicreachparen'] = 0x3243;
- t['ideographicrepresentparen'] = 0x3239;
- t['ideographicresourceparen'] = 0x323E;
- t['ideographicrightcircle'] = 0x32A8;
- t['ideographicsecretcircle'] = 0x3299;
- t['ideographicselfparen'] = 0x3242;
- t['ideographicsocietyparen'] = 0x3233;
- t['ideographicspace'] = 0x3000;
- t['ideographicspecialparen'] = 0x3235;
- t['ideographicstockparen'] = 0x3231;
- t['ideographicstudyparen'] = 0x323B;
- t['ideographicsunparen'] = 0x3230;
- t['ideographicsuperviseparen'] = 0x323C;
- t['ideographicwaterparen'] = 0x322C;
- t['ideographicwoodparen'] = 0x322D;
- t['ideographiczero'] = 0x3007;
- t['ideographmetalcircle'] = 0x328E;
- t['ideographmooncircle'] = 0x328A;
- t['ideographnamecircle'] = 0x3294;
- t['ideographsuncircle'] = 0x3290;
- t['ideographwatercircle'] = 0x328C;
- t['ideographwoodcircle'] = 0x328D;
- t['ideva'] = 0x0907;
- t['idieresis'] = 0x00EF;
- t['idieresisacute'] = 0x1E2F;
- t['idieresiscyrillic'] = 0x04E5;
- t['idotbelow'] = 0x1ECB;
- t['iebrevecyrillic'] = 0x04D7;
- t['iecyrillic'] = 0x0435;
- t['ieungacirclekorean'] = 0x3275;
- t['ieungaparenkorean'] = 0x3215;
- t['ieungcirclekorean'] = 0x3267;
- t['ieungkorean'] = 0x3147;
- t['ieungparenkorean'] = 0x3207;
- t['igrave'] = 0x00EC;
- t['igujarati'] = 0x0A87;
- t['igurmukhi'] = 0x0A07;
- t['ihiragana'] = 0x3044;
- t['ihookabove'] = 0x1EC9;
- t['iibengali'] = 0x0988;
- t['iicyrillic'] = 0x0438;
- t['iideva'] = 0x0908;
- t['iigujarati'] = 0x0A88;
- t['iigurmukhi'] = 0x0A08;
- t['iimatragurmukhi'] = 0x0A40;
- t['iinvertedbreve'] = 0x020B;
- t['iishortcyrillic'] = 0x0439;
- t['iivowelsignbengali'] = 0x09C0;
- t['iivowelsigndeva'] = 0x0940;
- t['iivowelsigngujarati'] = 0x0AC0;
- t['ij'] = 0x0133;
- t['ikatakana'] = 0x30A4;
- t['ikatakanahalfwidth'] = 0xFF72;
- t['ikorean'] = 0x3163;
- t['ilde'] = 0x02DC;
- t['iluyhebrew'] = 0x05AC;
- t['imacron'] = 0x012B;
- t['imacroncyrillic'] = 0x04E3;
- t['imageorapproximatelyequal'] = 0x2253;
- t['imatragurmukhi'] = 0x0A3F;
- t['imonospace'] = 0xFF49;
- t['increment'] = 0x2206;
- t['infinity'] = 0x221E;
- t['iniarmenian'] = 0x056B;
- t['integral'] = 0x222B;
- t['integralbottom'] = 0x2321;
- t['integralbt'] = 0x2321;
- t['integralex'] = 0xF8F5;
- t['integraltop'] = 0x2320;
- t['integraltp'] = 0x2320;
- t['intersection'] = 0x2229;
- t['intisquare'] = 0x3305;
- t['invbullet'] = 0x25D8;
- t['invcircle'] = 0x25D9;
- t['invsmileface'] = 0x263B;
- t['iocyrillic'] = 0x0451;
- t['iogonek'] = 0x012F;
- t['iota'] = 0x03B9;
- t['iotadieresis'] = 0x03CA;
- t['iotadieresistonos'] = 0x0390;
- t['iotalatin'] = 0x0269;
- t['iotatonos'] = 0x03AF;
- t['iparen'] = 0x24A4;
- t['irigurmukhi'] = 0x0A72;
- t['ismallhiragana'] = 0x3043;
- t['ismallkatakana'] = 0x30A3;
- t['ismallkatakanahalfwidth'] = 0xFF68;
- t['issharbengali'] = 0x09FA;
- t['istroke'] = 0x0268;
- t['isuperior'] = 0xF6ED;
- t['iterationhiragana'] = 0x309D;
- t['iterationkatakana'] = 0x30FD;
- t['itilde'] = 0x0129;
- t['itildebelow'] = 0x1E2D;
- t['iubopomofo'] = 0x3129;
- t['iucyrillic'] = 0x044E;
- t['ivowelsignbengali'] = 0x09BF;
- t['ivowelsigndeva'] = 0x093F;
- t['ivowelsigngujarati'] = 0x0ABF;
- t['izhitsacyrillic'] = 0x0475;
- t['izhitsadblgravecyrillic'] = 0x0477;
- t['j'] = 0x006A;
- t['jaarmenian'] = 0x0571;
- t['jabengali'] = 0x099C;
- t['jadeva'] = 0x091C;
- t['jagujarati'] = 0x0A9C;
- t['jagurmukhi'] = 0x0A1C;
- t['jbopomofo'] = 0x3110;
- t['jcaron'] = 0x01F0;
- t['jcircle'] = 0x24D9;
- t['jcircumflex'] = 0x0135;
- t['jcrossedtail'] = 0x029D;
- t['jdotlessstroke'] = 0x025F;
- t['jecyrillic'] = 0x0458;
- t['jeemarabic'] = 0x062C;
- t['jeemfinalarabic'] = 0xFE9E;
- t['jeeminitialarabic'] = 0xFE9F;
- t['jeemmedialarabic'] = 0xFEA0;
- t['jeharabic'] = 0x0698;
- t['jehfinalarabic'] = 0xFB8B;
- t['jhabengali'] = 0x099D;
- t['jhadeva'] = 0x091D;
- t['jhagujarati'] = 0x0A9D;
- t['jhagurmukhi'] = 0x0A1D;
- t['jheharmenian'] = 0x057B;
- t['jis'] = 0x3004;
- t['jmonospace'] = 0xFF4A;
- t['jparen'] = 0x24A5;
- t['jsuperior'] = 0x02B2;
- t['k'] = 0x006B;
- t['kabashkircyrillic'] = 0x04A1;
- t['kabengali'] = 0x0995;
- t['kacute'] = 0x1E31;
- t['kacyrillic'] = 0x043A;
- t['kadescendercyrillic'] = 0x049B;
- t['kadeva'] = 0x0915;
- t['kaf'] = 0x05DB;
- t['kafarabic'] = 0x0643;
- t['kafdagesh'] = 0xFB3B;
- t['kafdageshhebrew'] = 0xFB3B;
- t['kaffinalarabic'] = 0xFEDA;
- t['kafhebrew'] = 0x05DB;
- t['kafinitialarabic'] = 0xFEDB;
- t['kafmedialarabic'] = 0xFEDC;
- t['kafrafehebrew'] = 0xFB4D;
- t['kagujarati'] = 0x0A95;
- t['kagurmukhi'] = 0x0A15;
- t['kahiragana'] = 0x304B;
- t['kahookcyrillic'] = 0x04C4;
- t['kakatakana'] = 0x30AB;
- t['kakatakanahalfwidth'] = 0xFF76;
- t['kappa'] = 0x03BA;
- t['kappasymbolgreek'] = 0x03F0;
- t['kapyeounmieumkorean'] = 0x3171;
- t['kapyeounphieuphkorean'] = 0x3184;
- t['kapyeounpieupkorean'] = 0x3178;
- t['kapyeounssangpieupkorean'] = 0x3179;
- t['karoriisquare'] = 0x330D;
- t['kashidaautoarabic'] = 0x0640;
- t['kashidaautonosidebearingarabic'] = 0x0640;
- t['kasmallkatakana'] = 0x30F5;
- t['kasquare'] = 0x3384;
- t['kasraarabic'] = 0x0650;
- t['kasratanarabic'] = 0x064D;
- t['kastrokecyrillic'] = 0x049F;
- t['katahiraprolongmarkhalfwidth'] = 0xFF70;
- t['kaverticalstrokecyrillic'] = 0x049D;
- t['kbopomofo'] = 0x310E;
- t['kcalsquare'] = 0x3389;
- t['kcaron'] = 0x01E9;
- t['kcedilla'] = 0x0137;
- t['kcircle'] = 0x24DA;
- t['kcommaaccent'] = 0x0137;
- t['kdotbelow'] = 0x1E33;
- t['keharmenian'] = 0x0584;
- t['kehiragana'] = 0x3051;
- t['kekatakana'] = 0x30B1;
- t['kekatakanahalfwidth'] = 0xFF79;
- t['kenarmenian'] = 0x056F;
- t['kesmallkatakana'] = 0x30F6;
- t['kgreenlandic'] = 0x0138;
- t['khabengali'] = 0x0996;
- t['khacyrillic'] = 0x0445;
- t['khadeva'] = 0x0916;
- t['khagujarati'] = 0x0A96;
- t['khagurmukhi'] = 0x0A16;
- t['khaharabic'] = 0x062E;
- t['khahfinalarabic'] = 0xFEA6;
- t['khahinitialarabic'] = 0xFEA7;
- t['khahmedialarabic'] = 0xFEA8;
- t['kheicoptic'] = 0x03E7;
- t['khhadeva'] = 0x0959;
- t['khhagurmukhi'] = 0x0A59;
- t['khieukhacirclekorean'] = 0x3278;
- t['khieukhaparenkorean'] = 0x3218;
- t['khieukhcirclekorean'] = 0x326A;
- t['khieukhkorean'] = 0x314B;
- t['khieukhparenkorean'] = 0x320A;
- t['khokhaithai'] = 0x0E02;
- t['khokhonthai'] = 0x0E05;
- t['khokhuatthai'] = 0x0E03;
- t['khokhwaithai'] = 0x0E04;
- t['khomutthai'] = 0x0E5B;
- t['khook'] = 0x0199;
- t['khorakhangthai'] = 0x0E06;
- t['khzsquare'] = 0x3391;
- t['kihiragana'] = 0x304D;
- t['kikatakana'] = 0x30AD;
- t['kikatakanahalfwidth'] = 0xFF77;
- t['kiroguramusquare'] = 0x3315;
- t['kiromeetorusquare'] = 0x3316;
- t['kirosquare'] = 0x3314;
- t['kiyeokacirclekorean'] = 0x326E;
- t['kiyeokaparenkorean'] = 0x320E;
- t['kiyeokcirclekorean'] = 0x3260;
- t['kiyeokkorean'] = 0x3131;
- t['kiyeokparenkorean'] = 0x3200;
- t['kiyeoksioskorean'] = 0x3133;
- t['kjecyrillic'] = 0x045C;
- t['klinebelow'] = 0x1E35;
- t['klsquare'] = 0x3398;
- t['kmcubedsquare'] = 0x33A6;
- t['kmonospace'] = 0xFF4B;
- t['kmsquaredsquare'] = 0x33A2;
- t['kohiragana'] = 0x3053;
- t['kohmsquare'] = 0x33C0;
- t['kokaithai'] = 0x0E01;
- t['kokatakana'] = 0x30B3;
- t['kokatakanahalfwidth'] = 0xFF7A;
- t['kooposquare'] = 0x331E;
- t['koppacyrillic'] = 0x0481;
- t['koreanstandardsymbol'] = 0x327F;
- t['koroniscmb'] = 0x0343;
- t['kparen'] = 0x24A6;
- t['kpasquare'] = 0x33AA;
- t['ksicyrillic'] = 0x046F;
- t['ktsquare'] = 0x33CF;
- t['kturned'] = 0x029E;
- t['kuhiragana'] = 0x304F;
- t['kukatakana'] = 0x30AF;
- t['kukatakanahalfwidth'] = 0xFF78;
- t['kvsquare'] = 0x33B8;
- t['kwsquare'] = 0x33BE;
- t['l'] = 0x006C;
- t['labengali'] = 0x09B2;
- t['lacute'] = 0x013A;
- t['ladeva'] = 0x0932;
- t['lagujarati'] = 0x0AB2;
- t['lagurmukhi'] = 0x0A32;
- t['lakkhangyaothai'] = 0x0E45;
- t['lamaleffinalarabic'] = 0xFEFC;
- t['lamalefhamzaabovefinalarabic'] = 0xFEF8;
- t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7;
- t['lamalefhamzabelowfinalarabic'] = 0xFEFA;
- t['lamalefhamzabelowisolatedarabic'] = 0xFEF9;
- t['lamalefisolatedarabic'] = 0xFEFB;
- t['lamalefmaddaabovefinalarabic'] = 0xFEF6;
- t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5;
- t['lamarabic'] = 0x0644;
- t['lambda'] = 0x03BB;
- t['lambdastroke'] = 0x019B;
- t['lamed'] = 0x05DC;
- t['lameddagesh'] = 0xFB3C;
- t['lameddageshhebrew'] = 0xFB3C;
- t['lamedhebrew'] = 0x05DC;
- t['lamfinalarabic'] = 0xFEDE;
- t['lamhahinitialarabic'] = 0xFCCA;
- t['laminitialarabic'] = 0xFEDF;
- t['lamjeeminitialarabic'] = 0xFCC9;
- t['lamkhahinitialarabic'] = 0xFCCB;
- t['lamlamhehisolatedarabic'] = 0xFDF2;
- t['lammedialarabic'] = 0xFEE0;
- t['lammeemhahinitialarabic'] = 0xFD88;
- t['lammeeminitialarabic'] = 0xFCCC;
- t['largecircle'] = 0x25EF;
- t['lbar'] = 0x019A;
- t['lbelt'] = 0x026C;
- t['lbopomofo'] = 0x310C;
- t['lcaron'] = 0x013E;
- t['lcedilla'] = 0x013C;
- t['lcircle'] = 0x24DB;
- t['lcircumflexbelow'] = 0x1E3D;
- t['lcommaaccent'] = 0x013C;
- t['ldot'] = 0x0140;
- t['ldotaccent'] = 0x0140;
- t['ldotbelow'] = 0x1E37;
- t['ldotbelowmacron'] = 0x1E39;
- t['leftangleabovecmb'] = 0x031A;
- t['lefttackbelowcmb'] = 0x0318;
- t['less'] = 0x003C;
- t['lessequal'] = 0x2264;
- t['lessequalorgreater'] = 0x22DA;
- t['lessmonospace'] = 0xFF1C;
- t['lessorequivalent'] = 0x2272;
- t['lessorgreater'] = 0x2276;
- t['lessoverequal'] = 0x2266;
- t['lesssmall'] = 0xFE64;
- t['lezh'] = 0x026E;
- t['lfblock'] = 0x258C;
- t['lhookretroflex'] = 0x026D;
- t['lira'] = 0x20A4;
- t['liwnarmenian'] = 0x056C;
- t['lj'] = 0x01C9;
- t['ljecyrillic'] = 0x0459;
- t['ll'] = 0xF6C0;
- t['lladeva'] = 0x0933;
- t['llagujarati'] = 0x0AB3;
- t['llinebelow'] = 0x1E3B;
- t['llladeva'] = 0x0934;
- t['llvocalicbengali'] = 0x09E1;
- t['llvocalicdeva'] = 0x0961;
- t['llvocalicvowelsignbengali'] = 0x09E3;
- t['llvocalicvowelsigndeva'] = 0x0963;
- t['lmiddletilde'] = 0x026B;
- t['lmonospace'] = 0xFF4C;
- t['lmsquare'] = 0x33D0;
- t['lochulathai'] = 0x0E2C;
- t['logicaland'] = 0x2227;
- t['logicalnot'] = 0x00AC;
- t['logicalnotreversed'] = 0x2310;
- t['logicalor'] = 0x2228;
- t['lolingthai'] = 0x0E25;
- t['longs'] = 0x017F;
- t['lowlinecenterline'] = 0xFE4E;
- t['lowlinecmb'] = 0x0332;
- t['lowlinedashed'] = 0xFE4D;
- t['lozenge'] = 0x25CA;
- t['lparen'] = 0x24A7;
- t['lslash'] = 0x0142;
- t['lsquare'] = 0x2113;
- t['lsuperior'] = 0xF6EE;
- t['ltshade'] = 0x2591;
- t['luthai'] = 0x0E26;
- t['lvocalicbengali'] = 0x098C;
- t['lvocalicdeva'] = 0x090C;
- t['lvocalicvowelsignbengali'] = 0x09E2;
- t['lvocalicvowelsigndeva'] = 0x0962;
- t['lxsquare'] = 0x33D3;
- t['m'] = 0x006D;
- t['mabengali'] = 0x09AE;
- t['macron'] = 0x00AF;
- t['macronbelowcmb'] = 0x0331;
- t['macroncmb'] = 0x0304;
- t['macronlowmod'] = 0x02CD;
- t['macronmonospace'] = 0xFFE3;
- t['macute'] = 0x1E3F;
- t['madeva'] = 0x092E;
- t['magujarati'] = 0x0AAE;
- t['magurmukhi'] = 0x0A2E;
- t['mahapakhhebrew'] = 0x05A4;
- t['mahapakhlefthebrew'] = 0x05A4;
- t['mahiragana'] = 0x307E;
- t['maichattawalowleftthai'] = 0xF895;
- t['maichattawalowrightthai'] = 0xF894;
- t['maichattawathai'] = 0x0E4B;
- t['maichattawaupperleftthai'] = 0xF893;
- t['maieklowleftthai'] = 0xF88C;
- t['maieklowrightthai'] = 0xF88B;
- t['maiekthai'] = 0x0E48;
- t['maiekupperleftthai'] = 0xF88A;
- t['maihanakatleftthai'] = 0xF884;
- t['maihanakatthai'] = 0x0E31;
- t['maitaikhuleftthai'] = 0xF889;
- t['maitaikhuthai'] = 0x0E47;
- t['maitholowleftthai'] = 0xF88F;
- t['maitholowrightthai'] = 0xF88E;
- t['maithothai'] = 0x0E49;
- t['maithoupperleftthai'] = 0xF88D;
- t['maitrilowleftthai'] = 0xF892;
- t['maitrilowrightthai'] = 0xF891;
- t['maitrithai'] = 0x0E4A;
- t['maitriupperleftthai'] = 0xF890;
- t['maiyamokthai'] = 0x0E46;
- t['makatakana'] = 0x30DE;
- t['makatakanahalfwidth'] = 0xFF8F;
- t['male'] = 0x2642;
- t['mansyonsquare'] = 0x3347;
- t['maqafhebrew'] = 0x05BE;
- t['mars'] = 0x2642;
- t['masoracirclehebrew'] = 0x05AF;
- t['masquare'] = 0x3383;
- t['mbopomofo'] = 0x3107;
- t['mbsquare'] = 0x33D4;
- t['mcircle'] = 0x24DC;
- t['mcubedsquare'] = 0x33A5;
- t['mdotaccent'] = 0x1E41;
- t['mdotbelow'] = 0x1E43;
- t['meemarabic'] = 0x0645;
- t['meemfinalarabic'] = 0xFEE2;
- t['meeminitialarabic'] = 0xFEE3;
- t['meemmedialarabic'] = 0xFEE4;
- t['meemmeeminitialarabic'] = 0xFCD1;
- t['meemmeemisolatedarabic'] = 0xFC48;
- t['meetorusquare'] = 0x334D;
- t['mehiragana'] = 0x3081;
- t['meizierasquare'] = 0x337E;
- t['mekatakana'] = 0x30E1;
- t['mekatakanahalfwidth'] = 0xFF92;
- t['mem'] = 0x05DE;
- t['memdagesh'] = 0xFB3E;
- t['memdageshhebrew'] = 0xFB3E;
- t['memhebrew'] = 0x05DE;
- t['menarmenian'] = 0x0574;
- t['merkhahebrew'] = 0x05A5;
- t['merkhakefulahebrew'] = 0x05A6;
- t['merkhakefulalefthebrew'] = 0x05A6;
- t['merkhalefthebrew'] = 0x05A5;
- t['mhook'] = 0x0271;
- t['mhzsquare'] = 0x3392;
- t['middledotkatakanahalfwidth'] = 0xFF65;
- t['middot'] = 0x00B7;
- t['mieumacirclekorean'] = 0x3272;
- t['mieumaparenkorean'] = 0x3212;
- t['mieumcirclekorean'] = 0x3264;
- t['mieumkorean'] = 0x3141;
- t['mieumpansioskorean'] = 0x3170;
- t['mieumparenkorean'] = 0x3204;
- t['mieumpieupkorean'] = 0x316E;
- t['mieumsioskorean'] = 0x316F;
- t['mihiragana'] = 0x307F;
- t['mikatakana'] = 0x30DF;
- t['mikatakanahalfwidth'] = 0xFF90;
- t['minus'] = 0x2212;
- t['minusbelowcmb'] = 0x0320;
- t['minuscircle'] = 0x2296;
- t['minusmod'] = 0x02D7;
- t['minusplus'] = 0x2213;
- t['minute'] = 0x2032;
- t['miribaarusquare'] = 0x334A;
- t['mirisquare'] = 0x3349;
- t['mlonglegturned'] = 0x0270;
- t['mlsquare'] = 0x3396;
- t['mmcubedsquare'] = 0x33A3;
- t['mmonospace'] = 0xFF4D;
- t['mmsquaredsquare'] = 0x339F;
- t['mohiragana'] = 0x3082;
- t['mohmsquare'] = 0x33C1;
- t['mokatakana'] = 0x30E2;
- t['mokatakanahalfwidth'] = 0xFF93;
- t['molsquare'] = 0x33D6;
- t['momathai'] = 0x0E21;
- t['moverssquare'] = 0x33A7;
- t['moverssquaredsquare'] = 0x33A8;
- t['mparen'] = 0x24A8;
- t['mpasquare'] = 0x33AB;
- t['mssquare'] = 0x33B3;
- t['msuperior'] = 0xF6EF;
- t['mturned'] = 0x026F;
- t['mu'] = 0x00B5;
- t['mu1'] = 0x00B5;
- t['muasquare'] = 0x3382;
- t['muchgreater'] = 0x226B;
- t['muchless'] = 0x226A;
- t['mufsquare'] = 0x338C;
- t['mugreek'] = 0x03BC;
- t['mugsquare'] = 0x338D;
- t['muhiragana'] = 0x3080;
- t['mukatakana'] = 0x30E0;
- t['mukatakanahalfwidth'] = 0xFF91;
- t['mulsquare'] = 0x3395;
- t['multiply'] = 0x00D7;
- t['mumsquare'] = 0x339B;
- t['munahhebrew'] = 0x05A3;
- t['munahlefthebrew'] = 0x05A3;
- t['musicalnote'] = 0x266A;
- t['musicalnotedbl'] = 0x266B;
- t['musicflatsign'] = 0x266D;
- t['musicsharpsign'] = 0x266F;
- t['mussquare'] = 0x33B2;
- t['muvsquare'] = 0x33B6;
- t['muwsquare'] = 0x33BC;
- t['mvmegasquare'] = 0x33B9;
- t['mvsquare'] = 0x33B7;
- t['mwmegasquare'] = 0x33BF;
- t['mwsquare'] = 0x33BD;
- t['n'] = 0x006E;
- t['nabengali'] = 0x09A8;
- t['nabla'] = 0x2207;
- t['nacute'] = 0x0144;
- t['nadeva'] = 0x0928;
- t['nagujarati'] = 0x0AA8;
- t['nagurmukhi'] = 0x0A28;
- t['nahiragana'] = 0x306A;
- t['nakatakana'] = 0x30CA;
- t['nakatakanahalfwidth'] = 0xFF85;
- t['napostrophe'] = 0x0149;
- t['nasquare'] = 0x3381;
- t['nbopomofo'] = 0x310B;
- t['nbspace'] = 0x00A0;
- t['ncaron'] = 0x0148;
- t['ncedilla'] = 0x0146;
- t['ncircle'] = 0x24DD;
- t['ncircumflexbelow'] = 0x1E4B;
- t['ncommaaccent'] = 0x0146;
- t['ndotaccent'] = 0x1E45;
- t['ndotbelow'] = 0x1E47;
- t['nehiragana'] = 0x306D;
- t['nekatakana'] = 0x30CD;
- t['nekatakanahalfwidth'] = 0xFF88;
- t['newsheqelsign'] = 0x20AA;
- t['nfsquare'] = 0x338B;
- t['ngabengali'] = 0x0999;
- t['ngadeva'] = 0x0919;
- t['ngagujarati'] = 0x0A99;
- t['ngagurmukhi'] = 0x0A19;
- t['ngonguthai'] = 0x0E07;
- t['nhiragana'] = 0x3093;
- t['nhookleft'] = 0x0272;
- t['nhookretroflex'] = 0x0273;
- t['nieunacirclekorean'] = 0x326F;
- t['nieunaparenkorean'] = 0x320F;
- t['nieuncieuckorean'] = 0x3135;
- t['nieuncirclekorean'] = 0x3261;
- t['nieunhieuhkorean'] = 0x3136;
- t['nieunkorean'] = 0x3134;
- t['nieunpansioskorean'] = 0x3168;
- t['nieunparenkorean'] = 0x3201;
- t['nieunsioskorean'] = 0x3167;
- t['nieuntikeutkorean'] = 0x3166;
- t['nihiragana'] = 0x306B;
- t['nikatakana'] = 0x30CB;
- t['nikatakanahalfwidth'] = 0xFF86;
- t['nikhahitleftthai'] = 0xF899;
- t['nikhahitthai'] = 0x0E4D;
- t['nine'] = 0x0039;
- t['ninearabic'] = 0x0669;
- t['ninebengali'] = 0x09EF;
- t['ninecircle'] = 0x2468;
- t['ninecircleinversesansserif'] = 0x2792;
- t['ninedeva'] = 0x096F;
- t['ninegujarati'] = 0x0AEF;
- t['ninegurmukhi'] = 0x0A6F;
- t['ninehackarabic'] = 0x0669;
- t['ninehangzhou'] = 0x3029;
- t['nineideographicparen'] = 0x3228;
- t['nineinferior'] = 0x2089;
- t['ninemonospace'] = 0xFF19;
- t['nineoldstyle'] = 0xF739;
- t['nineparen'] = 0x247C;
- t['nineperiod'] = 0x2490;
- t['ninepersian'] = 0x06F9;
- t['nineroman'] = 0x2178;
- t['ninesuperior'] = 0x2079;
- t['nineteencircle'] = 0x2472;
- t['nineteenparen'] = 0x2486;
- t['nineteenperiod'] = 0x249A;
- t['ninethai'] = 0x0E59;
- t['nj'] = 0x01CC;
- t['njecyrillic'] = 0x045A;
- t['nkatakana'] = 0x30F3;
- t['nkatakanahalfwidth'] = 0xFF9D;
- t['nlegrightlong'] = 0x019E;
- t['nlinebelow'] = 0x1E49;
- t['nmonospace'] = 0xFF4E;
- t['nmsquare'] = 0x339A;
- t['nnabengali'] = 0x09A3;
- t['nnadeva'] = 0x0923;
- t['nnagujarati'] = 0x0AA3;
- t['nnagurmukhi'] = 0x0A23;
- t['nnnadeva'] = 0x0929;
- t['nohiragana'] = 0x306E;
- t['nokatakana'] = 0x30CE;
- t['nokatakanahalfwidth'] = 0xFF89;
- t['nonbreakingspace'] = 0x00A0;
- t['nonenthai'] = 0x0E13;
- t['nonuthai'] = 0x0E19;
- t['noonarabic'] = 0x0646;
- t['noonfinalarabic'] = 0xFEE6;
- t['noonghunnaarabic'] = 0x06BA;
- t['noonghunnafinalarabic'] = 0xFB9F;
- t['nooninitialarabic'] = 0xFEE7;
- t['noonjeeminitialarabic'] = 0xFCD2;
- t['noonjeemisolatedarabic'] = 0xFC4B;
- t['noonmedialarabic'] = 0xFEE8;
- t['noonmeeminitialarabic'] = 0xFCD5;
- t['noonmeemisolatedarabic'] = 0xFC4E;
- t['noonnoonfinalarabic'] = 0xFC8D;
- t['notcontains'] = 0x220C;
- t['notelement'] = 0x2209;
- t['notelementof'] = 0x2209;
- t['notequal'] = 0x2260;
- t['notgreater'] = 0x226F;
- t['notgreaternorequal'] = 0x2271;
- t['notgreaternorless'] = 0x2279;
- t['notidentical'] = 0x2262;
- t['notless'] = 0x226E;
- t['notlessnorequal'] = 0x2270;
- t['notparallel'] = 0x2226;
- t['notprecedes'] = 0x2280;
- t['notsubset'] = 0x2284;
- t['notsucceeds'] = 0x2281;
- t['notsuperset'] = 0x2285;
- t['nowarmenian'] = 0x0576;
- t['nparen'] = 0x24A9;
- t['nssquare'] = 0x33B1;
- t['nsuperior'] = 0x207F;
- t['ntilde'] = 0x00F1;
- t['nu'] = 0x03BD;
- t['nuhiragana'] = 0x306C;
- t['nukatakana'] = 0x30CC;
- t['nukatakanahalfwidth'] = 0xFF87;
- t['nuktabengali'] = 0x09BC;
- t['nuktadeva'] = 0x093C;
- t['nuktagujarati'] = 0x0ABC;
- t['nuktagurmukhi'] = 0x0A3C;
- t['numbersign'] = 0x0023;
- t['numbersignmonospace'] = 0xFF03;
- t['numbersignsmall'] = 0xFE5F;
- t['numeralsigngreek'] = 0x0374;
- t['numeralsignlowergreek'] = 0x0375;
- t['numero'] = 0x2116;
- t['nun'] = 0x05E0;
- t['nundagesh'] = 0xFB40;
- t['nundageshhebrew'] = 0xFB40;
- t['nunhebrew'] = 0x05E0;
- t['nvsquare'] = 0x33B5;
- t['nwsquare'] = 0x33BB;
- t['nyabengali'] = 0x099E;
- t['nyadeva'] = 0x091E;
- t['nyagujarati'] = 0x0A9E;
- t['nyagurmukhi'] = 0x0A1E;
- t['o'] = 0x006F;
- t['oacute'] = 0x00F3;
- t['oangthai'] = 0x0E2D;
- t['obarred'] = 0x0275;
- t['obarredcyrillic'] = 0x04E9;
- t['obarreddieresiscyrillic'] = 0x04EB;
- t['obengali'] = 0x0993;
- t['obopomofo'] = 0x311B;
- t['obreve'] = 0x014F;
- t['ocandradeva'] = 0x0911;
- t['ocandragujarati'] = 0x0A91;
- t['ocandravowelsigndeva'] = 0x0949;
- t['ocandravowelsigngujarati'] = 0x0AC9;
- t['ocaron'] = 0x01D2;
- t['ocircle'] = 0x24DE;
- t['ocircumflex'] = 0x00F4;
- t['ocircumflexacute'] = 0x1ED1;
- t['ocircumflexdotbelow'] = 0x1ED9;
- t['ocircumflexgrave'] = 0x1ED3;
- t['ocircumflexhookabove'] = 0x1ED5;
- t['ocircumflextilde'] = 0x1ED7;
- t['ocyrillic'] = 0x043E;
- t['odblacute'] = 0x0151;
- t['odblgrave'] = 0x020D;
- t['odeva'] = 0x0913;
- t['odieresis'] = 0x00F6;
- t['odieresiscyrillic'] = 0x04E7;
- t['odotbelow'] = 0x1ECD;
- t['oe'] = 0x0153;
- t['oekorean'] = 0x315A;
- t['ogonek'] = 0x02DB;
- t['ogonekcmb'] = 0x0328;
- t['ograve'] = 0x00F2;
- t['ogujarati'] = 0x0A93;
- t['oharmenian'] = 0x0585;
- t['ohiragana'] = 0x304A;
- t['ohookabove'] = 0x1ECF;
- t['ohorn'] = 0x01A1;
- t['ohornacute'] = 0x1EDB;
- t['ohorndotbelow'] = 0x1EE3;
- t['ohorngrave'] = 0x1EDD;
- t['ohornhookabove'] = 0x1EDF;
- t['ohorntilde'] = 0x1EE1;
- t['ohungarumlaut'] = 0x0151;
- t['oi'] = 0x01A3;
- t['oinvertedbreve'] = 0x020F;
- t['okatakana'] = 0x30AA;
- t['okatakanahalfwidth'] = 0xFF75;
- t['okorean'] = 0x3157;
- t['olehebrew'] = 0x05AB;
- t['omacron'] = 0x014D;
- t['omacronacute'] = 0x1E53;
- t['omacrongrave'] = 0x1E51;
- t['omdeva'] = 0x0950;
- t['omega'] = 0x03C9;
- t['omega1'] = 0x03D6;
- t['omegacyrillic'] = 0x0461;
- t['omegalatinclosed'] = 0x0277;
- t['omegaroundcyrillic'] = 0x047B;
- t['omegatitlocyrillic'] = 0x047D;
- t['omegatonos'] = 0x03CE;
- t['omgujarati'] = 0x0AD0;
- t['omicron'] = 0x03BF;
- t['omicrontonos'] = 0x03CC;
- t['omonospace'] = 0xFF4F;
- t['one'] = 0x0031;
- t['onearabic'] = 0x0661;
- t['onebengali'] = 0x09E7;
- t['onecircle'] = 0x2460;
- t['onecircleinversesansserif'] = 0x278A;
- t['onedeva'] = 0x0967;
- t['onedotenleader'] = 0x2024;
- t['oneeighth'] = 0x215B;
- t['onefitted'] = 0xF6DC;
- t['onegujarati'] = 0x0AE7;
- t['onegurmukhi'] = 0x0A67;
- t['onehackarabic'] = 0x0661;
- t['onehalf'] = 0x00BD;
- t['onehangzhou'] = 0x3021;
- t['oneideographicparen'] = 0x3220;
- t['oneinferior'] = 0x2081;
- t['onemonospace'] = 0xFF11;
- t['onenumeratorbengali'] = 0x09F4;
- t['oneoldstyle'] = 0xF731;
- t['oneparen'] = 0x2474;
- t['oneperiod'] = 0x2488;
- t['onepersian'] = 0x06F1;
- t['onequarter'] = 0x00BC;
- t['oneroman'] = 0x2170;
- t['onesuperior'] = 0x00B9;
- t['onethai'] = 0x0E51;
- t['onethird'] = 0x2153;
- t['oogonek'] = 0x01EB;
- t['oogonekmacron'] = 0x01ED;
- t['oogurmukhi'] = 0x0A13;
- t['oomatragurmukhi'] = 0x0A4B;
- t['oopen'] = 0x0254;
- t['oparen'] = 0x24AA;
- t['openbullet'] = 0x25E6;
- t['option'] = 0x2325;
- t['ordfeminine'] = 0x00AA;
- t['ordmasculine'] = 0x00BA;
- t['orthogonal'] = 0x221F;
- t['oshortdeva'] = 0x0912;
- t['oshortvowelsigndeva'] = 0x094A;
- t['oslash'] = 0x00F8;
- t['oslashacute'] = 0x01FF;
- t['osmallhiragana'] = 0x3049;
- t['osmallkatakana'] = 0x30A9;
- t['osmallkatakanahalfwidth'] = 0xFF6B;
- t['ostrokeacute'] = 0x01FF;
- t['osuperior'] = 0xF6F0;
- t['otcyrillic'] = 0x047F;
- t['otilde'] = 0x00F5;
- t['otildeacute'] = 0x1E4D;
- t['otildedieresis'] = 0x1E4F;
- t['oubopomofo'] = 0x3121;
- t['overline'] = 0x203E;
- t['overlinecenterline'] = 0xFE4A;
- t['overlinecmb'] = 0x0305;
- t['overlinedashed'] = 0xFE49;
- t['overlinedblwavy'] = 0xFE4C;
- t['overlinewavy'] = 0xFE4B;
- t['overscore'] = 0x00AF;
- t['ovowelsignbengali'] = 0x09CB;
- t['ovowelsigndeva'] = 0x094B;
- t['ovowelsigngujarati'] = 0x0ACB;
- t['p'] = 0x0070;
- t['paampssquare'] = 0x3380;
- t['paasentosquare'] = 0x332B;
- t['pabengali'] = 0x09AA;
- t['pacute'] = 0x1E55;
- t['padeva'] = 0x092A;
- t['pagedown'] = 0x21DF;
- t['pageup'] = 0x21DE;
- t['pagujarati'] = 0x0AAA;
- t['pagurmukhi'] = 0x0A2A;
- t['pahiragana'] = 0x3071;
- t['paiyannoithai'] = 0x0E2F;
- t['pakatakana'] = 0x30D1;
- t['palatalizationcyrilliccmb'] = 0x0484;
- t['palochkacyrillic'] = 0x04C0;
- t['pansioskorean'] = 0x317F;
- t['paragraph'] = 0x00B6;
- t['parallel'] = 0x2225;
- t['parenleft'] = 0x0028;
- t['parenleftaltonearabic'] = 0xFD3E;
- t['parenleftbt'] = 0xF8ED;
- t['parenleftex'] = 0xF8EC;
- t['parenleftinferior'] = 0x208D;
- t['parenleftmonospace'] = 0xFF08;
- t['parenleftsmall'] = 0xFE59;
- t['parenleftsuperior'] = 0x207D;
- t['parenlefttp'] = 0xF8EB;
- t['parenleftvertical'] = 0xFE35;
- t['parenright'] = 0x0029;
- t['parenrightaltonearabic'] = 0xFD3F;
- t['parenrightbt'] = 0xF8F8;
- t['parenrightex'] = 0xF8F7;
- t['parenrightinferior'] = 0x208E;
- t['parenrightmonospace'] = 0xFF09;
- t['parenrightsmall'] = 0xFE5A;
- t['parenrightsuperior'] = 0x207E;
- t['parenrighttp'] = 0xF8F6;
- t['parenrightvertical'] = 0xFE36;
- t['partialdiff'] = 0x2202;
- t['paseqhebrew'] = 0x05C0;
- t['pashtahebrew'] = 0x0599;
- t['pasquare'] = 0x33A9;
- t['patah'] = 0x05B7;
- t['patah11'] = 0x05B7;
- t['patah1d'] = 0x05B7;
- t['patah2a'] = 0x05B7;
- t['patahhebrew'] = 0x05B7;
- t['patahnarrowhebrew'] = 0x05B7;
- t['patahquarterhebrew'] = 0x05B7;
- t['patahwidehebrew'] = 0x05B7;
- t['pazerhebrew'] = 0x05A1;
- t['pbopomofo'] = 0x3106;
- t['pcircle'] = 0x24DF;
- t['pdotaccent'] = 0x1E57;
- t['pe'] = 0x05E4;
- t['pecyrillic'] = 0x043F;
- t['pedagesh'] = 0xFB44;
- t['pedageshhebrew'] = 0xFB44;
- t['peezisquare'] = 0x333B;
- t['pefinaldageshhebrew'] = 0xFB43;
- t['peharabic'] = 0x067E;
- t['peharmenian'] = 0x057A;
- t['pehebrew'] = 0x05E4;
- t['pehfinalarabic'] = 0xFB57;
- t['pehinitialarabic'] = 0xFB58;
- t['pehiragana'] = 0x307A;
- t['pehmedialarabic'] = 0xFB59;
- t['pekatakana'] = 0x30DA;
- t['pemiddlehookcyrillic'] = 0x04A7;
- t['perafehebrew'] = 0xFB4E;
- t['percent'] = 0x0025;
- t['percentarabic'] = 0x066A;
- t['percentmonospace'] = 0xFF05;
- t['percentsmall'] = 0xFE6A;
- t['period'] = 0x002E;
- t['periodarmenian'] = 0x0589;
- t['periodcentered'] = 0x00B7;
- t['periodhalfwidth'] = 0xFF61;
- t['periodinferior'] = 0xF6E7;
- t['periodmonospace'] = 0xFF0E;
- t['periodsmall'] = 0xFE52;
- t['periodsuperior'] = 0xF6E8;
- t['perispomenigreekcmb'] = 0x0342;
- t['perpendicular'] = 0x22A5;
- t['perthousand'] = 0x2030;
- t['peseta'] = 0x20A7;
- t['pfsquare'] = 0x338A;
- t['phabengali'] = 0x09AB;
- t['phadeva'] = 0x092B;
- t['phagujarati'] = 0x0AAB;
- t['phagurmukhi'] = 0x0A2B;
- t['phi'] = 0x03C6;
- t['phi1'] = 0x03D5;
- t['phieuphacirclekorean'] = 0x327A;
- t['phieuphaparenkorean'] = 0x321A;
- t['phieuphcirclekorean'] = 0x326C;
- t['phieuphkorean'] = 0x314D;
- t['phieuphparenkorean'] = 0x320C;
- t['philatin'] = 0x0278;
- t['phinthuthai'] = 0x0E3A;
- t['phisymbolgreek'] = 0x03D5;
- t['phook'] = 0x01A5;
- t['phophanthai'] = 0x0E1E;
- t['phophungthai'] = 0x0E1C;
- t['phosamphaothai'] = 0x0E20;
- t['pi'] = 0x03C0;
- t['pieupacirclekorean'] = 0x3273;
- t['pieupaparenkorean'] = 0x3213;
- t['pieupcieuckorean'] = 0x3176;
- t['pieupcirclekorean'] = 0x3265;
- t['pieupkiyeokkorean'] = 0x3172;
- t['pieupkorean'] = 0x3142;
- t['pieupparenkorean'] = 0x3205;
- t['pieupsioskiyeokkorean'] = 0x3174;
- t['pieupsioskorean'] = 0x3144;
- t['pieupsiostikeutkorean'] = 0x3175;
- t['pieupthieuthkorean'] = 0x3177;
- t['pieuptikeutkorean'] = 0x3173;
- t['pihiragana'] = 0x3074;
- t['pikatakana'] = 0x30D4;
- t['pisymbolgreek'] = 0x03D6;
- t['piwrarmenian'] = 0x0583;
- t['plus'] = 0x002B;
- t['plusbelowcmb'] = 0x031F;
- t['pluscircle'] = 0x2295;
- t['plusminus'] = 0x00B1;
- t['plusmod'] = 0x02D6;
- t['plusmonospace'] = 0xFF0B;
- t['plussmall'] = 0xFE62;
- t['plussuperior'] = 0x207A;
- t['pmonospace'] = 0xFF50;
- t['pmsquare'] = 0x33D8;
- t['pohiragana'] = 0x307D;
- t['pointingindexdownwhite'] = 0x261F;
- t['pointingindexleftwhite'] = 0x261C;
- t['pointingindexrightwhite'] = 0x261E;
- t['pointingindexupwhite'] = 0x261D;
- t['pokatakana'] = 0x30DD;
- t['poplathai'] = 0x0E1B;
- t['postalmark'] = 0x3012;
- t['postalmarkface'] = 0x3020;
- t['pparen'] = 0x24AB;
- t['precedes'] = 0x227A;
- t['prescription'] = 0x211E;
- t['primemod'] = 0x02B9;
- t['primereversed'] = 0x2035;
- t['product'] = 0x220F;
- t['projective'] = 0x2305;
- t['prolongedkana'] = 0x30FC;
- t['propellor'] = 0x2318;
- t['propersubset'] = 0x2282;
- t['propersuperset'] = 0x2283;
- t['proportion'] = 0x2237;
- t['proportional'] = 0x221D;
- t['psi'] = 0x03C8;
- t['psicyrillic'] = 0x0471;
- t['psilipneumatacyrilliccmb'] = 0x0486;
- t['pssquare'] = 0x33B0;
- t['puhiragana'] = 0x3077;
- t['pukatakana'] = 0x30D7;
- t['pvsquare'] = 0x33B4;
- t['pwsquare'] = 0x33BA;
- t['q'] = 0x0071;
- t['qadeva'] = 0x0958;
- t['qadmahebrew'] = 0x05A8;
- t['qafarabic'] = 0x0642;
- t['qaffinalarabic'] = 0xFED6;
- t['qafinitialarabic'] = 0xFED7;
- t['qafmedialarabic'] = 0xFED8;
- t['qamats'] = 0x05B8;
- t['qamats10'] = 0x05B8;
- t['qamats1a'] = 0x05B8;
- t['qamats1c'] = 0x05B8;
- t['qamats27'] = 0x05B8;
- t['qamats29'] = 0x05B8;
- t['qamats33'] = 0x05B8;
- t['qamatsde'] = 0x05B8;
- t['qamatshebrew'] = 0x05B8;
- t['qamatsnarrowhebrew'] = 0x05B8;
- t['qamatsqatanhebrew'] = 0x05B8;
- t['qamatsqatannarrowhebrew'] = 0x05B8;
- t['qamatsqatanquarterhebrew'] = 0x05B8;
- t['qamatsqatanwidehebrew'] = 0x05B8;
- t['qamatsquarterhebrew'] = 0x05B8;
- t['qamatswidehebrew'] = 0x05B8;
- t['qarneyparahebrew'] = 0x059F;
- t['qbopomofo'] = 0x3111;
- t['qcircle'] = 0x24E0;
- t['qhook'] = 0x02A0;
- t['qmonospace'] = 0xFF51;
- t['qof'] = 0x05E7;
- t['qofdagesh'] = 0xFB47;
- t['qofdageshhebrew'] = 0xFB47;
- t['qofhebrew'] = 0x05E7;
- t['qparen'] = 0x24AC;
- t['quarternote'] = 0x2669;
- t['qubuts'] = 0x05BB;
- t['qubuts18'] = 0x05BB;
- t['qubuts25'] = 0x05BB;
- t['qubuts31'] = 0x05BB;
- t['qubutshebrew'] = 0x05BB;
- t['qubutsnarrowhebrew'] = 0x05BB;
- t['qubutsquarterhebrew'] = 0x05BB;
- t['qubutswidehebrew'] = 0x05BB;
- t['question'] = 0x003F;
- t['questionarabic'] = 0x061F;
- t['questionarmenian'] = 0x055E;
- t['questiondown'] = 0x00BF;
- t['questiondownsmall'] = 0xF7BF;
- t['questiongreek'] = 0x037E;
- t['questionmonospace'] = 0xFF1F;
- t['questionsmall'] = 0xF73F;
- t['quotedbl'] = 0x0022;
- t['quotedblbase'] = 0x201E;
- t['quotedblleft'] = 0x201C;
- t['quotedblmonospace'] = 0xFF02;
- t['quotedblprime'] = 0x301E;
- t['quotedblprimereversed'] = 0x301D;
- t['quotedblright'] = 0x201D;
- t['quoteleft'] = 0x2018;
- t['quoteleftreversed'] = 0x201B;
- t['quotereversed'] = 0x201B;
- t['quoteright'] = 0x2019;
- t['quoterightn'] = 0x0149;
- t['quotesinglbase'] = 0x201A;
- t['quotesingle'] = 0x0027;
- t['quotesinglemonospace'] = 0xFF07;
- t['r'] = 0x0072;
- t['raarmenian'] = 0x057C;
- t['rabengali'] = 0x09B0;
- t['racute'] = 0x0155;
- t['radeva'] = 0x0930;
- t['radical'] = 0x221A;
- t['radicalex'] = 0xF8E5;
- t['radoverssquare'] = 0x33AE;
- t['radoverssquaredsquare'] = 0x33AF;
- t['radsquare'] = 0x33AD;
- t['rafe'] = 0x05BF;
- t['rafehebrew'] = 0x05BF;
- t['ragujarati'] = 0x0AB0;
- t['ragurmukhi'] = 0x0A30;
- t['rahiragana'] = 0x3089;
- t['rakatakana'] = 0x30E9;
- t['rakatakanahalfwidth'] = 0xFF97;
- t['ralowerdiagonalbengali'] = 0x09F1;
- t['ramiddlediagonalbengali'] = 0x09F0;
- t['ramshorn'] = 0x0264;
- t['ratio'] = 0x2236;
- t['rbopomofo'] = 0x3116;
- t['rcaron'] = 0x0159;
- t['rcedilla'] = 0x0157;
- t['rcircle'] = 0x24E1;
- t['rcommaaccent'] = 0x0157;
- t['rdblgrave'] = 0x0211;
- t['rdotaccent'] = 0x1E59;
- t['rdotbelow'] = 0x1E5B;
- t['rdotbelowmacron'] = 0x1E5D;
- t['referencemark'] = 0x203B;
- t['reflexsubset'] = 0x2286;
- t['reflexsuperset'] = 0x2287;
- t['registered'] = 0x00AE;
- t['registersans'] = 0xF8E8;
- t['registerserif'] = 0xF6DA;
- t['reharabic'] = 0x0631;
- t['reharmenian'] = 0x0580;
- t['rehfinalarabic'] = 0xFEAE;
- t['rehiragana'] = 0x308C;
- t['rekatakana'] = 0x30EC;
- t['rekatakanahalfwidth'] = 0xFF9A;
- t['resh'] = 0x05E8;
- t['reshdageshhebrew'] = 0xFB48;
- t['reshhebrew'] = 0x05E8;
- t['reversedtilde'] = 0x223D;
- t['reviahebrew'] = 0x0597;
- t['reviamugrashhebrew'] = 0x0597;
- t['revlogicalnot'] = 0x2310;
- t['rfishhook'] = 0x027E;
- t['rfishhookreversed'] = 0x027F;
- t['rhabengali'] = 0x09DD;
- t['rhadeva'] = 0x095D;
- t['rho'] = 0x03C1;
- t['rhook'] = 0x027D;
- t['rhookturned'] = 0x027B;
- t['rhookturnedsuperior'] = 0x02B5;
- t['rhosymbolgreek'] = 0x03F1;
- t['rhotichookmod'] = 0x02DE;
- t['rieulacirclekorean'] = 0x3271;
- t['rieulaparenkorean'] = 0x3211;
- t['rieulcirclekorean'] = 0x3263;
- t['rieulhieuhkorean'] = 0x3140;
- t['rieulkiyeokkorean'] = 0x313A;
- t['rieulkiyeoksioskorean'] = 0x3169;
- t['rieulkorean'] = 0x3139;
- t['rieulmieumkorean'] = 0x313B;
- t['rieulpansioskorean'] = 0x316C;
- t['rieulparenkorean'] = 0x3203;
- t['rieulphieuphkorean'] = 0x313F;
- t['rieulpieupkorean'] = 0x313C;
- t['rieulpieupsioskorean'] = 0x316B;
- t['rieulsioskorean'] = 0x313D;
- t['rieulthieuthkorean'] = 0x313E;
- t['rieultikeutkorean'] = 0x316A;
- t['rieulyeorinhieuhkorean'] = 0x316D;
- t['rightangle'] = 0x221F;
- t['righttackbelowcmb'] = 0x0319;
- t['righttriangle'] = 0x22BF;
- t['rihiragana'] = 0x308A;
- t['rikatakana'] = 0x30EA;
- t['rikatakanahalfwidth'] = 0xFF98;
- t['ring'] = 0x02DA;
- t['ringbelowcmb'] = 0x0325;
- t['ringcmb'] = 0x030A;
- t['ringhalfleft'] = 0x02BF;
- t['ringhalfleftarmenian'] = 0x0559;
- t['ringhalfleftbelowcmb'] = 0x031C;
- t['ringhalfleftcentered'] = 0x02D3;
- t['ringhalfright'] = 0x02BE;
- t['ringhalfrightbelowcmb'] = 0x0339;
- t['ringhalfrightcentered'] = 0x02D2;
- t['rinvertedbreve'] = 0x0213;
- t['rittorusquare'] = 0x3351;
- t['rlinebelow'] = 0x1E5F;
- t['rlongleg'] = 0x027C;
- t['rlonglegturned'] = 0x027A;
- t['rmonospace'] = 0xFF52;
- t['rohiragana'] = 0x308D;
- t['rokatakana'] = 0x30ED;
- t['rokatakanahalfwidth'] = 0xFF9B;
- t['roruathai'] = 0x0E23;
- t['rparen'] = 0x24AD;
- t['rrabengali'] = 0x09DC;
- t['rradeva'] = 0x0931;
- t['rragurmukhi'] = 0x0A5C;
- t['rreharabic'] = 0x0691;
- t['rrehfinalarabic'] = 0xFB8D;
- t['rrvocalicbengali'] = 0x09E0;
- t['rrvocalicdeva'] = 0x0960;
- t['rrvocalicgujarati'] = 0x0AE0;
- t['rrvocalicvowelsignbengali'] = 0x09C4;
- t['rrvocalicvowelsigndeva'] = 0x0944;
- t['rrvocalicvowelsigngujarati'] = 0x0AC4;
- t['rsuperior'] = 0xF6F1;
- t['rtblock'] = 0x2590;
- t['rturned'] = 0x0279;
- t['rturnedsuperior'] = 0x02B4;
- t['ruhiragana'] = 0x308B;
- t['rukatakana'] = 0x30EB;
- t['rukatakanahalfwidth'] = 0xFF99;
- t['rupeemarkbengali'] = 0x09F2;
- t['rupeesignbengali'] = 0x09F3;
- t['rupiah'] = 0xF6DD;
- t['ruthai'] = 0x0E24;
- t['rvocalicbengali'] = 0x098B;
- t['rvocalicdeva'] = 0x090B;
- t['rvocalicgujarati'] = 0x0A8B;
- t['rvocalicvowelsignbengali'] = 0x09C3;
- t['rvocalicvowelsigndeva'] = 0x0943;
- t['rvocalicvowelsigngujarati'] = 0x0AC3;
- t['s'] = 0x0073;
- t['sabengali'] = 0x09B8;
- t['sacute'] = 0x015B;
- t['sacutedotaccent'] = 0x1E65;
- t['sadarabic'] = 0x0635;
- t['sadeva'] = 0x0938;
- t['sadfinalarabic'] = 0xFEBA;
- t['sadinitialarabic'] = 0xFEBB;
- t['sadmedialarabic'] = 0xFEBC;
- t['sagujarati'] = 0x0AB8;
- t['sagurmukhi'] = 0x0A38;
- t['sahiragana'] = 0x3055;
- t['sakatakana'] = 0x30B5;
- t['sakatakanahalfwidth'] = 0xFF7B;
- t['sallallahoualayhewasallamarabic'] = 0xFDFA;
- t['samekh'] = 0x05E1;
- t['samekhdagesh'] = 0xFB41;
- t['samekhdageshhebrew'] = 0xFB41;
- t['samekhhebrew'] = 0x05E1;
- t['saraaathai'] = 0x0E32;
- t['saraaethai'] = 0x0E41;
- t['saraaimaimalaithai'] = 0x0E44;
- t['saraaimaimuanthai'] = 0x0E43;
- t['saraamthai'] = 0x0E33;
- t['saraathai'] = 0x0E30;
- t['saraethai'] = 0x0E40;
- t['saraiileftthai'] = 0xF886;
- t['saraiithai'] = 0x0E35;
- t['saraileftthai'] = 0xF885;
- t['saraithai'] = 0x0E34;
- t['saraothai'] = 0x0E42;
- t['saraueeleftthai'] = 0xF888;
- t['saraueethai'] = 0x0E37;
- t['saraueleftthai'] = 0xF887;
- t['sarauethai'] = 0x0E36;
- t['sarauthai'] = 0x0E38;
- t['sarauuthai'] = 0x0E39;
- t['sbopomofo'] = 0x3119;
- t['scaron'] = 0x0161;
- t['scarondotaccent'] = 0x1E67;
- t['scedilla'] = 0x015F;
- t['schwa'] = 0x0259;
- t['schwacyrillic'] = 0x04D9;
- t['schwadieresiscyrillic'] = 0x04DB;
- t['schwahook'] = 0x025A;
- t['scircle'] = 0x24E2;
- t['scircumflex'] = 0x015D;
- t['scommaaccent'] = 0x0219;
- t['sdotaccent'] = 0x1E61;
- t['sdotbelow'] = 0x1E63;
- t['sdotbelowdotaccent'] = 0x1E69;
- t['seagullbelowcmb'] = 0x033C;
- t['second'] = 0x2033;
- t['secondtonechinese'] = 0x02CA;
- t['section'] = 0x00A7;
- t['seenarabic'] = 0x0633;
- t['seenfinalarabic'] = 0xFEB2;
- t['seeninitialarabic'] = 0xFEB3;
- t['seenmedialarabic'] = 0xFEB4;
- t['segol'] = 0x05B6;
- t['segol13'] = 0x05B6;
- t['segol1f'] = 0x05B6;
- t['segol2c'] = 0x05B6;
- t['segolhebrew'] = 0x05B6;
- t['segolnarrowhebrew'] = 0x05B6;
- t['segolquarterhebrew'] = 0x05B6;
- t['segoltahebrew'] = 0x0592;
- t['segolwidehebrew'] = 0x05B6;
- t['seharmenian'] = 0x057D;
- t['sehiragana'] = 0x305B;
- t['sekatakana'] = 0x30BB;
- t['sekatakanahalfwidth'] = 0xFF7E;
- t['semicolon'] = 0x003B;
- t['semicolonarabic'] = 0x061B;
- t['semicolonmonospace'] = 0xFF1B;
- t['semicolonsmall'] = 0xFE54;
- t['semivoicedmarkkana'] = 0x309C;
- t['semivoicedmarkkanahalfwidth'] = 0xFF9F;
- t['sentisquare'] = 0x3322;
- t['sentosquare'] = 0x3323;
- t['seven'] = 0x0037;
- t['sevenarabic'] = 0x0667;
- t['sevenbengali'] = 0x09ED;
- t['sevencircle'] = 0x2466;
- t['sevencircleinversesansserif'] = 0x2790;
- t['sevendeva'] = 0x096D;
- t['seveneighths'] = 0x215E;
- t['sevengujarati'] = 0x0AED;
- t['sevengurmukhi'] = 0x0A6D;
- t['sevenhackarabic'] = 0x0667;
- t['sevenhangzhou'] = 0x3027;
- t['sevenideographicparen'] = 0x3226;
- t['seveninferior'] = 0x2087;
- t['sevenmonospace'] = 0xFF17;
- t['sevenoldstyle'] = 0xF737;
- t['sevenparen'] = 0x247A;
- t['sevenperiod'] = 0x248E;
- t['sevenpersian'] = 0x06F7;
- t['sevenroman'] = 0x2176;
- t['sevensuperior'] = 0x2077;
- t['seventeencircle'] = 0x2470;
- t['seventeenparen'] = 0x2484;
- t['seventeenperiod'] = 0x2498;
- t['seventhai'] = 0x0E57;
- t['sfthyphen'] = 0x00AD;
- t['shaarmenian'] = 0x0577;
- t['shabengali'] = 0x09B6;
- t['shacyrillic'] = 0x0448;
- t['shaddaarabic'] = 0x0651;
- t['shaddadammaarabic'] = 0xFC61;
- t['shaddadammatanarabic'] = 0xFC5E;
- t['shaddafathaarabic'] = 0xFC60;
- t['shaddakasraarabic'] = 0xFC62;
- t['shaddakasratanarabic'] = 0xFC5F;
- t['shade'] = 0x2592;
- t['shadedark'] = 0x2593;
- t['shadelight'] = 0x2591;
- t['shademedium'] = 0x2592;
- t['shadeva'] = 0x0936;
- t['shagujarati'] = 0x0AB6;
- t['shagurmukhi'] = 0x0A36;
- t['shalshelethebrew'] = 0x0593;
- t['shbopomofo'] = 0x3115;
- t['shchacyrillic'] = 0x0449;
- t['sheenarabic'] = 0x0634;
- t['sheenfinalarabic'] = 0xFEB6;
- t['sheeninitialarabic'] = 0xFEB7;
- t['sheenmedialarabic'] = 0xFEB8;
- t['sheicoptic'] = 0x03E3;
- t['sheqel'] = 0x20AA;
- t['sheqelhebrew'] = 0x20AA;
- t['sheva'] = 0x05B0;
- t['sheva115'] = 0x05B0;
- t['sheva15'] = 0x05B0;
- t['sheva22'] = 0x05B0;
- t['sheva2e'] = 0x05B0;
- t['shevahebrew'] = 0x05B0;
- t['shevanarrowhebrew'] = 0x05B0;
- t['shevaquarterhebrew'] = 0x05B0;
- t['shevawidehebrew'] = 0x05B0;
- t['shhacyrillic'] = 0x04BB;
- t['shimacoptic'] = 0x03ED;
- t['shin'] = 0x05E9;
- t['shindagesh'] = 0xFB49;
- t['shindageshhebrew'] = 0xFB49;
- t['shindageshshindot'] = 0xFB2C;
- t['shindageshshindothebrew'] = 0xFB2C;
- t['shindageshsindot'] = 0xFB2D;
- t['shindageshsindothebrew'] = 0xFB2D;
- t['shindothebrew'] = 0x05C1;
- t['shinhebrew'] = 0x05E9;
- t['shinshindot'] = 0xFB2A;
- t['shinshindothebrew'] = 0xFB2A;
- t['shinsindot'] = 0xFB2B;
- t['shinsindothebrew'] = 0xFB2B;
- t['shook'] = 0x0282;
- t['sigma'] = 0x03C3;
- t['sigma1'] = 0x03C2;
- t['sigmafinal'] = 0x03C2;
- t['sigmalunatesymbolgreek'] = 0x03F2;
- t['sihiragana'] = 0x3057;
- t['sikatakana'] = 0x30B7;
- t['sikatakanahalfwidth'] = 0xFF7C;
- t['siluqhebrew'] = 0x05BD;
- t['siluqlefthebrew'] = 0x05BD;
- t['similar'] = 0x223C;
- t['sindothebrew'] = 0x05C2;
- t['siosacirclekorean'] = 0x3274;
- t['siosaparenkorean'] = 0x3214;
- t['sioscieuckorean'] = 0x317E;
- t['sioscirclekorean'] = 0x3266;
- t['sioskiyeokkorean'] = 0x317A;
- t['sioskorean'] = 0x3145;
- t['siosnieunkorean'] = 0x317B;
- t['siosparenkorean'] = 0x3206;
- t['siospieupkorean'] = 0x317D;
- t['siostikeutkorean'] = 0x317C;
- t['six'] = 0x0036;
- t['sixarabic'] = 0x0666;
- t['sixbengali'] = 0x09EC;
- t['sixcircle'] = 0x2465;
- t['sixcircleinversesansserif'] = 0x278F;
- t['sixdeva'] = 0x096C;
- t['sixgujarati'] = 0x0AEC;
- t['sixgurmukhi'] = 0x0A6C;
- t['sixhackarabic'] = 0x0666;
- t['sixhangzhou'] = 0x3026;
- t['sixideographicparen'] = 0x3225;
- t['sixinferior'] = 0x2086;
- t['sixmonospace'] = 0xFF16;
- t['sixoldstyle'] = 0xF736;
- t['sixparen'] = 0x2479;
- t['sixperiod'] = 0x248D;
- t['sixpersian'] = 0x06F6;
- t['sixroman'] = 0x2175;
- t['sixsuperior'] = 0x2076;
- t['sixteencircle'] = 0x246F;
- t['sixteencurrencydenominatorbengali'] = 0x09F9;
- t['sixteenparen'] = 0x2483;
- t['sixteenperiod'] = 0x2497;
- t['sixthai'] = 0x0E56;
- t['slash'] = 0x002F;
- t['slashmonospace'] = 0xFF0F;
- t['slong'] = 0x017F;
- t['slongdotaccent'] = 0x1E9B;
- t['smileface'] = 0x263A;
- t['smonospace'] = 0xFF53;
- t['sofpasuqhebrew'] = 0x05C3;
- t['softhyphen'] = 0x00AD;
- t['softsigncyrillic'] = 0x044C;
- t['sohiragana'] = 0x305D;
- t['sokatakana'] = 0x30BD;
- t['sokatakanahalfwidth'] = 0xFF7F;
- t['soliduslongoverlaycmb'] = 0x0338;
- t['solidusshortoverlaycmb'] = 0x0337;
- t['sorusithai'] = 0x0E29;
- t['sosalathai'] = 0x0E28;
- t['sosothai'] = 0x0E0B;
- t['sosuathai'] = 0x0E2A;
- t['space'] = 0x0020;
- t['spacehackarabic'] = 0x0020;
- t['spade'] = 0x2660;
- t['spadesuitblack'] = 0x2660;
- t['spadesuitwhite'] = 0x2664;
- t['sparen'] = 0x24AE;
- t['squarebelowcmb'] = 0x033B;
- t['squarecc'] = 0x33C4;
- t['squarecm'] = 0x339D;
- t['squarediagonalcrosshatchfill'] = 0x25A9;
- t['squarehorizontalfill'] = 0x25A4;
- t['squarekg'] = 0x338F;
- t['squarekm'] = 0x339E;
- t['squarekmcapital'] = 0x33CE;
- t['squareln'] = 0x33D1;
- t['squarelog'] = 0x33D2;
- t['squaremg'] = 0x338E;
- t['squaremil'] = 0x33D5;
- t['squaremm'] = 0x339C;
- t['squaremsquared'] = 0x33A1;
- t['squareorthogonalcrosshatchfill'] = 0x25A6;
- t['squareupperlefttolowerrightfill'] = 0x25A7;
- t['squareupperrighttolowerleftfill'] = 0x25A8;
- t['squareverticalfill'] = 0x25A5;
- t['squarewhitewithsmallblack'] = 0x25A3;
- t['srsquare'] = 0x33DB;
- t['ssabengali'] = 0x09B7;
- t['ssadeva'] = 0x0937;
- t['ssagujarati'] = 0x0AB7;
- t['ssangcieuckorean'] = 0x3149;
- t['ssanghieuhkorean'] = 0x3185;
- t['ssangieungkorean'] = 0x3180;
- t['ssangkiyeokkorean'] = 0x3132;
- t['ssangnieunkorean'] = 0x3165;
- t['ssangpieupkorean'] = 0x3143;
- t['ssangsioskorean'] = 0x3146;
- t['ssangtikeutkorean'] = 0x3138;
- t['ssuperior'] = 0xF6F2;
- t['sterling'] = 0x00A3;
- t['sterlingmonospace'] = 0xFFE1;
- t['strokelongoverlaycmb'] = 0x0336;
- t['strokeshortoverlaycmb'] = 0x0335;
- t['subset'] = 0x2282;
- t['subsetnotequal'] = 0x228A;
- t['subsetorequal'] = 0x2286;
- t['succeeds'] = 0x227B;
- t['suchthat'] = 0x220B;
- t['suhiragana'] = 0x3059;
- t['sukatakana'] = 0x30B9;
- t['sukatakanahalfwidth'] = 0xFF7D;
- t['sukunarabic'] = 0x0652;
- t['summation'] = 0x2211;
- t['sun'] = 0x263C;
- t['superset'] = 0x2283;
- t['supersetnotequal'] = 0x228B;
- t['supersetorequal'] = 0x2287;
- t['svsquare'] = 0x33DC;
- t['syouwaerasquare'] = 0x337C;
- t['t'] = 0x0074;
- t['tabengali'] = 0x09A4;
- t['tackdown'] = 0x22A4;
- t['tackleft'] = 0x22A3;
- t['tadeva'] = 0x0924;
- t['tagujarati'] = 0x0AA4;
- t['tagurmukhi'] = 0x0A24;
- t['taharabic'] = 0x0637;
- t['tahfinalarabic'] = 0xFEC2;
- t['tahinitialarabic'] = 0xFEC3;
- t['tahiragana'] = 0x305F;
- t['tahmedialarabic'] = 0xFEC4;
- t['taisyouerasquare'] = 0x337D;
- t['takatakana'] = 0x30BF;
- t['takatakanahalfwidth'] = 0xFF80;
- t['tatweelarabic'] = 0x0640;
- t['tau'] = 0x03C4;
- t['tav'] = 0x05EA;
- t['tavdages'] = 0xFB4A;
- t['tavdagesh'] = 0xFB4A;
- t['tavdageshhebrew'] = 0xFB4A;
- t['tavhebrew'] = 0x05EA;
- t['tbar'] = 0x0167;
- t['tbopomofo'] = 0x310A;
- t['tcaron'] = 0x0165;
- t['tccurl'] = 0x02A8;
- t['tcedilla'] = 0x0163;
- t['tcheharabic'] = 0x0686;
- t['tchehfinalarabic'] = 0xFB7B;
- t['tchehinitialarabic'] = 0xFB7C;
- t['tchehmedialarabic'] = 0xFB7D;
- t['tcircle'] = 0x24E3;
- t['tcircumflexbelow'] = 0x1E71;
- t['tcommaaccent'] = 0x0163;
- t['tdieresis'] = 0x1E97;
- t['tdotaccent'] = 0x1E6B;
- t['tdotbelow'] = 0x1E6D;
- t['tecyrillic'] = 0x0442;
- t['tedescendercyrillic'] = 0x04AD;
- t['teharabic'] = 0x062A;
- t['tehfinalarabic'] = 0xFE96;
- t['tehhahinitialarabic'] = 0xFCA2;
- t['tehhahisolatedarabic'] = 0xFC0C;
- t['tehinitialarabic'] = 0xFE97;
- t['tehiragana'] = 0x3066;
- t['tehjeeminitialarabic'] = 0xFCA1;
- t['tehjeemisolatedarabic'] = 0xFC0B;
- t['tehmarbutaarabic'] = 0x0629;
- t['tehmarbutafinalarabic'] = 0xFE94;
- t['tehmedialarabic'] = 0xFE98;
- t['tehmeeminitialarabic'] = 0xFCA4;
- t['tehmeemisolatedarabic'] = 0xFC0E;
- t['tehnoonfinalarabic'] = 0xFC73;
- t['tekatakana'] = 0x30C6;
- t['tekatakanahalfwidth'] = 0xFF83;
- t['telephone'] = 0x2121;
- t['telephoneblack'] = 0x260E;
- t['telishagedolahebrew'] = 0x05A0;
- t['telishaqetanahebrew'] = 0x05A9;
- t['tencircle'] = 0x2469;
- t['tenideographicparen'] = 0x3229;
- t['tenparen'] = 0x247D;
- t['tenperiod'] = 0x2491;
- t['tenroman'] = 0x2179;
- t['tesh'] = 0x02A7;
- t['tet'] = 0x05D8;
- t['tetdagesh'] = 0xFB38;
- t['tetdageshhebrew'] = 0xFB38;
- t['tethebrew'] = 0x05D8;
- t['tetsecyrillic'] = 0x04B5;
- t['tevirhebrew'] = 0x059B;
- t['tevirlefthebrew'] = 0x059B;
- t['thabengali'] = 0x09A5;
- t['thadeva'] = 0x0925;
- t['thagujarati'] = 0x0AA5;
- t['thagurmukhi'] = 0x0A25;
- t['thalarabic'] = 0x0630;
- t['thalfinalarabic'] = 0xFEAC;
- t['thanthakhatlowleftthai'] = 0xF898;
- t['thanthakhatlowrightthai'] = 0xF897;
- t['thanthakhatthai'] = 0x0E4C;
- t['thanthakhatupperleftthai'] = 0xF896;
- t['theharabic'] = 0x062B;
- t['thehfinalarabic'] = 0xFE9A;
- t['thehinitialarabic'] = 0xFE9B;
- t['thehmedialarabic'] = 0xFE9C;
- t['thereexists'] = 0x2203;
- t['therefore'] = 0x2234;
- t['theta'] = 0x03B8;
- t['theta1'] = 0x03D1;
- t['thetasymbolgreek'] = 0x03D1;
- t['thieuthacirclekorean'] = 0x3279;
- t['thieuthaparenkorean'] = 0x3219;
- t['thieuthcirclekorean'] = 0x326B;
- t['thieuthkorean'] = 0x314C;
- t['thieuthparenkorean'] = 0x320B;
- t['thirteencircle'] = 0x246C;
- t['thirteenparen'] = 0x2480;
- t['thirteenperiod'] = 0x2494;
- t['thonangmonthothai'] = 0x0E11;
- t['thook'] = 0x01AD;
- t['thophuthaothai'] = 0x0E12;
- t['thorn'] = 0x00FE;
- t['thothahanthai'] = 0x0E17;
- t['thothanthai'] = 0x0E10;
- t['thothongthai'] = 0x0E18;
- t['thothungthai'] = 0x0E16;
- t['thousandcyrillic'] = 0x0482;
- t['thousandsseparatorarabic'] = 0x066C;
- t['thousandsseparatorpersian'] = 0x066C;
- t['three'] = 0x0033;
- t['threearabic'] = 0x0663;
- t['threebengali'] = 0x09E9;
- t['threecircle'] = 0x2462;
- t['threecircleinversesansserif'] = 0x278C;
- t['threedeva'] = 0x0969;
- t['threeeighths'] = 0x215C;
- t['threegujarati'] = 0x0AE9;
- t['threegurmukhi'] = 0x0A69;
- t['threehackarabic'] = 0x0663;
- t['threehangzhou'] = 0x3023;
- t['threeideographicparen'] = 0x3222;
- t['threeinferior'] = 0x2083;
- t['threemonospace'] = 0xFF13;
- t['threenumeratorbengali'] = 0x09F6;
- t['threeoldstyle'] = 0xF733;
- t['threeparen'] = 0x2476;
- t['threeperiod'] = 0x248A;
- t['threepersian'] = 0x06F3;
- t['threequarters'] = 0x00BE;
- t['threequartersemdash'] = 0xF6DE;
- t['threeroman'] = 0x2172;
- t['threesuperior'] = 0x00B3;
- t['threethai'] = 0x0E53;
- t['thzsquare'] = 0x3394;
- t['tihiragana'] = 0x3061;
- t['tikatakana'] = 0x30C1;
- t['tikatakanahalfwidth'] = 0xFF81;
- t['tikeutacirclekorean'] = 0x3270;
- t['tikeutaparenkorean'] = 0x3210;
- t['tikeutcirclekorean'] = 0x3262;
- t['tikeutkorean'] = 0x3137;
- t['tikeutparenkorean'] = 0x3202;
- t['tilde'] = 0x02DC;
- t['tildebelowcmb'] = 0x0330;
- t['tildecmb'] = 0x0303;
- t['tildecomb'] = 0x0303;
- t['tildedoublecmb'] = 0x0360;
- t['tildeoperator'] = 0x223C;
- t['tildeoverlaycmb'] = 0x0334;
- t['tildeverticalcmb'] = 0x033E;
- t['timescircle'] = 0x2297;
- t['tipehahebrew'] = 0x0596;
- t['tipehalefthebrew'] = 0x0596;
- t['tippigurmukhi'] = 0x0A70;
- t['titlocyrilliccmb'] = 0x0483;
- t['tiwnarmenian'] = 0x057F;
- t['tlinebelow'] = 0x1E6F;
- t['tmonospace'] = 0xFF54;
- t['toarmenian'] = 0x0569;
- t['tohiragana'] = 0x3068;
- t['tokatakana'] = 0x30C8;
- t['tokatakanahalfwidth'] = 0xFF84;
- t['tonebarextrahighmod'] = 0x02E5;
- t['tonebarextralowmod'] = 0x02E9;
- t['tonebarhighmod'] = 0x02E6;
- t['tonebarlowmod'] = 0x02E8;
- t['tonebarmidmod'] = 0x02E7;
- t['tonefive'] = 0x01BD;
- t['tonesix'] = 0x0185;
- t['tonetwo'] = 0x01A8;
- t['tonos'] = 0x0384;
- t['tonsquare'] = 0x3327;
- t['topatakthai'] = 0x0E0F;
- t['tortoiseshellbracketleft'] = 0x3014;
- t['tortoiseshellbracketleftsmall'] = 0xFE5D;
- t['tortoiseshellbracketleftvertical'] = 0xFE39;
- t['tortoiseshellbracketright'] = 0x3015;
- t['tortoiseshellbracketrightsmall'] = 0xFE5E;
- t['tortoiseshellbracketrightvertical'] = 0xFE3A;
- t['totaothai'] = 0x0E15;
- t['tpalatalhook'] = 0x01AB;
- t['tparen'] = 0x24AF;
- t['trademark'] = 0x2122;
- t['trademarksans'] = 0xF8EA;
- t['trademarkserif'] = 0xF6DB;
- t['tretroflexhook'] = 0x0288;
- t['triagdn'] = 0x25BC;
- t['triaglf'] = 0x25C4;
- t['triagrt'] = 0x25BA;
- t['triagup'] = 0x25B2;
- t['ts'] = 0x02A6;
- t['tsadi'] = 0x05E6;
- t['tsadidagesh'] = 0xFB46;
- t['tsadidageshhebrew'] = 0xFB46;
- t['tsadihebrew'] = 0x05E6;
- t['tsecyrillic'] = 0x0446;
- t['tsere'] = 0x05B5;
- t['tsere12'] = 0x05B5;
- t['tsere1e'] = 0x05B5;
- t['tsere2b'] = 0x05B5;
- t['tserehebrew'] = 0x05B5;
- t['tserenarrowhebrew'] = 0x05B5;
- t['tserequarterhebrew'] = 0x05B5;
- t['tserewidehebrew'] = 0x05B5;
- t['tshecyrillic'] = 0x045B;
- t['tsuperior'] = 0xF6F3;
- t['ttabengali'] = 0x099F;
- t['ttadeva'] = 0x091F;
- t['ttagujarati'] = 0x0A9F;
- t['ttagurmukhi'] = 0x0A1F;
- t['tteharabic'] = 0x0679;
- t['ttehfinalarabic'] = 0xFB67;
- t['ttehinitialarabic'] = 0xFB68;
- t['ttehmedialarabic'] = 0xFB69;
- t['tthabengali'] = 0x09A0;
- t['tthadeva'] = 0x0920;
- t['tthagujarati'] = 0x0AA0;
- t['tthagurmukhi'] = 0x0A20;
- t['tturned'] = 0x0287;
- t['tuhiragana'] = 0x3064;
- t['tukatakana'] = 0x30C4;
- t['tukatakanahalfwidth'] = 0xFF82;
- t['tusmallhiragana'] = 0x3063;
- t['tusmallkatakana'] = 0x30C3;
- t['tusmallkatakanahalfwidth'] = 0xFF6F;
- t['twelvecircle'] = 0x246B;
- t['twelveparen'] = 0x247F;
- t['twelveperiod'] = 0x2493;
- t['twelveroman'] = 0x217B;
- t['twentycircle'] = 0x2473;
- t['twentyhangzhou'] = 0x5344;
- t['twentyparen'] = 0x2487;
- t['twentyperiod'] = 0x249B;
- t['two'] = 0x0032;
- t['twoarabic'] = 0x0662;
- t['twobengali'] = 0x09E8;
- t['twocircle'] = 0x2461;
- t['twocircleinversesansserif'] = 0x278B;
- t['twodeva'] = 0x0968;
- t['twodotenleader'] = 0x2025;
- t['twodotleader'] = 0x2025;
- t['twodotleadervertical'] = 0xFE30;
- t['twogujarati'] = 0x0AE8;
- t['twogurmukhi'] = 0x0A68;
- t['twohackarabic'] = 0x0662;
- t['twohangzhou'] = 0x3022;
- t['twoideographicparen'] = 0x3221;
- t['twoinferior'] = 0x2082;
- t['twomonospace'] = 0xFF12;
- t['twonumeratorbengali'] = 0x09F5;
- t['twooldstyle'] = 0xF732;
- t['twoparen'] = 0x2475;
- t['twoperiod'] = 0x2489;
- t['twopersian'] = 0x06F2;
- t['tworoman'] = 0x2171;
- t['twostroke'] = 0x01BB;
- t['twosuperior'] = 0x00B2;
- t['twothai'] = 0x0E52;
- t['twothirds'] = 0x2154;
- t['u'] = 0x0075;
- t['uacute'] = 0x00FA;
- t['ubar'] = 0x0289;
- t['ubengali'] = 0x0989;
- t['ubopomofo'] = 0x3128;
- t['ubreve'] = 0x016D;
- t['ucaron'] = 0x01D4;
- t['ucircle'] = 0x24E4;
- t['ucircumflex'] = 0x00FB;
- t['ucircumflexbelow'] = 0x1E77;
- t['ucyrillic'] = 0x0443;
- t['udattadeva'] = 0x0951;
- t['udblacute'] = 0x0171;
- t['udblgrave'] = 0x0215;
- t['udeva'] = 0x0909;
- t['udieresis'] = 0x00FC;
- t['udieresisacute'] = 0x01D8;
- t['udieresisbelow'] = 0x1E73;
- t['udieresiscaron'] = 0x01DA;
- t['udieresiscyrillic'] = 0x04F1;
- t['udieresisgrave'] = 0x01DC;
- t['udieresismacron'] = 0x01D6;
- t['udotbelow'] = 0x1EE5;
- t['ugrave'] = 0x00F9;
- t['ugujarati'] = 0x0A89;
- t['ugurmukhi'] = 0x0A09;
- t['uhiragana'] = 0x3046;
- t['uhookabove'] = 0x1EE7;
- t['uhorn'] = 0x01B0;
- t['uhornacute'] = 0x1EE9;
- t['uhorndotbelow'] = 0x1EF1;
- t['uhorngrave'] = 0x1EEB;
- t['uhornhookabove'] = 0x1EED;
- t['uhorntilde'] = 0x1EEF;
- t['uhungarumlaut'] = 0x0171;
- t['uhungarumlautcyrillic'] = 0x04F3;
- t['uinvertedbreve'] = 0x0217;
- t['ukatakana'] = 0x30A6;
- t['ukatakanahalfwidth'] = 0xFF73;
- t['ukcyrillic'] = 0x0479;
- t['ukorean'] = 0x315C;
- t['umacron'] = 0x016B;
- t['umacroncyrillic'] = 0x04EF;
- t['umacrondieresis'] = 0x1E7B;
- t['umatragurmukhi'] = 0x0A41;
- t['umonospace'] = 0xFF55;
- t['underscore'] = 0x005F;
- t['underscoredbl'] = 0x2017;
- t['underscoremonospace'] = 0xFF3F;
- t['underscorevertical'] = 0xFE33;
- t['underscorewavy'] = 0xFE4F;
- t['union'] = 0x222A;
- t['universal'] = 0x2200;
- t['uogonek'] = 0x0173;
- t['uparen'] = 0x24B0;
- t['upblock'] = 0x2580;
- t['upperdothebrew'] = 0x05C4;
- t['upsilon'] = 0x03C5;
- t['upsilondieresis'] = 0x03CB;
- t['upsilondieresistonos'] = 0x03B0;
- t['upsilonlatin'] = 0x028A;
- t['upsilontonos'] = 0x03CD;
- t['uptackbelowcmb'] = 0x031D;
- t['uptackmod'] = 0x02D4;
- t['uragurmukhi'] = 0x0A73;
- t['uring'] = 0x016F;
- t['ushortcyrillic'] = 0x045E;
- t['usmallhiragana'] = 0x3045;
- t['usmallkatakana'] = 0x30A5;
- t['usmallkatakanahalfwidth'] = 0xFF69;
- t['ustraightcyrillic'] = 0x04AF;
- t['ustraightstrokecyrillic'] = 0x04B1;
- t['utilde'] = 0x0169;
- t['utildeacute'] = 0x1E79;
- t['utildebelow'] = 0x1E75;
- t['uubengali'] = 0x098A;
- t['uudeva'] = 0x090A;
- t['uugujarati'] = 0x0A8A;
- t['uugurmukhi'] = 0x0A0A;
- t['uumatragurmukhi'] = 0x0A42;
- t['uuvowelsignbengali'] = 0x09C2;
- t['uuvowelsigndeva'] = 0x0942;
- t['uuvowelsigngujarati'] = 0x0AC2;
- t['uvowelsignbengali'] = 0x09C1;
- t['uvowelsigndeva'] = 0x0941;
- t['uvowelsigngujarati'] = 0x0AC1;
- t['v'] = 0x0076;
- t['vadeva'] = 0x0935;
- t['vagujarati'] = 0x0AB5;
- t['vagurmukhi'] = 0x0A35;
- t['vakatakana'] = 0x30F7;
- t['vav'] = 0x05D5;
- t['vavdagesh'] = 0xFB35;
- t['vavdagesh65'] = 0xFB35;
- t['vavdageshhebrew'] = 0xFB35;
- t['vavhebrew'] = 0x05D5;
- t['vavholam'] = 0xFB4B;
- t['vavholamhebrew'] = 0xFB4B;
- t['vavvavhebrew'] = 0x05F0;
- t['vavyodhebrew'] = 0x05F1;
- t['vcircle'] = 0x24E5;
- t['vdotbelow'] = 0x1E7F;
- t['vecyrillic'] = 0x0432;
- t['veharabic'] = 0x06A4;
- t['vehfinalarabic'] = 0xFB6B;
- t['vehinitialarabic'] = 0xFB6C;
- t['vehmedialarabic'] = 0xFB6D;
- t['vekatakana'] = 0x30F9;
- t['venus'] = 0x2640;
- t['verticalbar'] = 0x007C;
- t['verticallineabovecmb'] = 0x030D;
- t['verticallinebelowcmb'] = 0x0329;
- t['verticallinelowmod'] = 0x02CC;
- t['verticallinemod'] = 0x02C8;
- t['vewarmenian'] = 0x057E;
- t['vhook'] = 0x028B;
- t['vikatakana'] = 0x30F8;
- t['viramabengali'] = 0x09CD;
- t['viramadeva'] = 0x094D;
- t['viramagujarati'] = 0x0ACD;
- t['visargabengali'] = 0x0983;
- t['visargadeva'] = 0x0903;
- t['visargagujarati'] = 0x0A83;
- t['vmonospace'] = 0xFF56;
- t['voarmenian'] = 0x0578;
- t['voicediterationhiragana'] = 0x309E;
- t['voicediterationkatakana'] = 0x30FE;
- t['voicedmarkkana'] = 0x309B;
- t['voicedmarkkanahalfwidth'] = 0xFF9E;
- t['vokatakana'] = 0x30FA;
- t['vparen'] = 0x24B1;
- t['vtilde'] = 0x1E7D;
- t['vturned'] = 0x028C;
- t['vuhiragana'] = 0x3094;
- t['vukatakana'] = 0x30F4;
- t['w'] = 0x0077;
- t['wacute'] = 0x1E83;
- t['waekorean'] = 0x3159;
- t['wahiragana'] = 0x308F;
- t['wakatakana'] = 0x30EF;
- t['wakatakanahalfwidth'] = 0xFF9C;
- t['wakorean'] = 0x3158;
- t['wasmallhiragana'] = 0x308E;
- t['wasmallkatakana'] = 0x30EE;
- t['wattosquare'] = 0x3357;
- t['wavedash'] = 0x301C;
- t['wavyunderscorevertical'] = 0xFE34;
- t['wawarabic'] = 0x0648;
- t['wawfinalarabic'] = 0xFEEE;
- t['wawhamzaabovearabic'] = 0x0624;
- t['wawhamzaabovefinalarabic'] = 0xFE86;
- t['wbsquare'] = 0x33DD;
- t['wcircle'] = 0x24E6;
- t['wcircumflex'] = 0x0175;
- t['wdieresis'] = 0x1E85;
- t['wdotaccent'] = 0x1E87;
- t['wdotbelow'] = 0x1E89;
- t['wehiragana'] = 0x3091;
- t['weierstrass'] = 0x2118;
- t['wekatakana'] = 0x30F1;
- t['wekorean'] = 0x315E;
- t['weokorean'] = 0x315D;
- t['wgrave'] = 0x1E81;
- t['whitebullet'] = 0x25E6;
- t['whitecircle'] = 0x25CB;
- t['whitecircleinverse'] = 0x25D9;
- t['whitecornerbracketleft'] = 0x300E;
- t['whitecornerbracketleftvertical'] = 0xFE43;
- t['whitecornerbracketright'] = 0x300F;
- t['whitecornerbracketrightvertical'] = 0xFE44;
- t['whitediamond'] = 0x25C7;
- t['whitediamondcontainingblacksmalldiamond'] = 0x25C8;
- t['whitedownpointingsmalltriangle'] = 0x25BF;
- t['whitedownpointingtriangle'] = 0x25BD;
- t['whiteleftpointingsmalltriangle'] = 0x25C3;
- t['whiteleftpointingtriangle'] = 0x25C1;
- t['whitelenticularbracketleft'] = 0x3016;
- t['whitelenticularbracketright'] = 0x3017;
- t['whiterightpointingsmalltriangle'] = 0x25B9;
- t['whiterightpointingtriangle'] = 0x25B7;
- t['whitesmallsquare'] = 0x25AB;
- t['whitesmilingface'] = 0x263A;
- t['whitesquare'] = 0x25A1;
- t['whitestar'] = 0x2606;
- t['whitetelephone'] = 0x260F;
- t['whitetortoiseshellbracketleft'] = 0x3018;
- t['whitetortoiseshellbracketright'] = 0x3019;
- t['whiteuppointingsmalltriangle'] = 0x25B5;
- t['whiteuppointingtriangle'] = 0x25B3;
- t['wihiragana'] = 0x3090;
- t['wikatakana'] = 0x30F0;
- t['wikorean'] = 0x315F;
- t['wmonospace'] = 0xFF57;
- t['wohiragana'] = 0x3092;
- t['wokatakana'] = 0x30F2;
- t['wokatakanahalfwidth'] = 0xFF66;
- t['won'] = 0x20A9;
- t['wonmonospace'] = 0xFFE6;
- t['wowaenthai'] = 0x0E27;
- t['wparen'] = 0x24B2;
- t['wring'] = 0x1E98;
- t['wsuperior'] = 0x02B7;
- t['wturned'] = 0x028D;
- t['wynn'] = 0x01BF;
- t['x'] = 0x0078;
- t['xabovecmb'] = 0x033D;
- t['xbopomofo'] = 0x3112;
- t['xcircle'] = 0x24E7;
- t['xdieresis'] = 0x1E8D;
- t['xdotaccent'] = 0x1E8B;
- t['xeharmenian'] = 0x056D;
- t['xi'] = 0x03BE;
- t['xmonospace'] = 0xFF58;
- t['xparen'] = 0x24B3;
- t['xsuperior'] = 0x02E3;
- t['y'] = 0x0079;
- t['yaadosquare'] = 0x334E;
- t['yabengali'] = 0x09AF;
- t['yacute'] = 0x00FD;
- t['yadeva'] = 0x092F;
- t['yaekorean'] = 0x3152;
- t['yagujarati'] = 0x0AAF;
- t['yagurmukhi'] = 0x0A2F;
- t['yahiragana'] = 0x3084;
- t['yakatakana'] = 0x30E4;
- t['yakatakanahalfwidth'] = 0xFF94;
- t['yakorean'] = 0x3151;
- t['yamakkanthai'] = 0x0E4E;
- t['yasmallhiragana'] = 0x3083;
- t['yasmallkatakana'] = 0x30E3;
- t['yasmallkatakanahalfwidth'] = 0xFF6C;
- t['yatcyrillic'] = 0x0463;
- t['ycircle'] = 0x24E8;
- t['ycircumflex'] = 0x0177;
- t['ydieresis'] = 0x00FF;
- t['ydotaccent'] = 0x1E8F;
- t['ydotbelow'] = 0x1EF5;
- t['yeharabic'] = 0x064A;
- t['yehbarreearabic'] = 0x06D2;
- t['yehbarreefinalarabic'] = 0xFBAF;
- t['yehfinalarabic'] = 0xFEF2;
- t['yehhamzaabovearabic'] = 0x0626;
- t['yehhamzaabovefinalarabic'] = 0xFE8A;
- t['yehhamzaaboveinitialarabic'] = 0xFE8B;
- t['yehhamzaabovemedialarabic'] = 0xFE8C;
- t['yehinitialarabic'] = 0xFEF3;
- t['yehmedialarabic'] = 0xFEF4;
- t['yehmeeminitialarabic'] = 0xFCDD;
- t['yehmeemisolatedarabic'] = 0xFC58;
- t['yehnoonfinalarabic'] = 0xFC94;
- t['yehthreedotsbelowarabic'] = 0x06D1;
- t['yekorean'] = 0x3156;
- t['yen'] = 0x00A5;
- t['yenmonospace'] = 0xFFE5;
- t['yeokorean'] = 0x3155;
- t['yeorinhieuhkorean'] = 0x3186;
- t['yerahbenyomohebrew'] = 0x05AA;
- t['yerahbenyomolefthebrew'] = 0x05AA;
- t['yericyrillic'] = 0x044B;
- t['yerudieresiscyrillic'] = 0x04F9;
- t['yesieungkorean'] = 0x3181;
- t['yesieungpansioskorean'] = 0x3183;
- t['yesieungsioskorean'] = 0x3182;
- t['yetivhebrew'] = 0x059A;
- t['ygrave'] = 0x1EF3;
- t['yhook'] = 0x01B4;
- t['yhookabove'] = 0x1EF7;
- t['yiarmenian'] = 0x0575;
- t['yicyrillic'] = 0x0457;
- t['yikorean'] = 0x3162;
- t['yinyang'] = 0x262F;
- t['yiwnarmenian'] = 0x0582;
- t['ymonospace'] = 0xFF59;
- t['yod'] = 0x05D9;
- t['yoddagesh'] = 0xFB39;
- t['yoddageshhebrew'] = 0xFB39;
- t['yodhebrew'] = 0x05D9;
- t['yodyodhebrew'] = 0x05F2;
- t['yodyodpatahhebrew'] = 0xFB1F;
- t['yohiragana'] = 0x3088;
- t['yoikorean'] = 0x3189;
- t['yokatakana'] = 0x30E8;
- t['yokatakanahalfwidth'] = 0xFF96;
- t['yokorean'] = 0x315B;
- t['yosmallhiragana'] = 0x3087;
- t['yosmallkatakana'] = 0x30E7;
- t['yosmallkatakanahalfwidth'] = 0xFF6E;
- t['yotgreek'] = 0x03F3;
- t['yoyaekorean'] = 0x3188;
- t['yoyakorean'] = 0x3187;
- t['yoyakthai'] = 0x0E22;
- t['yoyingthai'] = 0x0E0D;
- t['yparen'] = 0x24B4;
- t['ypogegrammeni'] = 0x037A;
- t['ypogegrammenigreekcmb'] = 0x0345;
- t['yr'] = 0x01A6;
- t['yring'] = 0x1E99;
- t['ysuperior'] = 0x02B8;
- t['ytilde'] = 0x1EF9;
- t['yturned'] = 0x028E;
- t['yuhiragana'] = 0x3086;
- t['yuikorean'] = 0x318C;
- t['yukatakana'] = 0x30E6;
- t['yukatakanahalfwidth'] = 0xFF95;
- t['yukorean'] = 0x3160;
- t['yusbigcyrillic'] = 0x046B;
- t['yusbigiotifiedcyrillic'] = 0x046D;
- t['yuslittlecyrillic'] = 0x0467;
- t['yuslittleiotifiedcyrillic'] = 0x0469;
- t['yusmallhiragana'] = 0x3085;
- t['yusmallkatakana'] = 0x30E5;
- t['yusmallkatakanahalfwidth'] = 0xFF6D;
- t['yuyekorean'] = 0x318B;
- t['yuyeokorean'] = 0x318A;
- t['yyabengali'] = 0x09DF;
- t['yyadeva'] = 0x095F;
- t['z'] = 0x007A;
- t['zaarmenian'] = 0x0566;
- t['zacute'] = 0x017A;
- t['zadeva'] = 0x095B;
- t['zagurmukhi'] = 0x0A5B;
- t['zaharabic'] = 0x0638;
- t['zahfinalarabic'] = 0xFEC6;
- t['zahinitialarabic'] = 0xFEC7;
- t['zahiragana'] = 0x3056;
- t['zahmedialarabic'] = 0xFEC8;
- t['zainarabic'] = 0x0632;
- t['zainfinalarabic'] = 0xFEB0;
- t['zakatakana'] = 0x30B6;
- t['zaqefgadolhebrew'] = 0x0595;
- t['zaqefqatanhebrew'] = 0x0594;
- t['zarqahebrew'] = 0x0598;
- t['zayin'] = 0x05D6;
- t['zayindagesh'] = 0xFB36;
- t['zayindageshhebrew'] = 0xFB36;
- t['zayinhebrew'] = 0x05D6;
- t['zbopomofo'] = 0x3117;
- t['zcaron'] = 0x017E;
- t['zcircle'] = 0x24E9;
- t['zcircumflex'] = 0x1E91;
- t['zcurl'] = 0x0291;
- t['zdot'] = 0x017C;
- t['zdotaccent'] = 0x017C;
- t['zdotbelow'] = 0x1E93;
- t['zecyrillic'] = 0x0437;
- t['zedescendercyrillic'] = 0x0499;
- t['zedieresiscyrillic'] = 0x04DF;
- t['zehiragana'] = 0x305C;
- t['zekatakana'] = 0x30BC;
- t['zero'] = 0x0030;
- t['zeroarabic'] = 0x0660;
- t['zerobengali'] = 0x09E6;
- t['zerodeva'] = 0x0966;
- t['zerogujarati'] = 0x0AE6;
- t['zerogurmukhi'] = 0x0A66;
- t['zerohackarabic'] = 0x0660;
- t['zeroinferior'] = 0x2080;
- t['zeromonospace'] = 0xFF10;
- t['zerooldstyle'] = 0xF730;
- t['zeropersian'] = 0x06F0;
- t['zerosuperior'] = 0x2070;
- t['zerothai'] = 0x0E50;
- t['zerowidthjoiner'] = 0xFEFF;
- t['zerowidthnonjoiner'] = 0x200C;
- t['zerowidthspace'] = 0x200B;
- t['zeta'] = 0x03B6;
- t['zhbopomofo'] = 0x3113;
- t['zhearmenian'] = 0x056A;
- t['zhebrevecyrillic'] = 0x04C2;
- t['zhecyrillic'] = 0x0436;
- t['zhedescendercyrillic'] = 0x0497;
- t['zhedieresiscyrillic'] = 0x04DD;
- t['zihiragana'] = 0x3058;
- t['zikatakana'] = 0x30B8;
- t['zinorhebrew'] = 0x05AE;
- t['zlinebelow'] = 0x1E95;
- t['zmonospace'] = 0xFF5A;
- t['zohiragana'] = 0x305E;
- t['zokatakana'] = 0x30BE;
- t['zparen'] = 0x24B5;
- t['zretroflexhook'] = 0x0290;
- t['zstroke'] = 0x01B6;
- t['zuhiragana'] = 0x305A;
- t['zukatakana'] = 0x30BA;
- t['.notdef'] = 0x0000;
- t['angbracketleftbig'] = 0x2329;
- t['angbracketleftBig'] = 0x2329;
- t['angbracketleftbigg'] = 0x2329;
- t['angbracketleftBigg'] = 0x2329;
- t['angbracketrightBig'] = 0x232A;
- t['angbracketrightbig'] = 0x232A;
- t['angbracketrightBigg'] = 0x232A;
- t['angbracketrightbigg'] = 0x232A;
- t['arrowhookleft'] = 0x21AA;
- t['arrowhookright'] = 0x21A9;
- t['arrowlefttophalf'] = 0x21BC;
- t['arrowleftbothalf'] = 0x21BD;
- t['arrownortheast'] = 0x2197;
- t['arrownorthwest'] = 0x2196;
- t['arrowrighttophalf'] = 0x21C0;
- t['arrowrightbothalf'] = 0x21C1;
- t['arrowsoutheast'] = 0x2198;
- t['arrowsouthwest'] = 0x2199;
- t['backslashbig'] = 0x2216;
- t['backslashBig'] = 0x2216;
- t['backslashBigg'] = 0x2216;
- t['backslashbigg'] = 0x2216;
- t['bardbl'] = 0x2016;
- t['bracehtipdownleft'] = 0xFE37;
- t['bracehtipdownright'] = 0xFE37;
- t['bracehtipupleft'] = 0xFE38;
- t['bracehtipupright'] = 0xFE38;
- t['braceleftBig'] = 0x007B;
- t['braceleftbig'] = 0x007B;
- t['braceleftbigg'] = 0x007B;
- t['braceleftBigg'] = 0x007B;
- t['bracerightBig'] = 0x007D;
- t['bracerightbig'] = 0x007D;
- t['bracerightbigg'] = 0x007D;
- t['bracerightBigg'] = 0x007D;
- t['bracketleftbig'] = 0x005B;
- t['bracketleftBig'] = 0x005B;
- t['bracketleftbigg'] = 0x005B;
- t['bracketleftBigg'] = 0x005B;
- t['bracketrightBig'] = 0x005D;
- t['bracketrightbig'] = 0x005D;
- t['bracketrightbigg'] = 0x005D;
- t['bracketrightBigg'] = 0x005D;
- t['ceilingleftbig'] = 0x2308;
- t['ceilingleftBig'] = 0x2308;
- t['ceilingleftBigg'] = 0x2308;
- t['ceilingleftbigg'] = 0x2308;
- t['ceilingrightbig'] = 0x2309;
- t['ceilingrightBig'] = 0x2309;
- t['ceilingrightbigg'] = 0x2309;
- t['ceilingrightBigg'] = 0x2309;
- t['circledotdisplay'] = 0x2299;
- t['circledottext'] = 0x2299;
- t['circlemultiplydisplay'] = 0x2297;
- t['circlemultiplytext'] = 0x2297;
- t['circleplusdisplay'] = 0x2295;
- t['circleplustext'] = 0x2295;
- t['contintegraldisplay'] = 0x222E;
- t['contintegraltext'] = 0x222E;
- t['coproductdisplay'] = 0x2210;
- t['coproducttext'] = 0x2210;
- t['floorleftBig'] = 0x230A;
- t['floorleftbig'] = 0x230A;
- t['floorleftbigg'] = 0x230A;
- t['floorleftBigg'] = 0x230A;
- t['floorrightbig'] = 0x230B;
- t['floorrightBig'] = 0x230B;
- t['floorrightBigg'] = 0x230B;
- t['floorrightbigg'] = 0x230B;
- t['hatwide'] = 0x0302;
- t['hatwider'] = 0x0302;
- t['hatwidest'] = 0x0302;
- t['intercal'] = 0x1D40;
- t['integraldisplay'] = 0x222B;
- t['integraltext'] = 0x222B;
- t['intersectiondisplay'] = 0x22C2;
- t['intersectiontext'] = 0x22C2;
- t['logicalanddisplay'] = 0x2227;
- t['logicalandtext'] = 0x2227;
- t['logicalordisplay'] = 0x2228;
- t['logicalortext'] = 0x2228;
- t['parenleftBig'] = 0x0028;
- t['parenleftbig'] = 0x0028;
- t['parenleftBigg'] = 0x0028;
- t['parenleftbigg'] = 0x0028;
- t['parenrightBig'] = 0x0029;
- t['parenrightbig'] = 0x0029;
- t['parenrightBigg'] = 0x0029;
- t['parenrightbigg'] = 0x0029;
- t['prime'] = 0x2032;
- t['productdisplay'] = 0x220F;
- t['producttext'] = 0x220F;
- t['radicalbig'] = 0x221A;
- t['radicalBig'] = 0x221A;
- t['radicalBigg'] = 0x221A;
- t['radicalbigg'] = 0x221A;
- t['radicalbt'] = 0x221A;
- t['radicaltp'] = 0x221A;
- t['radicalvertex'] = 0x221A;
- t['slashbig'] = 0x002F;
- t['slashBig'] = 0x002F;
- t['slashBigg'] = 0x002F;
- t['slashbigg'] = 0x002F;
- t['summationdisplay'] = 0x2211;
- t['summationtext'] = 0x2211;
- t['tildewide'] = 0x02DC;
- t['tildewider'] = 0x02DC;
- t['tildewidest'] = 0x02DC;
- t['uniondisplay'] = 0x22C3;
- t['unionmultidisplay'] = 0x228E;
- t['unionmultitext'] = 0x228E;
- t['unionsqdisplay'] = 0x2294;
- t['unionsqtext'] = 0x2294;
- t['uniontext'] = 0x22C3;
- t['vextenddouble'] = 0x2225;
- t['vextendsingle'] = 0x2223;
+ t["A"] = 0x0041;
+ t["AE"] = 0x00c6;
+ t["AEacute"] = 0x01fc;
+ t["AEmacron"] = 0x01e2;
+ t["AEsmall"] = 0xf7e6;
+ t["Aacute"] = 0x00c1;
+ t["Aacutesmall"] = 0xf7e1;
+ t["Abreve"] = 0x0102;
+ t["Abreveacute"] = 0x1eae;
+ t["Abrevecyrillic"] = 0x04d0;
+ t["Abrevedotbelow"] = 0x1eb6;
+ t["Abrevegrave"] = 0x1eb0;
+ t["Abrevehookabove"] = 0x1eb2;
+ t["Abrevetilde"] = 0x1eb4;
+ t["Acaron"] = 0x01cd;
+ t["Acircle"] = 0x24b6;
+ t["Acircumflex"] = 0x00c2;
+ t["Acircumflexacute"] = 0x1ea4;
+ t["Acircumflexdotbelow"] = 0x1eac;
+ t["Acircumflexgrave"] = 0x1ea6;
+ t["Acircumflexhookabove"] = 0x1ea8;
+ t["Acircumflexsmall"] = 0xf7e2;
+ t["Acircumflextilde"] = 0x1eaa;
+ t["Acute"] = 0xf6c9;
+ t["Acutesmall"] = 0xf7b4;
+ t["Acyrillic"] = 0x0410;
+ t["Adblgrave"] = 0x0200;
+ t["Adieresis"] = 0x00c4;
+ t["Adieresiscyrillic"] = 0x04d2;
+ t["Adieresismacron"] = 0x01de;
+ t["Adieresissmall"] = 0xf7e4;
+ t["Adotbelow"] = 0x1ea0;
+ t["Adotmacron"] = 0x01e0;
+ t["Agrave"] = 0x00c0;
+ t["Agravesmall"] = 0xf7e0;
+ t["Ahookabove"] = 0x1ea2;
+ t["Aiecyrillic"] = 0x04d4;
+ t["Ainvertedbreve"] = 0x0202;
+ t["Alpha"] = 0x0391;
+ t["Alphatonos"] = 0x0386;
+ t["Amacron"] = 0x0100;
+ t["Amonospace"] = 0xff21;
+ t["Aogonek"] = 0x0104;
+ t["Aring"] = 0x00c5;
+ t["Aringacute"] = 0x01fa;
+ t["Aringbelow"] = 0x1e00;
+ t["Aringsmall"] = 0xf7e5;
+ t["Asmall"] = 0xf761;
+ t["Atilde"] = 0x00c3;
+ t["Atildesmall"] = 0xf7e3;
+ t["Aybarmenian"] = 0x0531;
+ t["B"] = 0x0042;
+ t["Bcircle"] = 0x24b7;
+ t["Bdotaccent"] = 0x1e02;
+ t["Bdotbelow"] = 0x1e04;
+ t["Becyrillic"] = 0x0411;
+ t["Benarmenian"] = 0x0532;
+ t["Beta"] = 0x0392;
+ t["Bhook"] = 0x0181;
+ t["Blinebelow"] = 0x1e06;
+ t["Bmonospace"] = 0xff22;
+ t["Brevesmall"] = 0xf6f4;
+ t["Bsmall"] = 0xf762;
+ t["Btopbar"] = 0x0182;
+ t["C"] = 0x0043;
+ t["Caarmenian"] = 0x053e;
+ t["Cacute"] = 0x0106;
+ t["Caron"] = 0xf6ca;
+ t["Caronsmall"] = 0xf6f5;
+ t["Ccaron"] = 0x010c;
+ t["Ccedilla"] = 0x00c7;
+ t["Ccedillaacute"] = 0x1e08;
+ t["Ccedillasmall"] = 0xf7e7;
+ t["Ccircle"] = 0x24b8;
+ t["Ccircumflex"] = 0x0108;
+ t["Cdot"] = 0x010a;
+ t["Cdotaccent"] = 0x010a;
+ t["Cedillasmall"] = 0xf7b8;
+ t["Chaarmenian"] = 0x0549;
+ t["Cheabkhasiancyrillic"] = 0x04bc;
+ t["Checyrillic"] = 0x0427;
+ t["Chedescenderabkhasiancyrillic"] = 0x04be;
+ t["Chedescendercyrillic"] = 0x04b6;
+ t["Chedieresiscyrillic"] = 0x04f4;
+ t["Cheharmenian"] = 0x0543;
+ t["Chekhakassiancyrillic"] = 0x04cb;
+ t["Cheverticalstrokecyrillic"] = 0x04b8;
+ t["Chi"] = 0x03a7;
+ t["Chook"] = 0x0187;
+ t["Circumflexsmall"] = 0xf6f6;
+ t["Cmonospace"] = 0xff23;
+ t["Coarmenian"] = 0x0551;
+ t["Csmall"] = 0xf763;
+ t["D"] = 0x0044;
+ t["DZ"] = 0x01f1;
+ t["DZcaron"] = 0x01c4;
+ t["Daarmenian"] = 0x0534;
+ t["Dafrican"] = 0x0189;
+ t["Dcaron"] = 0x010e;
+ t["Dcedilla"] = 0x1e10;
+ t["Dcircle"] = 0x24b9;
+ t["Dcircumflexbelow"] = 0x1e12;
+ t["Dcroat"] = 0x0110;
+ t["Ddotaccent"] = 0x1e0a;
+ t["Ddotbelow"] = 0x1e0c;
+ t["Decyrillic"] = 0x0414;
+ t["Deicoptic"] = 0x03ee;
+ t["Delta"] = 0x2206;
+ t["Deltagreek"] = 0x0394;
+ t["Dhook"] = 0x018a;
+ t["Dieresis"] = 0xf6cb;
+ t["DieresisAcute"] = 0xf6cc;
+ t["DieresisGrave"] = 0xf6cd;
+ t["Dieresissmall"] = 0xf7a8;
+ t["Digammagreek"] = 0x03dc;
+ t["Djecyrillic"] = 0x0402;
+ t["Dlinebelow"] = 0x1e0e;
+ t["Dmonospace"] = 0xff24;
+ t["Dotaccentsmall"] = 0xf6f7;
+ t["Dslash"] = 0x0110;
+ t["Dsmall"] = 0xf764;
+ t["Dtopbar"] = 0x018b;
+ t["Dz"] = 0x01f2;
+ t["Dzcaron"] = 0x01c5;
+ t["Dzeabkhasiancyrillic"] = 0x04e0;
+ t["Dzecyrillic"] = 0x0405;
+ t["Dzhecyrillic"] = 0x040f;
+ t["E"] = 0x0045;
+ t["Eacute"] = 0x00c9;
+ t["Eacutesmall"] = 0xf7e9;
+ t["Ebreve"] = 0x0114;
+ t["Ecaron"] = 0x011a;
+ t["Ecedillabreve"] = 0x1e1c;
+ t["Echarmenian"] = 0x0535;
+ t["Ecircle"] = 0x24ba;
+ t["Ecircumflex"] = 0x00ca;
+ t["Ecircumflexacute"] = 0x1ebe;
+ t["Ecircumflexbelow"] = 0x1e18;
+ t["Ecircumflexdotbelow"] = 0x1ec6;
+ t["Ecircumflexgrave"] = 0x1ec0;
+ t["Ecircumflexhookabove"] = 0x1ec2;
+ t["Ecircumflexsmall"] = 0xf7ea;
+ t["Ecircumflextilde"] = 0x1ec4;
+ t["Ecyrillic"] = 0x0404;
+ t["Edblgrave"] = 0x0204;
+ t["Edieresis"] = 0x00cb;
+ t["Edieresissmall"] = 0xf7eb;
+ t["Edot"] = 0x0116;
+ t["Edotaccent"] = 0x0116;
+ t["Edotbelow"] = 0x1eb8;
+ t["Efcyrillic"] = 0x0424;
+ t["Egrave"] = 0x00c8;
+ t["Egravesmall"] = 0xf7e8;
+ t["Eharmenian"] = 0x0537;
+ t["Ehookabove"] = 0x1eba;
+ t["Eightroman"] = 0x2167;
+ t["Einvertedbreve"] = 0x0206;
+ t["Eiotifiedcyrillic"] = 0x0464;
+ t["Elcyrillic"] = 0x041b;
+ t["Elevenroman"] = 0x216a;
+ t["Emacron"] = 0x0112;
+ t["Emacronacute"] = 0x1e16;
+ t["Emacrongrave"] = 0x1e14;
+ t["Emcyrillic"] = 0x041c;
+ t["Emonospace"] = 0xff25;
+ t["Encyrillic"] = 0x041d;
+ t["Endescendercyrillic"] = 0x04a2;
+ t["Eng"] = 0x014a;
+ t["Enghecyrillic"] = 0x04a4;
+ t["Enhookcyrillic"] = 0x04c7;
+ t["Eogonek"] = 0x0118;
+ t["Eopen"] = 0x0190;
+ t["Epsilon"] = 0x0395;
+ t["Epsilontonos"] = 0x0388;
+ t["Ercyrillic"] = 0x0420;
+ t["Ereversed"] = 0x018e;
+ t["Ereversedcyrillic"] = 0x042d;
+ t["Escyrillic"] = 0x0421;
+ t["Esdescendercyrillic"] = 0x04aa;
+ t["Esh"] = 0x01a9;
+ t["Esmall"] = 0xf765;
+ t["Eta"] = 0x0397;
+ t["Etarmenian"] = 0x0538;
+ t["Etatonos"] = 0x0389;
+ t["Eth"] = 0x00d0;
+ t["Ethsmall"] = 0xf7f0;
+ t["Etilde"] = 0x1ebc;
+ t["Etildebelow"] = 0x1e1a;
+ t["Euro"] = 0x20ac;
+ t["Ezh"] = 0x01b7;
+ t["Ezhcaron"] = 0x01ee;
+ t["Ezhreversed"] = 0x01b8;
+ t["F"] = 0x0046;
+ t["Fcircle"] = 0x24bb;
+ t["Fdotaccent"] = 0x1e1e;
+ t["Feharmenian"] = 0x0556;
+ t["Feicoptic"] = 0x03e4;
+ t["Fhook"] = 0x0191;
+ t["Fitacyrillic"] = 0x0472;
+ t["Fiveroman"] = 0x2164;
+ t["Fmonospace"] = 0xff26;
+ t["Fourroman"] = 0x2163;
+ t["Fsmall"] = 0xf766;
+ t["G"] = 0x0047;
+ t["GBsquare"] = 0x3387;
+ t["Gacute"] = 0x01f4;
+ t["Gamma"] = 0x0393;
+ t["Gammaafrican"] = 0x0194;
+ t["Gangiacoptic"] = 0x03ea;
+ t["Gbreve"] = 0x011e;
+ t["Gcaron"] = 0x01e6;
+ t["Gcedilla"] = 0x0122;
+ t["Gcircle"] = 0x24bc;
+ t["Gcircumflex"] = 0x011c;
+ t["Gcommaaccent"] = 0x0122;
+ t["Gdot"] = 0x0120;
+ t["Gdotaccent"] = 0x0120;
+ t["Gecyrillic"] = 0x0413;
+ t["Ghadarmenian"] = 0x0542;
+ t["Ghemiddlehookcyrillic"] = 0x0494;
+ t["Ghestrokecyrillic"] = 0x0492;
+ t["Gheupturncyrillic"] = 0x0490;
+ t["Ghook"] = 0x0193;
+ t["Gimarmenian"] = 0x0533;
+ t["Gjecyrillic"] = 0x0403;
+ t["Gmacron"] = 0x1e20;
+ t["Gmonospace"] = 0xff27;
+ t["Grave"] = 0xf6ce;
+ t["Gravesmall"] = 0xf760;
+ t["Gsmall"] = 0xf767;
+ t["Gsmallhook"] = 0x029b;
+ t["Gstroke"] = 0x01e4;
+ t["H"] = 0x0048;
+ t["H18533"] = 0x25cf;
+ t["H18543"] = 0x25aa;
+ t["H18551"] = 0x25ab;
+ t["H22073"] = 0x25a1;
+ t["HPsquare"] = 0x33cb;
+ t["Haabkhasiancyrillic"] = 0x04a8;
+ t["Hadescendercyrillic"] = 0x04b2;
+ t["Hardsigncyrillic"] = 0x042a;
+ t["Hbar"] = 0x0126;
+ t["Hbrevebelow"] = 0x1e2a;
+ t["Hcedilla"] = 0x1e28;
+ t["Hcircle"] = 0x24bd;
+ t["Hcircumflex"] = 0x0124;
+ t["Hdieresis"] = 0x1e26;
+ t["Hdotaccent"] = 0x1e22;
+ t["Hdotbelow"] = 0x1e24;
+ t["Hmonospace"] = 0xff28;
+ t["Hoarmenian"] = 0x0540;
+ t["Horicoptic"] = 0x03e8;
+ t["Hsmall"] = 0xf768;
+ t["Hungarumlaut"] = 0xf6cf;
+ t["Hungarumlautsmall"] = 0xf6f8;
+ t["Hzsquare"] = 0x3390;
+ t["I"] = 0x0049;
+ t["IAcyrillic"] = 0x042f;
+ t["IJ"] = 0x0132;
+ t["IUcyrillic"] = 0x042e;
+ t["Iacute"] = 0x00cd;
+ t["Iacutesmall"] = 0xf7ed;
+ t["Ibreve"] = 0x012c;
+ t["Icaron"] = 0x01cf;
+ t["Icircle"] = 0x24be;
+ t["Icircumflex"] = 0x00ce;
+ t["Icircumflexsmall"] = 0xf7ee;
+ t["Icyrillic"] = 0x0406;
+ t["Idblgrave"] = 0x0208;
+ t["Idieresis"] = 0x00cf;
+ t["Idieresisacute"] = 0x1e2e;
+ t["Idieresiscyrillic"] = 0x04e4;
+ t["Idieresissmall"] = 0xf7ef;
+ t["Idot"] = 0x0130;
+ t["Idotaccent"] = 0x0130;
+ t["Idotbelow"] = 0x1eca;
+ t["Iebrevecyrillic"] = 0x04d6;
+ t["Iecyrillic"] = 0x0415;
+ t["Ifraktur"] = 0x2111;
+ t["Igrave"] = 0x00cc;
+ t["Igravesmall"] = 0xf7ec;
+ t["Ihookabove"] = 0x1ec8;
+ t["Iicyrillic"] = 0x0418;
+ t["Iinvertedbreve"] = 0x020a;
+ t["Iishortcyrillic"] = 0x0419;
+ t["Imacron"] = 0x012a;
+ t["Imacroncyrillic"] = 0x04e2;
+ t["Imonospace"] = 0xff29;
+ t["Iniarmenian"] = 0x053b;
+ t["Iocyrillic"] = 0x0401;
+ t["Iogonek"] = 0x012e;
+ t["Iota"] = 0x0399;
+ t["Iotaafrican"] = 0x0196;
+ t["Iotadieresis"] = 0x03aa;
+ t["Iotatonos"] = 0x038a;
+ t["Ismall"] = 0xf769;
+ t["Istroke"] = 0x0197;
+ t["Itilde"] = 0x0128;
+ t["Itildebelow"] = 0x1e2c;
+ t["Izhitsacyrillic"] = 0x0474;
+ t["Izhitsadblgravecyrillic"] = 0x0476;
+ t["J"] = 0x004a;
+ t["Jaarmenian"] = 0x0541;
+ t["Jcircle"] = 0x24bf;
+ t["Jcircumflex"] = 0x0134;
+ t["Jecyrillic"] = 0x0408;
+ t["Jheharmenian"] = 0x054b;
+ t["Jmonospace"] = 0xff2a;
+ t["Jsmall"] = 0xf76a;
+ t["K"] = 0x004b;
+ t["KBsquare"] = 0x3385;
+ t["KKsquare"] = 0x33cd;
+ t["Kabashkircyrillic"] = 0x04a0;
+ t["Kacute"] = 0x1e30;
+ t["Kacyrillic"] = 0x041a;
+ t["Kadescendercyrillic"] = 0x049a;
+ t["Kahookcyrillic"] = 0x04c3;
+ t["Kappa"] = 0x039a;
+ t["Kastrokecyrillic"] = 0x049e;
+ t["Kaverticalstrokecyrillic"] = 0x049c;
+ t["Kcaron"] = 0x01e8;
+ t["Kcedilla"] = 0x0136;
+ t["Kcircle"] = 0x24c0;
+ t["Kcommaaccent"] = 0x0136;
+ t["Kdotbelow"] = 0x1e32;
+ t["Keharmenian"] = 0x0554;
+ t["Kenarmenian"] = 0x053f;
+ t["Khacyrillic"] = 0x0425;
+ t["Kheicoptic"] = 0x03e6;
+ t["Khook"] = 0x0198;
+ t["Kjecyrillic"] = 0x040c;
+ t["Klinebelow"] = 0x1e34;
+ t["Kmonospace"] = 0xff2b;
+ t["Koppacyrillic"] = 0x0480;
+ t["Koppagreek"] = 0x03de;
+ t["Ksicyrillic"] = 0x046e;
+ t["Ksmall"] = 0xf76b;
+ t["L"] = 0x004c;
+ t["LJ"] = 0x01c7;
+ t["LL"] = 0xf6bf;
+ t["Lacute"] = 0x0139;
+ t["Lambda"] = 0x039b;
+ t["Lcaron"] = 0x013d;
+ t["Lcedilla"] = 0x013b;
+ t["Lcircle"] = 0x24c1;
+ t["Lcircumflexbelow"] = 0x1e3c;
+ t["Lcommaaccent"] = 0x013b;
+ t["Ldot"] = 0x013f;
+ t["Ldotaccent"] = 0x013f;
+ t["Ldotbelow"] = 0x1e36;
+ t["Ldotbelowmacron"] = 0x1e38;
+ t["Liwnarmenian"] = 0x053c;
+ t["Lj"] = 0x01c8;
+ t["Ljecyrillic"] = 0x0409;
+ t["Llinebelow"] = 0x1e3a;
+ t["Lmonospace"] = 0xff2c;
+ t["Lslash"] = 0x0141;
+ t["Lslashsmall"] = 0xf6f9;
+ t["Lsmall"] = 0xf76c;
+ t["M"] = 0x004d;
+ t["MBsquare"] = 0x3386;
+ t["Macron"] = 0xf6d0;
+ t["Macronsmall"] = 0xf7af;
+ t["Macute"] = 0x1e3e;
+ t["Mcircle"] = 0x24c2;
+ t["Mdotaccent"] = 0x1e40;
+ t["Mdotbelow"] = 0x1e42;
+ t["Menarmenian"] = 0x0544;
+ t["Mmonospace"] = 0xff2d;
+ t["Msmall"] = 0xf76d;
+ t["Mturned"] = 0x019c;
+ t["Mu"] = 0x039c;
+ t["N"] = 0x004e;
+ t["NJ"] = 0x01ca;
+ t["Nacute"] = 0x0143;
+ t["Ncaron"] = 0x0147;
+ t["Ncedilla"] = 0x0145;
+ t["Ncircle"] = 0x24c3;
+ t["Ncircumflexbelow"] = 0x1e4a;
+ t["Ncommaaccent"] = 0x0145;
+ t["Ndotaccent"] = 0x1e44;
+ t["Ndotbelow"] = 0x1e46;
+ t["Nhookleft"] = 0x019d;
+ t["Nineroman"] = 0x2168;
+ t["Nj"] = 0x01cb;
+ t["Njecyrillic"] = 0x040a;
+ t["Nlinebelow"] = 0x1e48;
+ t["Nmonospace"] = 0xff2e;
+ t["Nowarmenian"] = 0x0546;
+ t["Nsmall"] = 0xf76e;
+ t["Ntilde"] = 0x00d1;
+ t["Ntildesmall"] = 0xf7f1;
+ t["Nu"] = 0x039d;
+ t["O"] = 0x004f;
+ t["OE"] = 0x0152;
+ t["OEsmall"] = 0xf6fa;
+ t["Oacute"] = 0x00d3;
+ t["Oacutesmall"] = 0xf7f3;
+ t["Obarredcyrillic"] = 0x04e8;
+ t["Obarreddieresiscyrillic"] = 0x04ea;
+ t["Obreve"] = 0x014e;
+ t["Ocaron"] = 0x01d1;
+ t["Ocenteredtilde"] = 0x019f;
+ t["Ocircle"] = 0x24c4;
+ t["Ocircumflex"] = 0x00d4;
+ t["Ocircumflexacute"] = 0x1ed0;
+ t["Ocircumflexdotbelow"] = 0x1ed8;
+ t["Ocircumflexgrave"] = 0x1ed2;
+ t["Ocircumflexhookabove"] = 0x1ed4;
+ t["Ocircumflexsmall"] = 0xf7f4;
+ t["Ocircumflextilde"] = 0x1ed6;
+ t["Ocyrillic"] = 0x041e;
+ t["Odblacute"] = 0x0150;
+ t["Odblgrave"] = 0x020c;
+ t["Odieresis"] = 0x00d6;
+ t["Odieresiscyrillic"] = 0x04e6;
+ t["Odieresissmall"] = 0xf7f6;
+ t["Odotbelow"] = 0x1ecc;
+ t["Ogoneksmall"] = 0xf6fb;
+ t["Ograve"] = 0x00d2;
+ t["Ogravesmall"] = 0xf7f2;
+ t["Oharmenian"] = 0x0555;
+ t["Ohm"] = 0x2126;
+ t["Ohookabove"] = 0x1ece;
+ t["Ohorn"] = 0x01a0;
+ t["Ohornacute"] = 0x1eda;
+ t["Ohorndotbelow"] = 0x1ee2;
+ t["Ohorngrave"] = 0x1edc;
+ t["Ohornhookabove"] = 0x1ede;
+ t["Ohorntilde"] = 0x1ee0;
+ t["Ohungarumlaut"] = 0x0150;
+ t["Oi"] = 0x01a2;
+ t["Oinvertedbreve"] = 0x020e;
+ t["Omacron"] = 0x014c;
+ t["Omacronacute"] = 0x1e52;
+ t["Omacrongrave"] = 0x1e50;
+ t["Omega"] = 0x2126;
+ t["Omegacyrillic"] = 0x0460;
+ t["Omegagreek"] = 0x03a9;
+ t["Omegaroundcyrillic"] = 0x047a;
+ t["Omegatitlocyrillic"] = 0x047c;
+ t["Omegatonos"] = 0x038f;
+ t["Omicron"] = 0x039f;
+ t["Omicrontonos"] = 0x038c;
+ t["Omonospace"] = 0xff2f;
+ t["Oneroman"] = 0x2160;
+ t["Oogonek"] = 0x01ea;
+ t["Oogonekmacron"] = 0x01ec;
+ t["Oopen"] = 0x0186;
+ t["Oslash"] = 0x00d8;
+ t["Oslashacute"] = 0x01fe;
+ t["Oslashsmall"] = 0xf7f8;
+ t["Osmall"] = 0xf76f;
+ t["Ostrokeacute"] = 0x01fe;
+ t["Otcyrillic"] = 0x047e;
+ t["Otilde"] = 0x00d5;
+ t["Otildeacute"] = 0x1e4c;
+ t["Otildedieresis"] = 0x1e4e;
+ t["Otildesmall"] = 0xf7f5;
+ t["P"] = 0x0050;
+ t["Pacute"] = 0x1e54;
+ t["Pcircle"] = 0x24c5;
+ t["Pdotaccent"] = 0x1e56;
+ t["Pecyrillic"] = 0x041f;
+ t["Peharmenian"] = 0x054a;
+ t["Pemiddlehookcyrillic"] = 0x04a6;
+ t["Phi"] = 0x03a6;
+ t["Phook"] = 0x01a4;
+ t["Pi"] = 0x03a0;
+ t["Piwrarmenian"] = 0x0553;
+ t["Pmonospace"] = 0xff30;
+ t["Psi"] = 0x03a8;
+ t["Psicyrillic"] = 0x0470;
+ t["Psmall"] = 0xf770;
+ t["Q"] = 0x0051;
+ t["Qcircle"] = 0x24c6;
+ t["Qmonospace"] = 0xff31;
+ t["Qsmall"] = 0xf771;
+ t["R"] = 0x0052;
+ t["Raarmenian"] = 0x054c;
+ t["Racute"] = 0x0154;
+ t["Rcaron"] = 0x0158;
+ t["Rcedilla"] = 0x0156;
+ t["Rcircle"] = 0x24c7;
+ t["Rcommaaccent"] = 0x0156;
+ t["Rdblgrave"] = 0x0210;
+ t["Rdotaccent"] = 0x1e58;
+ t["Rdotbelow"] = 0x1e5a;
+ t["Rdotbelowmacron"] = 0x1e5c;
+ t["Reharmenian"] = 0x0550;
+ t["Rfraktur"] = 0x211c;
+ t["Rho"] = 0x03a1;
+ t["Ringsmall"] = 0xf6fc;
+ t["Rinvertedbreve"] = 0x0212;
+ t["Rlinebelow"] = 0x1e5e;
+ t["Rmonospace"] = 0xff32;
+ t["Rsmall"] = 0xf772;
+ t["Rsmallinverted"] = 0x0281;
+ t["Rsmallinvertedsuperior"] = 0x02b6;
+ t["S"] = 0x0053;
+ t["SF010000"] = 0x250c;
+ t["SF020000"] = 0x2514;
+ t["SF030000"] = 0x2510;
+ t["SF040000"] = 0x2518;
+ t["SF050000"] = 0x253c;
+ t["SF060000"] = 0x252c;
+ t["SF070000"] = 0x2534;
+ t["SF080000"] = 0x251c;
+ t["SF090000"] = 0x2524;
+ t["SF100000"] = 0x2500;
+ t["SF110000"] = 0x2502;
+ t["SF190000"] = 0x2561;
+ t["SF200000"] = 0x2562;
+ t["SF210000"] = 0x2556;
+ t["SF220000"] = 0x2555;
+ t["SF230000"] = 0x2563;
+ t["SF240000"] = 0x2551;
+ t["SF250000"] = 0x2557;
+ t["SF260000"] = 0x255d;
+ t["SF270000"] = 0x255c;
+ t["SF280000"] = 0x255b;
+ t["SF360000"] = 0x255e;
+ t["SF370000"] = 0x255f;
+ t["SF380000"] = 0x255a;
+ t["SF390000"] = 0x2554;
+ t["SF400000"] = 0x2569;
+ t["SF410000"] = 0x2566;
+ t["SF420000"] = 0x2560;
+ t["SF430000"] = 0x2550;
+ t["SF440000"] = 0x256c;
+ t["SF450000"] = 0x2567;
+ t["SF460000"] = 0x2568;
+ t["SF470000"] = 0x2564;
+ t["SF480000"] = 0x2565;
+ t["SF490000"] = 0x2559;
+ t["SF500000"] = 0x2558;
+ t["SF510000"] = 0x2552;
+ t["SF520000"] = 0x2553;
+ t["SF530000"] = 0x256b;
+ t["SF540000"] = 0x256a;
+ t["Sacute"] = 0x015a;
+ t["Sacutedotaccent"] = 0x1e64;
+ t["Sampigreek"] = 0x03e0;
+ t["Scaron"] = 0x0160;
+ t["Scarondotaccent"] = 0x1e66;
+ t["Scaronsmall"] = 0xf6fd;
+ t["Scedilla"] = 0x015e;
+ t["Schwa"] = 0x018f;
+ t["Schwacyrillic"] = 0x04d8;
+ t["Schwadieresiscyrillic"] = 0x04da;
+ t["Scircle"] = 0x24c8;
+ t["Scircumflex"] = 0x015c;
+ t["Scommaaccent"] = 0x0218;
+ t["Sdotaccent"] = 0x1e60;
+ t["Sdotbelow"] = 0x1e62;
+ t["Sdotbelowdotaccent"] = 0x1e68;
+ t["Seharmenian"] = 0x054d;
+ t["Sevenroman"] = 0x2166;
+ t["Shaarmenian"] = 0x0547;
+ t["Shacyrillic"] = 0x0428;
+ t["Shchacyrillic"] = 0x0429;
+ t["Sheicoptic"] = 0x03e2;
+ t["Shhacyrillic"] = 0x04ba;
+ t["Shimacoptic"] = 0x03ec;
+ t["Sigma"] = 0x03a3;
+ t["Sixroman"] = 0x2165;
+ t["Smonospace"] = 0xff33;
+ t["Softsigncyrillic"] = 0x042c;
+ t["Ssmall"] = 0xf773;
+ t["Stigmagreek"] = 0x03da;
+ t["T"] = 0x0054;
+ t["Tau"] = 0x03a4;
+ t["Tbar"] = 0x0166;
+ t["Tcaron"] = 0x0164;
+ t["Tcedilla"] = 0x0162;
+ t["Tcircle"] = 0x24c9;
+ t["Tcircumflexbelow"] = 0x1e70;
+ t["Tcommaaccent"] = 0x0162;
+ t["Tdotaccent"] = 0x1e6a;
+ t["Tdotbelow"] = 0x1e6c;
+ t["Tecyrillic"] = 0x0422;
+ t["Tedescendercyrillic"] = 0x04ac;
+ t["Tenroman"] = 0x2169;
+ t["Tetsecyrillic"] = 0x04b4;
+ t["Theta"] = 0x0398;
+ t["Thook"] = 0x01ac;
+ t["Thorn"] = 0x00de;
+ t["Thornsmall"] = 0xf7fe;
+ t["Threeroman"] = 0x2162;
+ t["Tildesmall"] = 0xf6fe;
+ t["Tiwnarmenian"] = 0x054f;
+ t["Tlinebelow"] = 0x1e6e;
+ t["Tmonospace"] = 0xff34;
+ t["Toarmenian"] = 0x0539;
+ t["Tonefive"] = 0x01bc;
+ t["Tonesix"] = 0x0184;
+ t["Tonetwo"] = 0x01a7;
+ t["Tretroflexhook"] = 0x01ae;
+ t["Tsecyrillic"] = 0x0426;
+ t["Tshecyrillic"] = 0x040b;
+ t["Tsmall"] = 0xf774;
+ t["Twelveroman"] = 0x216b;
+ t["Tworoman"] = 0x2161;
+ t["U"] = 0x0055;
+ t["Uacute"] = 0x00da;
+ t["Uacutesmall"] = 0xf7fa;
+ t["Ubreve"] = 0x016c;
+ t["Ucaron"] = 0x01d3;
+ t["Ucircle"] = 0x24ca;
+ t["Ucircumflex"] = 0x00db;
+ t["Ucircumflexbelow"] = 0x1e76;
+ t["Ucircumflexsmall"] = 0xf7fb;
+ t["Ucyrillic"] = 0x0423;
+ t["Udblacute"] = 0x0170;
+ t["Udblgrave"] = 0x0214;
+ t["Udieresis"] = 0x00dc;
+ t["Udieresisacute"] = 0x01d7;
+ t["Udieresisbelow"] = 0x1e72;
+ t["Udieresiscaron"] = 0x01d9;
+ t["Udieresiscyrillic"] = 0x04f0;
+ t["Udieresisgrave"] = 0x01db;
+ t["Udieresismacron"] = 0x01d5;
+ t["Udieresissmall"] = 0xf7fc;
+ t["Udotbelow"] = 0x1ee4;
+ t["Ugrave"] = 0x00d9;
+ t["Ugravesmall"] = 0xf7f9;
+ t["Uhookabove"] = 0x1ee6;
+ t["Uhorn"] = 0x01af;
+ t["Uhornacute"] = 0x1ee8;
+ t["Uhorndotbelow"] = 0x1ef0;
+ t["Uhorngrave"] = 0x1eea;
+ t["Uhornhookabove"] = 0x1eec;
+ t["Uhorntilde"] = 0x1eee;
+ t["Uhungarumlaut"] = 0x0170;
+ t["Uhungarumlautcyrillic"] = 0x04f2;
+ t["Uinvertedbreve"] = 0x0216;
+ t["Ukcyrillic"] = 0x0478;
+ t["Umacron"] = 0x016a;
+ t["Umacroncyrillic"] = 0x04ee;
+ t["Umacrondieresis"] = 0x1e7a;
+ t["Umonospace"] = 0xff35;
+ t["Uogonek"] = 0x0172;
+ t["Upsilon"] = 0x03a5;
+ t["Upsilon1"] = 0x03d2;
+ t["Upsilonacutehooksymbolgreek"] = 0x03d3;
+ t["Upsilonafrican"] = 0x01b1;
+ t["Upsilondieresis"] = 0x03ab;
+ t["Upsilondieresishooksymbolgreek"] = 0x03d4;
+ t["Upsilonhooksymbol"] = 0x03d2;
+ t["Upsilontonos"] = 0x038e;
+ t["Uring"] = 0x016e;
+ t["Ushortcyrillic"] = 0x040e;
+ t["Usmall"] = 0xf775;
+ t["Ustraightcyrillic"] = 0x04ae;
+ t["Ustraightstrokecyrillic"] = 0x04b0;
+ t["Utilde"] = 0x0168;
+ t["Utildeacute"] = 0x1e78;
+ t["Utildebelow"] = 0x1e74;
+ t["V"] = 0x0056;
+ t["Vcircle"] = 0x24cb;
+ t["Vdotbelow"] = 0x1e7e;
+ t["Vecyrillic"] = 0x0412;
+ t["Vewarmenian"] = 0x054e;
+ t["Vhook"] = 0x01b2;
+ t["Vmonospace"] = 0xff36;
+ t["Voarmenian"] = 0x0548;
+ t["Vsmall"] = 0xf776;
+ t["Vtilde"] = 0x1e7c;
+ t["W"] = 0x0057;
+ t["Wacute"] = 0x1e82;
+ t["Wcircle"] = 0x24cc;
+ t["Wcircumflex"] = 0x0174;
+ t["Wdieresis"] = 0x1e84;
+ t["Wdotaccent"] = 0x1e86;
+ t["Wdotbelow"] = 0x1e88;
+ t["Wgrave"] = 0x1e80;
+ t["Wmonospace"] = 0xff37;
+ t["Wsmall"] = 0xf777;
+ t["X"] = 0x0058;
+ t["Xcircle"] = 0x24cd;
+ t["Xdieresis"] = 0x1e8c;
+ t["Xdotaccent"] = 0x1e8a;
+ t["Xeharmenian"] = 0x053d;
+ t["Xi"] = 0x039e;
+ t["Xmonospace"] = 0xff38;
+ t["Xsmall"] = 0xf778;
+ t["Y"] = 0x0059;
+ t["Yacute"] = 0x00dd;
+ t["Yacutesmall"] = 0xf7fd;
+ t["Yatcyrillic"] = 0x0462;
+ t["Ycircle"] = 0x24ce;
+ t["Ycircumflex"] = 0x0176;
+ t["Ydieresis"] = 0x0178;
+ t["Ydieresissmall"] = 0xf7ff;
+ t["Ydotaccent"] = 0x1e8e;
+ t["Ydotbelow"] = 0x1ef4;
+ t["Yericyrillic"] = 0x042b;
+ t["Yerudieresiscyrillic"] = 0x04f8;
+ t["Ygrave"] = 0x1ef2;
+ t["Yhook"] = 0x01b3;
+ t["Yhookabove"] = 0x1ef6;
+ t["Yiarmenian"] = 0x0545;
+ t["Yicyrillic"] = 0x0407;
+ t["Yiwnarmenian"] = 0x0552;
+ t["Ymonospace"] = 0xff39;
+ t["Ysmall"] = 0xf779;
+ t["Ytilde"] = 0x1ef8;
+ t["Yusbigcyrillic"] = 0x046a;
+ t["Yusbigiotifiedcyrillic"] = 0x046c;
+ t["Yuslittlecyrillic"] = 0x0466;
+ t["Yuslittleiotifiedcyrillic"] = 0x0468;
+ t["Z"] = 0x005a;
+ t["Zaarmenian"] = 0x0536;
+ t["Zacute"] = 0x0179;
+ t["Zcaron"] = 0x017d;
+ t["Zcaronsmall"] = 0xf6ff;
+ t["Zcircle"] = 0x24cf;
+ t["Zcircumflex"] = 0x1e90;
+ t["Zdot"] = 0x017b;
+ t["Zdotaccent"] = 0x017b;
+ t["Zdotbelow"] = 0x1e92;
+ t["Zecyrillic"] = 0x0417;
+ t["Zedescendercyrillic"] = 0x0498;
+ t["Zedieresiscyrillic"] = 0x04de;
+ t["Zeta"] = 0x0396;
+ t["Zhearmenian"] = 0x053a;
+ t["Zhebrevecyrillic"] = 0x04c1;
+ t["Zhecyrillic"] = 0x0416;
+ t["Zhedescendercyrillic"] = 0x0496;
+ t["Zhedieresiscyrillic"] = 0x04dc;
+ t["Zlinebelow"] = 0x1e94;
+ t["Zmonospace"] = 0xff3a;
+ t["Zsmall"] = 0xf77a;
+ t["Zstroke"] = 0x01b5;
+ t["a"] = 0x0061;
+ t["aabengali"] = 0x0986;
+ t["aacute"] = 0x00e1;
+ t["aadeva"] = 0x0906;
+ t["aagujarati"] = 0x0a86;
+ t["aagurmukhi"] = 0x0a06;
+ t["aamatragurmukhi"] = 0x0a3e;
+ t["aarusquare"] = 0x3303;
+ t["aavowelsignbengali"] = 0x09be;
+ t["aavowelsigndeva"] = 0x093e;
+ t["aavowelsigngujarati"] = 0x0abe;
+ t["abbreviationmarkarmenian"] = 0x055f;
+ t["abbreviationsigndeva"] = 0x0970;
+ t["abengali"] = 0x0985;
+ t["abopomofo"] = 0x311a;
+ t["abreve"] = 0x0103;
+ t["abreveacute"] = 0x1eaf;
+ t["abrevecyrillic"] = 0x04d1;
+ t["abrevedotbelow"] = 0x1eb7;
+ t["abrevegrave"] = 0x1eb1;
+ t["abrevehookabove"] = 0x1eb3;
+ t["abrevetilde"] = 0x1eb5;
+ t["acaron"] = 0x01ce;
+ t["acircle"] = 0x24d0;
+ t["acircumflex"] = 0x00e2;
+ t["acircumflexacute"] = 0x1ea5;
+ t["acircumflexdotbelow"] = 0x1ead;
+ t["acircumflexgrave"] = 0x1ea7;
+ t["acircumflexhookabove"] = 0x1ea9;
+ t["acircumflextilde"] = 0x1eab;
+ t["acute"] = 0x00b4;
+ t["acutebelowcmb"] = 0x0317;
+ t["acutecmb"] = 0x0301;
+ t["acutecomb"] = 0x0301;
+ t["acutedeva"] = 0x0954;
+ t["acutelowmod"] = 0x02cf;
+ t["acutetonecmb"] = 0x0341;
+ t["acyrillic"] = 0x0430;
+ t["adblgrave"] = 0x0201;
+ t["addakgurmukhi"] = 0x0a71;
+ t["adeva"] = 0x0905;
+ t["adieresis"] = 0x00e4;
+ t["adieresiscyrillic"] = 0x04d3;
+ t["adieresismacron"] = 0x01df;
+ t["adotbelow"] = 0x1ea1;
+ t["adotmacron"] = 0x01e1;
+ t["ae"] = 0x00e6;
+ t["aeacute"] = 0x01fd;
+ t["aekorean"] = 0x3150;
+ t["aemacron"] = 0x01e3;
+ t["afii00208"] = 0x2015;
+ t["afii08941"] = 0x20a4;
+ t["afii10017"] = 0x0410;
+ t["afii10018"] = 0x0411;
+ t["afii10019"] = 0x0412;
+ t["afii10020"] = 0x0413;
+ t["afii10021"] = 0x0414;
+ t["afii10022"] = 0x0415;
+ t["afii10023"] = 0x0401;
+ t["afii10024"] = 0x0416;
+ t["afii10025"] = 0x0417;
+ t["afii10026"] = 0x0418;
+ t["afii10027"] = 0x0419;
+ t["afii10028"] = 0x041a;
+ t["afii10029"] = 0x041b;
+ t["afii10030"] = 0x041c;
+ t["afii10031"] = 0x041d;
+ t["afii10032"] = 0x041e;
+ t["afii10033"] = 0x041f;
+ t["afii10034"] = 0x0420;
+ t["afii10035"] = 0x0421;
+ t["afii10036"] = 0x0422;
+ t["afii10037"] = 0x0423;
+ t["afii10038"] = 0x0424;
+ t["afii10039"] = 0x0425;
+ t["afii10040"] = 0x0426;
+ t["afii10041"] = 0x0427;
+ t["afii10042"] = 0x0428;
+ t["afii10043"] = 0x0429;
+ t["afii10044"] = 0x042a;
+ t["afii10045"] = 0x042b;
+ t["afii10046"] = 0x042c;
+ t["afii10047"] = 0x042d;
+ t["afii10048"] = 0x042e;
+ t["afii10049"] = 0x042f;
+ t["afii10050"] = 0x0490;
+ t["afii10051"] = 0x0402;
+ t["afii10052"] = 0x0403;
+ t["afii10053"] = 0x0404;
+ t["afii10054"] = 0x0405;
+ t["afii10055"] = 0x0406;
+ t["afii10056"] = 0x0407;
+ t["afii10057"] = 0x0408;
+ t["afii10058"] = 0x0409;
+ t["afii10059"] = 0x040a;
+ t["afii10060"] = 0x040b;
+ t["afii10061"] = 0x040c;
+ t["afii10062"] = 0x040e;
+ t["afii10063"] = 0xf6c4;
+ t["afii10064"] = 0xf6c5;
+ t["afii10065"] = 0x0430;
+ t["afii10066"] = 0x0431;
+ t["afii10067"] = 0x0432;
+ t["afii10068"] = 0x0433;
+ t["afii10069"] = 0x0434;
+ t["afii10070"] = 0x0435;
+ t["afii10071"] = 0x0451;
+ t["afii10072"] = 0x0436;
+ t["afii10073"] = 0x0437;
+ t["afii10074"] = 0x0438;
+ t["afii10075"] = 0x0439;
+ t["afii10076"] = 0x043a;
+ t["afii10077"] = 0x043b;
+ t["afii10078"] = 0x043c;
+ t["afii10079"] = 0x043d;
+ t["afii10080"] = 0x043e;
+ t["afii10081"] = 0x043f;
+ t["afii10082"] = 0x0440;
+ t["afii10083"] = 0x0441;
+ t["afii10084"] = 0x0442;
+ t["afii10085"] = 0x0443;
+ t["afii10086"] = 0x0444;
+ t["afii10087"] = 0x0445;
+ t["afii10088"] = 0x0446;
+ t["afii10089"] = 0x0447;
+ t["afii10090"] = 0x0448;
+ t["afii10091"] = 0x0449;
+ t["afii10092"] = 0x044a;
+ t["afii10093"] = 0x044b;
+ t["afii10094"] = 0x044c;
+ t["afii10095"] = 0x044d;
+ t["afii10096"] = 0x044e;
+ t["afii10097"] = 0x044f;
+ t["afii10098"] = 0x0491;
+ t["afii10099"] = 0x0452;
+ t["afii10100"] = 0x0453;
+ t["afii10101"] = 0x0454;
+ t["afii10102"] = 0x0455;
+ t["afii10103"] = 0x0456;
+ t["afii10104"] = 0x0457;
+ t["afii10105"] = 0x0458;
+ t["afii10106"] = 0x0459;
+ t["afii10107"] = 0x045a;
+ t["afii10108"] = 0x045b;
+ t["afii10109"] = 0x045c;
+ t["afii10110"] = 0x045e;
+ t["afii10145"] = 0x040f;
+ t["afii10146"] = 0x0462;
+ t["afii10147"] = 0x0472;
+ t["afii10148"] = 0x0474;
+ t["afii10192"] = 0xf6c6;
+ t["afii10193"] = 0x045f;
+ t["afii10194"] = 0x0463;
+ t["afii10195"] = 0x0473;
+ t["afii10196"] = 0x0475;
+ t["afii10831"] = 0xf6c7;
+ t["afii10832"] = 0xf6c8;
+ t["afii10846"] = 0x04d9;
+ t["afii299"] = 0x200e;
+ t["afii300"] = 0x200f;
+ t["afii301"] = 0x200d;
+ t["afii57381"] = 0x066a;
+ t["afii57388"] = 0x060c;
+ t["afii57392"] = 0x0660;
+ t["afii57393"] = 0x0661;
+ t["afii57394"] = 0x0662;
+ t["afii57395"] = 0x0663;
+ t["afii57396"] = 0x0664;
+ t["afii57397"] = 0x0665;
+ t["afii57398"] = 0x0666;
+ t["afii57399"] = 0x0667;
+ t["afii57400"] = 0x0668;
+ t["afii57401"] = 0x0669;
+ t["afii57403"] = 0x061b;
+ t["afii57407"] = 0x061f;
+ t["afii57409"] = 0x0621;
+ t["afii57410"] = 0x0622;
+ t["afii57411"] = 0x0623;
+ t["afii57412"] = 0x0624;
+ t["afii57413"] = 0x0625;
+ t["afii57414"] = 0x0626;
+ t["afii57415"] = 0x0627;
+ t["afii57416"] = 0x0628;
+ t["afii57417"] = 0x0629;
+ t["afii57418"] = 0x062a;
+ t["afii57419"] = 0x062b;
+ t["afii57420"] = 0x062c;
+ t["afii57421"] = 0x062d;
+ t["afii57422"] = 0x062e;
+ t["afii57423"] = 0x062f;
+ t["afii57424"] = 0x0630;
+ t["afii57425"] = 0x0631;
+ t["afii57426"] = 0x0632;
+ t["afii57427"] = 0x0633;
+ t["afii57428"] = 0x0634;
+ t["afii57429"] = 0x0635;
+ t["afii57430"] = 0x0636;
+ t["afii57431"] = 0x0637;
+ t["afii57432"] = 0x0638;
+ t["afii57433"] = 0x0639;
+ t["afii57434"] = 0x063a;
+ t["afii57440"] = 0x0640;
+ t["afii57441"] = 0x0641;
+ t["afii57442"] = 0x0642;
+ t["afii57443"] = 0x0643;
+ t["afii57444"] = 0x0644;
+ t["afii57445"] = 0x0645;
+ t["afii57446"] = 0x0646;
+ t["afii57448"] = 0x0648;
+ t["afii57449"] = 0x0649;
+ t["afii57450"] = 0x064a;
+ t["afii57451"] = 0x064b;
+ t["afii57452"] = 0x064c;
+ t["afii57453"] = 0x064d;
+ t["afii57454"] = 0x064e;
+ t["afii57455"] = 0x064f;
+ t["afii57456"] = 0x0650;
+ t["afii57457"] = 0x0651;
+ t["afii57458"] = 0x0652;
+ t["afii57470"] = 0x0647;
+ t["afii57505"] = 0x06a4;
+ t["afii57506"] = 0x067e;
+ t["afii57507"] = 0x0686;
+ t["afii57508"] = 0x0698;
+ t["afii57509"] = 0x06af;
+ t["afii57511"] = 0x0679;
+ t["afii57512"] = 0x0688;
+ t["afii57513"] = 0x0691;
+ t["afii57514"] = 0x06ba;
+ t["afii57519"] = 0x06d2;
+ t["afii57534"] = 0x06d5;
+ t["afii57636"] = 0x20aa;
+ t["afii57645"] = 0x05be;
+ t["afii57658"] = 0x05c3;
+ t["afii57664"] = 0x05d0;
+ t["afii57665"] = 0x05d1;
+ t["afii57666"] = 0x05d2;
+ t["afii57667"] = 0x05d3;
+ t["afii57668"] = 0x05d4;
+ t["afii57669"] = 0x05d5;
+ t["afii57670"] = 0x05d6;
+ t["afii57671"] = 0x05d7;
+ t["afii57672"] = 0x05d8;
+ t["afii57673"] = 0x05d9;
+ t["afii57674"] = 0x05da;
+ t["afii57675"] = 0x05db;
+ t["afii57676"] = 0x05dc;
+ t["afii57677"] = 0x05dd;
+ t["afii57678"] = 0x05de;
+ t["afii57679"] = 0x05df;
+ t["afii57680"] = 0x05e0;
+ t["afii57681"] = 0x05e1;
+ t["afii57682"] = 0x05e2;
+ t["afii57683"] = 0x05e3;
+ t["afii57684"] = 0x05e4;
+ t["afii57685"] = 0x05e5;
+ t["afii57686"] = 0x05e6;
+ t["afii57687"] = 0x05e7;
+ t["afii57688"] = 0x05e8;
+ t["afii57689"] = 0x05e9;
+ t["afii57690"] = 0x05ea;
+ t["afii57694"] = 0xfb2a;
+ t["afii57695"] = 0xfb2b;
+ t["afii57700"] = 0xfb4b;
+ t["afii57705"] = 0xfb1f;
+ t["afii57716"] = 0x05f0;
+ t["afii57717"] = 0x05f1;
+ t["afii57718"] = 0x05f2;
+ t["afii57723"] = 0xfb35;
+ t["afii57793"] = 0x05b4;
+ t["afii57794"] = 0x05b5;
+ t["afii57795"] = 0x05b6;
+ t["afii57796"] = 0x05bb;
+ t["afii57797"] = 0x05b8;
+ t["afii57798"] = 0x05b7;
+ t["afii57799"] = 0x05b0;
+ t["afii57800"] = 0x05b2;
+ t["afii57801"] = 0x05b1;
+ t["afii57802"] = 0x05b3;
+ t["afii57803"] = 0x05c2;
+ t["afii57804"] = 0x05c1;
+ t["afii57806"] = 0x05b9;
+ t["afii57807"] = 0x05bc;
+ t["afii57839"] = 0x05bd;
+ t["afii57841"] = 0x05bf;
+ t["afii57842"] = 0x05c0;
+ t["afii57929"] = 0x02bc;
+ t["afii61248"] = 0x2105;
+ t["afii61289"] = 0x2113;
+ t["afii61352"] = 0x2116;
+ t["afii61573"] = 0x202c;
+ t["afii61574"] = 0x202d;
+ t["afii61575"] = 0x202e;
+ t["afii61664"] = 0x200c;
+ t["afii63167"] = 0x066d;
+ t["afii64937"] = 0x02bd;
+ t["agrave"] = 0x00e0;
+ t["agujarati"] = 0x0a85;
+ t["agurmukhi"] = 0x0a05;
+ t["ahiragana"] = 0x3042;
+ t["ahookabove"] = 0x1ea3;
+ t["aibengali"] = 0x0990;
+ t["aibopomofo"] = 0x311e;
+ t["aideva"] = 0x0910;
+ t["aiecyrillic"] = 0x04d5;
+ t["aigujarati"] = 0x0a90;
+ t["aigurmukhi"] = 0x0a10;
+ t["aimatragurmukhi"] = 0x0a48;
+ t["ainarabic"] = 0x0639;
+ t["ainfinalarabic"] = 0xfeca;
+ t["aininitialarabic"] = 0xfecb;
+ t["ainmedialarabic"] = 0xfecc;
+ t["ainvertedbreve"] = 0x0203;
+ t["aivowelsignbengali"] = 0x09c8;
+ t["aivowelsigndeva"] = 0x0948;
+ t["aivowelsigngujarati"] = 0x0ac8;
+ t["akatakana"] = 0x30a2;
+ t["akatakanahalfwidth"] = 0xff71;
+ t["akorean"] = 0x314f;
+ t["alef"] = 0x05d0;
+ t["alefarabic"] = 0x0627;
+ t["alefdageshhebrew"] = 0xfb30;
+ t["aleffinalarabic"] = 0xfe8e;
+ t["alefhamzaabovearabic"] = 0x0623;
+ t["alefhamzaabovefinalarabic"] = 0xfe84;
+ t["alefhamzabelowarabic"] = 0x0625;
+ t["alefhamzabelowfinalarabic"] = 0xfe88;
+ t["alefhebrew"] = 0x05d0;
+ t["aleflamedhebrew"] = 0xfb4f;
+ t["alefmaddaabovearabic"] = 0x0622;
+ t["alefmaddaabovefinalarabic"] = 0xfe82;
+ t["alefmaksuraarabic"] = 0x0649;
+ t["alefmaksurafinalarabic"] = 0xfef0;
+ t["alefmaksurainitialarabic"] = 0xfef3;
+ t["alefmaksuramedialarabic"] = 0xfef4;
+ t["alefpatahhebrew"] = 0xfb2e;
+ t["alefqamatshebrew"] = 0xfb2f;
+ t["aleph"] = 0x2135;
+ t["allequal"] = 0x224c;
+ t["alpha"] = 0x03b1;
+ t["alphatonos"] = 0x03ac;
+ t["amacron"] = 0x0101;
+ t["amonospace"] = 0xff41;
+ t["ampersand"] = 0x0026;
+ t["ampersandmonospace"] = 0xff06;
+ t["ampersandsmall"] = 0xf726;
+ t["amsquare"] = 0x33c2;
+ t["anbopomofo"] = 0x3122;
+ t["angbopomofo"] = 0x3124;
+ t["angbracketleft"] = 0x3008;
+ t["angbracketright"] = 0x3009;
+ t["angkhankhuthai"] = 0x0e5a;
+ t["angle"] = 0x2220;
+ t["anglebracketleft"] = 0x3008;
+ t["anglebracketleftvertical"] = 0xfe3f;
+ t["anglebracketright"] = 0x3009;
+ t["anglebracketrightvertical"] = 0xfe40;
+ t["angleleft"] = 0x2329;
+ t["angleright"] = 0x232a;
+ t["angstrom"] = 0x212b;
+ t["anoteleia"] = 0x0387;
+ t["anudattadeva"] = 0x0952;
+ t["anusvarabengali"] = 0x0982;
+ t["anusvaradeva"] = 0x0902;
+ t["anusvaragujarati"] = 0x0a82;
+ t["aogonek"] = 0x0105;
+ t["apaatosquare"] = 0x3300;
+ t["aparen"] = 0x249c;
+ t["apostrophearmenian"] = 0x055a;
+ t["apostrophemod"] = 0x02bc;
+ t["apple"] = 0xf8ff;
+ t["approaches"] = 0x2250;
+ t["approxequal"] = 0x2248;
+ t["approxequalorimage"] = 0x2252;
+ t["approximatelyequal"] = 0x2245;
+ t["araeaekorean"] = 0x318e;
+ t["araeakorean"] = 0x318d;
+ t["arc"] = 0x2312;
+ t["arighthalfring"] = 0x1e9a;
+ t["aring"] = 0x00e5;
+ t["aringacute"] = 0x01fb;
+ t["aringbelow"] = 0x1e01;
+ t["arrowboth"] = 0x2194;
+ t["arrowdashdown"] = 0x21e3;
+ t["arrowdashleft"] = 0x21e0;
+ t["arrowdashright"] = 0x21e2;
+ t["arrowdashup"] = 0x21e1;
+ t["arrowdblboth"] = 0x21d4;
+ t["arrowdbldown"] = 0x21d3;
+ t["arrowdblleft"] = 0x21d0;
+ t["arrowdblright"] = 0x21d2;
+ t["arrowdblup"] = 0x21d1;
+ t["arrowdown"] = 0x2193;
+ t["arrowdownleft"] = 0x2199;
+ t["arrowdownright"] = 0x2198;
+ t["arrowdownwhite"] = 0x21e9;
+ t["arrowheaddownmod"] = 0x02c5;
+ t["arrowheadleftmod"] = 0x02c2;
+ t["arrowheadrightmod"] = 0x02c3;
+ t["arrowheadupmod"] = 0x02c4;
+ t["arrowhorizex"] = 0xf8e7;
+ t["arrowleft"] = 0x2190;
+ t["arrowleftdbl"] = 0x21d0;
+ t["arrowleftdblstroke"] = 0x21cd;
+ t["arrowleftoverright"] = 0x21c6;
+ t["arrowleftwhite"] = 0x21e6;
+ t["arrowright"] = 0x2192;
+ t["arrowrightdblstroke"] = 0x21cf;
+ t["arrowrightheavy"] = 0x279e;
+ t["arrowrightoverleft"] = 0x21c4;
+ t["arrowrightwhite"] = 0x21e8;
+ t["arrowtableft"] = 0x21e4;
+ t["arrowtabright"] = 0x21e5;
+ t["arrowup"] = 0x2191;
+ t["arrowupdn"] = 0x2195;
+ t["arrowupdnbse"] = 0x21a8;
+ t["arrowupdownbase"] = 0x21a8;
+ t["arrowupleft"] = 0x2196;
+ t["arrowupleftofdown"] = 0x21c5;
+ t["arrowupright"] = 0x2197;
+ t["arrowupwhite"] = 0x21e7;
+ t["arrowvertex"] = 0xf8e6;
+ t["asciicircum"] = 0x005e;
+ t["asciicircummonospace"] = 0xff3e;
+ t["asciitilde"] = 0x007e;
+ t["asciitildemonospace"] = 0xff5e;
+ t["ascript"] = 0x0251;
+ t["ascriptturned"] = 0x0252;
+ t["asmallhiragana"] = 0x3041;
+ t["asmallkatakana"] = 0x30a1;
+ t["asmallkatakanahalfwidth"] = 0xff67;
+ t["asterisk"] = 0x002a;
+ t["asteriskaltonearabic"] = 0x066d;
+ t["asteriskarabic"] = 0x066d;
+ t["asteriskmath"] = 0x2217;
+ t["asteriskmonospace"] = 0xff0a;
+ t["asterisksmall"] = 0xfe61;
+ t["asterism"] = 0x2042;
+ t["asuperior"] = 0xf6e9;
+ t["asymptoticallyequal"] = 0x2243;
+ t["at"] = 0x0040;
+ t["atilde"] = 0x00e3;
+ t["atmonospace"] = 0xff20;
+ t["atsmall"] = 0xfe6b;
+ t["aturned"] = 0x0250;
+ t["aubengali"] = 0x0994;
+ t["aubopomofo"] = 0x3120;
+ t["audeva"] = 0x0914;
+ t["augujarati"] = 0x0a94;
+ t["augurmukhi"] = 0x0a14;
+ t["aulengthmarkbengali"] = 0x09d7;
+ t["aumatragurmukhi"] = 0x0a4c;
+ t["auvowelsignbengali"] = 0x09cc;
+ t["auvowelsigndeva"] = 0x094c;
+ t["auvowelsigngujarati"] = 0x0acc;
+ t["avagrahadeva"] = 0x093d;
+ t["aybarmenian"] = 0x0561;
+ t["ayin"] = 0x05e2;
+ t["ayinaltonehebrew"] = 0xfb20;
+ t["ayinhebrew"] = 0x05e2;
+ t["b"] = 0x0062;
+ t["babengali"] = 0x09ac;
+ t["backslash"] = 0x005c;
+ t["backslashmonospace"] = 0xff3c;
+ t["badeva"] = 0x092c;
+ t["bagujarati"] = 0x0aac;
+ t["bagurmukhi"] = 0x0a2c;
+ t["bahiragana"] = 0x3070;
+ t["bahtthai"] = 0x0e3f;
+ t["bakatakana"] = 0x30d0;
+ t["bar"] = 0x007c;
+ t["barmonospace"] = 0xff5c;
+ t["bbopomofo"] = 0x3105;
+ t["bcircle"] = 0x24d1;
+ t["bdotaccent"] = 0x1e03;
+ t["bdotbelow"] = 0x1e05;
+ t["beamedsixteenthnotes"] = 0x266c;
+ t["because"] = 0x2235;
+ t["becyrillic"] = 0x0431;
+ t["beharabic"] = 0x0628;
+ t["behfinalarabic"] = 0xfe90;
+ t["behinitialarabic"] = 0xfe91;
+ t["behiragana"] = 0x3079;
+ t["behmedialarabic"] = 0xfe92;
+ t["behmeeminitialarabic"] = 0xfc9f;
+ t["behmeemisolatedarabic"] = 0xfc08;
+ t["behnoonfinalarabic"] = 0xfc6d;
+ t["bekatakana"] = 0x30d9;
+ t["benarmenian"] = 0x0562;
+ t["bet"] = 0x05d1;
+ t["beta"] = 0x03b2;
+ t["betasymbolgreek"] = 0x03d0;
+ t["betdagesh"] = 0xfb31;
+ t["betdageshhebrew"] = 0xfb31;
+ t["bethebrew"] = 0x05d1;
+ t["betrafehebrew"] = 0xfb4c;
+ t["bhabengali"] = 0x09ad;
+ t["bhadeva"] = 0x092d;
+ t["bhagujarati"] = 0x0aad;
+ t["bhagurmukhi"] = 0x0a2d;
+ t["bhook"] = 0x0253;
+ t["bihiragana"] = 0x3073;
+ t["bikatakana"] = 0x30d3;
+ t["bilabialclick"] = 0x0298;
+ t["bindigurmukhi"] = 0x0a02;
+ t["birusquare"] = 0x3331;
+ t["blackcircle"] = 0x25cf;
+ t["blackdiamond"] = 0x25c6;
+ t["blackdownpointingtriangle"] = 0x25bc;
+ t["blackleftpointingpointer"] = 0x25c4;
+ t["blackleftpointingtriangle"] = 0x25c0;
+ t["blacklenticularbracketleft"] = 0x3010;
+ t["blacklenticularbracketleftvertical"] = 0xfe3b;
+ t["blacklenticularbracketright"] = 0x3011;
+ t["blacklenticularbracketrightvertical"] = 0xfe3c;
+ t["blacklowerlefttriangle"] = 0x25e3;
+ t["blacklowerrighttriangle"] = 0x25e2;
+ t["blackrectangle"] = 0x25ac;
+ t["blackrightpointingpointer"] = 0x25ba;
+ t["blackrightpointingtriangle"] = 0x25b6;
+ t["blacksmallsquare"] = 0x25aa;
+ t["blacksmilingface"] = 0x263b;
+ t["blacksquare"] = 0x25a0;
+ t["blackstar"] = 0x2605;
+ t["blackupperlefttriangle"] = 0x25e4;
+ t["blackupperrighttriangle"] = 0x25e5;
+ t["blackuppointingsmalltriangle"] = 0x25b4;
+ t["blackuppointingtriangle"] = 0x25b2;
+ t["blank"] = 0x2423;
+ t["blinebelow"] = 0x1e07;
+ t["block"] = 0x2588;
+ t["bmonospace"] = 0xff42;
+ t["bobaimaithai"] = 0x0e1a;
+ t["bohiragana"] = 0x307c;
+ t["bokatakana"] = 0x30dc;
+ t["bparen"] = 0x249d;
+ t["bqsquare"] = 0x33c3;
+ t["braceex"] = 0xf8f4;
+ t["braceleft"] = 0x007b;
+ t["braceleftbt"] = 0xf8f3;
+ t["braceleftmid"] = 0xf8f2;
+ t["braceleftmonospace"] = 0xff5b;
+ t["braceleftsmall"] = 0xfe5b;
+ t["bracelefttp"] = 0xf8f1;
+ t["braceleftvertical"] = 0xfe37;
+ t["braceright"] = 0x007d;
+ t["bracerightbt"] = 0xf8fe;
+ t["bracerightmid"] = 0xf8fd;
+ t["bracerightmonospace"] = 0xff5d;
+ t["bracerightsmall"] = 0xfe5c;
+ t["bracerighttp"] = 0xf8fc;
+ t["bracerightvertical"] = 0xfe38;
+ t["bracketleft"] = 0x005b;
+ t["bracketleftbt"] = 0xf8f0;
+ t["bracketleftex"] = 0xf8ef;
+ t["bracketleftmonospace"] = 0xff3b;
+ t["bracketlefttp"] = 0xf8ee;
+ t["bracketright"] = 0x005d;
+ t["bracketrightbt"] = 0xf8fb;
+ t["bracketrightex"] = 0xf8fa;
+ t["bracketrightmonospace"] = 0xff3d;
+ t["bracketrighttp"] = 0xf8f9;
+ t["breve"] = 0x02d8;
+ t["brevebelowcmb"] = 0x032e;
+ t["brevecmb"] = 0x0306;
+ t["breveinvertedbelowcmb"] = 0x032f;
+ t["breveinvertedcmb"] = 0x0311;
+ t["breveinverteddoublecmb"] = 0x0361;
+ t["bridgebelowcmb"] = 0x032a;
+ t["bridgeinvertedbelowcmb"] = 0x033a;
+ t["brokenbar"] = 0x00a6;
+ t["bstroke"] = 0x0180;
+ t["bsuperior"] = 0xf6ea;
+ t["btopbar"] = 0x0183;
+ t["buhiragana"] = 0x3076;
+ t["bukatakana"] = 0x30d6;
+ t["bullet"] = 0x2022;
+ t["bulletinverse"] = 0x25d8;
+ t["bulletoperator"] = 0x2219;
+ t["bullseye"] = 0x25ce;
+ t["c"] = 0x0063;
+ t["caarmenian"] = 0x056e;
+ t["cabengali"] = 0x099a;
+ t["cacute"] = 0x0107;
+ t["cadeva"] = 0x091a;
+ t["cagujarati"] = 0x0a9a;
+ t["cagurmukhi"] = 0x0a1a;
+ t["calsquare"] = 0x3388;
+ t["candrabindubengali"] = 0x0981;
+ t["candrabinducmb"] = 0x0310;
+ t["candrabindudeva"] = 0x0901;
+ t["candrabindugujarati"] = 0x0a81;
+ t["capslock"] = 0x21ea;
+ t["careof"] = 0x2105;
+ t["caron"] = 0x02c7;
+ t["caronbelowcmb"] = 0x032c;
+ t["caroncmb"] = 0x030c;
+ t["carriagereturn"] = 0x21b5;
+ t["cbopomofo"] = 0x3118;
+ t["ccaron"] = 0x010d;
+ t["ccedilla"] = 0x00e7;
+ t["ccedillaacute"] = 0x1e09;
+ t["ccircle"] = 0x24d2;
+ t["ccircumflex"] = 0x0109;
+ t["ccurl"] = 0x0255;
+ t["cdot"] = 0x010b;
+ t["cdotaccent"] = 0x010b;
+ t["cdsquare"] = 0x33c5;
+ t["cedilla"] = 0x00b8;
+ t["cedillacmb"] = 0x0327;
+ t["cent"] = 0x00a2;
+ t["centigrade"] = 0x2103;
+ t["centinferior"] = 0xf6df;
+ t["centmonospace"] = 0xffe0;
+ t["centoldstyle"] = 0xf7a2;
+ t["centsuperior"] = 0xf6e0;
+ t["chaarmenian"] = 0x0579;
+ t["chabengali"] = 0x099b;
+ t["chadeva"] = 0x091b;
+ t["chagujarati"] = 0x0a9b;
+ t["chagurmukhi"] = 0x0a1b;
+ t["chbopomofo"] = 0x3114;
+ t["cheabkhasiancyrillic"] = 0x04bd;
+ t["checkmark"] = 0x2713;
+ t["checyrillic"] = 0x0447;
+ t["chedescenderabkhasiancyrillic"] = 0x04bf;
+ t["chedescendercyrillic"] = 0x04b7;
+ t["chedieresiscyrillic"] = 0x04f5;
+ t["cheharmenian"] = 0x0573;
+ t["chekhakassiancyrillic"] = 0x04cc;
+ t["cheverticalstrokecyrillic"] = 0x04b9;
+ t["chi"] = 0x03c7;
+ t["chieuchacirclekorean"] = 0x3277;
+ t["chieuchaparenkorean"] = 0x3217;
+ t["chieuchcirclekorean"] = 0x3269;
+ t["chieuchkorean"] = 0x314a;
+ t["chieuchparenkorean"] = 0x3209;
+ t["chochangthai"] = 0x0e0a;
+ t["chochanthai"] = 0x0e08;
+ t["chochingthai"] = 0x0e09;
+ t["chochoethai"] = 0x0e0c;
+ t["chook"] = 0x0188;
+ t["cieucacirclekorean"] = 0x3276;
+ t["cieucaparenkorean"] = 0x3216;
+ t["cieuccirclekorean"] = 0x3268;
+ t["cieuckorean"] = 0x3148;
+ t["cieucparenkorean"] = 0x3208;
+ t["cieucuparenkorean"] = 0x321c;
+ t["circle"] = 0x25cb;
+ t["circlecopyrt"] = 0x00a9;
+ t["circlemultiply"] = 0x2297;
+ t["circleot"] = 0x2299;
+ t["circleplus"] = 0x2295;
+ t["circlepostalmark"] = 0x3036;
+ t["circlewithlefthalfblack"] = 0x25d0;
+ t["circlewithrighthalfblack"] = 0x25d1;
+ t["circumflex"] = 0x02c6;
+ t["circumflexbelowcmb"] = 0x032d;
+ t["circumflexcmb"] = 0x0302;
+ t["clear"] = 0x2327;
+ t["clickalveolar"] = 0x01c2;
+ t["clickdental"] = 0x01c0;
+ t["clicklateral"] = 0x01c1;
+ t["clickretroflex"] = 0x01c3;
+ t["club"] = 0x2663;
+ t["clubsuitblack"] = 0x2663;
+ t["clubsuitwhite"] = 0x2667;
+ t["cmcubedsquare"] = 0x33a4;
+ t["cmonospace"] = 0xff43;
+ t["cmsquaredsquare"] = 0x33a0;
+ t["coarmenian"] = 0x0581;
+ t["colon"] = 0x003a;
+ t["colonmonetary"] = 0x20a1;
+ t["colonmonospace"] = 0xff1a;
+ t["colonsign"] = 0x20a1;
+ t["colonsmall"] = 0xfe55;
+ t["colontriangularhalfmod"] = 0x02d1;
+ t["colontriangularmod"] = 0x02d0;
+ t["comma"] = 0x002c;
+ t["commaabovecmb"] = 0x0313;
+ t["commaaboverightcmb"] = 0x0315;
+ t["commaaccent"] = 0xf6c3;
+ t["commaarabic"] = 0x060c;
+ t["commaarmenian"] = 0x055d;
+ t["commainferior"] = 0xf6e1;
+ t["commamonospace"] = 0xff0c;
+ t["commareversedabovecmb"] = 0x0314;
+ t["commareversedmod"] = 0x02bd;
+ t["commasmall"] = 0xfe50;
+ t["commasuperior"] = 0xf6e2;
+ t["commaturnedabovecmb"] = 0x0312;
+ t["commaturnedmod"] = 0x02bb;
+ t["compass"] = 0x263c;
+ t["congruent"] = 0x2245;
+ t["contourintegral"] = 0x222e;
+ t["control"] = 0x2303;
+ t["controlACK"] = 0x0006;
+ t["controlBEL"] = 0x0007;
+ t["controlBS"] = 0x0008;
+ t["controlCAN"] = 0x0018;
+ t["controlCR"] = 0x000d;
+ t["controlDC1"] = 0x0011;
+ t["controlDC2"] = 0x0012;
+ t["controlDC3"] = 0x0013;
+ t["controlDC4"] = 0x0014;
+ t["controlDEL"] = 0x007f;
+ t["controlDLE"] = 0x0010;
+ t["controlEM"] = 0x0019;
+ t["controlENQ"] = 0x0005;
+ t["controlEOT"] = 0x0004;
+ t["controlESC"] = 0x001b;
+ t["controlETB"] = 0x0017;
+ t["controlETX"] = 0x0003;
+ t["controlFF"] = 0x000c;
+ t["controlFS"] = 0x001c;
+ t["controlGS"] = 0x001d;
+ t["controlHT"] = 0x0009;
+ t["controlLF"] = 0x000a;
+ t["controlNAK"] = 0x0015;
+ t["controlNULL"] = 0x0000;
+ t["controlRS"] = 0x001e;
+ t["controlSI"] = 0x000f;
+ t["controlSO"] = 0x000e;
+ t["controlSOT"] = 0x0002;
+ t["controlSTX"] = 0x0001;
+ t["controlSUB"] = 0x001a;
+ t["controlSYN"] = 0x0016;
+ t["controlUS"] = 0x001f;
+ t["controlVT"] = 0x000b;
+ t["copyright"] = 0x00a9;
+ t["copyrightsans"] = 0xf8e9;
+ t["copyrightserif"] = 0xf6d9;
+ t["cornerbracketleft"] = 0x300c;
+ t["cornerbracketlefthalfwidth"] = 0xff62;
+ t["cornerbracketleftvertical"] = 0xfe41;
+ t["cornerbracketright"] = 0x300d;
+ t["cornerbracketrighthalfwidth"] = 0xff63;
+ t["cornerbracketrightvertical"] = 0xfe42;
+ t["corporationsquare"] = 0x337f;
+ t["cosquare"] = 0x33c7;
+ t["coverkgsquare"] = 0x33c6;
+ t["cparen"] = 0x249e;
+ t["cruzeiro"] = 0x20a2;
+ t["cstretched"] = 0x0297;
+ t["curlyand"] = 0x22cf;
+ t["curlyor"] = 0x22ce;
+ t["currency"] = 0x00a4;
+ t["cyrBreve"] = 0xf6d1;
+ t["cyrFlex"] = 0xf6d2;
+ t["cyrbreve"] = 0xf6d4;
+ t["cyrflex"] = 0xf6d5;
+ t["d"] = 0x0064;
+ t["daarmenian"] = 0x0564;
+ t["dabengali"] = 0x09a6;
+ t["dadarabic"] = 0x0636;
+ t["dadeva"] = 0x0926;
+ t["dadfinalarabic"] = 0xfebe;
+ t["dadinitialarabic"] = 0xfebf;
+ t["dadmedialarabic"] = 0xfec0;
+ t["dagesh"] = 0x05bc;
+ t["dageshhebrew"] = 0x05bc;
+ t["dagger"] = 0x2020;
+ t["daggerdbl"] = 0x2021;
+ t["dagujarati"] = 0x0aa6;
+ t["dagurmukhi"] = 0x0a26;
+ t["dahiragana"] = 0x3060;
+ t["dakatakana"] = 0x30c0;
+ t["dalarabic"] = 0x062f;
+ t["dalet"] = 0x05d3;
+ t["daletdagesh"] = 0xfb33;
+ t["daletdageshhebrew"] = 0xfb33;
+ t["dalethebrew"] = 0x05d3;
+ t["dalfinalarabic"] = 0xfeaa;
+ t["dammaarabic"] = 0x064f;
+ t["dammalowarabic"] = 0x064f;
+ t["dammatanaltonearabic"] = 0x064c;
+ t["dammatanarabic"] = 0x064c;
+ t["danda"] = 0x0964;
+ t["dargahebrew"] = 0x05a7;
+ t["dargalefthebrew"] = 0x05a7;
+ t["dasiapneumatacyrilliccmb"] = 0x0485;
+ t["dblGrave"] = 0xf6d3;
+ t["dblanglebracketleft"] = 0x300a;
+ t["dblanglebracketleftvertical"] = 0xfe3d;
+ t["dblanglebracketright"] = 0x300b;
+ t["dblanglebracketrightvertical"] = 0xfe3e;
+ t["dblarchinvertedbelowcmb"] = 0x032b;
+ t["dblarrowleft"] = 0x21d4;
+ t["dblarrowright"] = 0x21d2;
+ t["dbldanda"] = 0x0965;
+ t["dblgrave"] = 0xf6d6;
+ t["dblgravecmb"] = 0x030f;
+ t["dblintegral"] = 0x222c;
+ t["dbllowline"] = 0x2017;
+ t["dbllowlinecmb"] = 0x0333;
+ t["dbloverlinecmb"] = 0x033f;
+ t["dblprimemod"] = 0x02ba;
+ t["dblverticalbar"] = 0x2016;
+ t["dblverticallineabovecmb"] = 0x030e;
+ t["dbopomofo"] = 0x3109;
+ t["dbsquare"] = 0x33c8;
+ t["dcaron"] = 0x010f;
+ t["dcedilla"] = 0x1e11;
+ t["dcircle"] = 0x24d3;
+ t["dcircumflexbelow"] = 0x1e13;
+ t["dcroat"] = 0x0111;
+ t["ddabengali"] = 0x09a1;
+ t["ddadeva"] = 0x0921;
+ t["ddagujarati"] = 0x0aa1;
+ t["ddagurmukhi"] = 0x0a21;
+ t["ddalarabic"] = 0x0688;
+ t["ddalfinalarabic"] = 0xfb89;
+ t["dddhadeva"] = 0x095c;
+ t["ddhabengali"] = 0x09a2;
+ t["ddhadeva"] = 0x0922;
+ t["ddhagujarati"] = 0x0aa2;
+ t["ddhagurmukhi"] = 0x0a22;
+ t["ddotaccent"] = 0x1e0b;
+ t["ddotbelow"] = 0x1e0d;
+ t["decimalseparatorarabic"] = 0x066b;
+ t["decimalseparatorpersian"] = 0x066b;
+ t["decyrillic"] = 0x0434;
+ t["degree"] = 0x00b0;
+ t["dehihebrew"] = 0x05ad;
+ t["dehiragana"] = 0x3067;
+ t["deicoptic"] = 0x03ef;
+ t["dekatakana"] = 0x30c7;
+ t["deleteleft"] = 0x232b;
+ t["deleteright"] = 0x2326;
+ t["delta"] = 0x03b4;
+ t["deltaturned"] = 0x018d;
+ t["denominatorminusonenumeratorbengali"] = 0x09f8;
+ t["dezh"] = 0x02a4;
+ t["dhabengali"] = 0x09a7;
+ t["dhadeva"] = 0x0927;
+ t["dhagujarati"] = 0x0aa7;
+ t["dhagurmukhi"] = 0x0a27;
+ t["dhook"] = 0x0257;
+ t["dialytikatonos"] = 0x0385;
+ t["dialytikatonoscmb"] = 0x0344;
+ t["diamond"] = 0x2666;
+ t["diamondsuitwhite"] = 0x2662;
+ t["dieresis"] = 0x00a8;
+ t["dieresisacute"] = 0xf6d7;
+ t["dieresisbelowcmb"] = 0x0324;
+ t["dieresiscmb"] = 0x0308;
+ t["dieresisgrave"] = 0xf6d8;
+ t["dieresistonos"] = 0x0385;
+ t["dihiragana"] = 0x3062;
+ t["dikatakana"] = 0x30c2;
+ t["dittomark"] = 0x3003;
+ t["divide"] = 0x00f7;
+ t["divides"] = 0x2223;
+ t["divisionslash"] = 0x2215;
+ t["djecyrillic"] = 0x0452;
+ t["dkshade"] = 0x2593;
+ t["dlinebelow"] = 0x1e0f;
+ t["dlsquare"] = 0x3397;
+ t["dmacron"] = 0x0111;
+ t["dmonospace"] = 0xff44;
+ t["dnblock"] = 0x2584;
+ t["dochadathai"] = 0x0e0e;
+ t["dodekthai"] = 0x0e14;
+ t["dohiragana"] = 0x3069;
+ t["dokatakana"] = 0x30c9;
+ t["dollar"] = 0x0024;
+ t["dollarinferior"] = 0xf6e3;
+ t["dollarmonospace"] = 0xff04;
+ t["dollaroldstyle"] = 0xf724;
+ t["dollarsmall"] = 0xfe69;
+ t["dollarsuperior"] = 0xf6e4;
+ t["dong"] = 0x20ab;
+ t["dorusquare"] = 0x3326;
+ t["dotaccent"] = 0x02d9;
+ t["dotaccentcmb"] = 0x0307;
+ t["dotbelowcmb"] = 0x0323;
+ t["dotbelowcomb"] = 0x0323;
+ t["dotkatakana"] = 0x30fb;
+ t["dotlessi"] = 0x0131;
+ t["dotlessj"] = 0xf6be;
+ t["dotlessjstrokehook"] = 0x0284;
+ t["dotmath"] = 0x22c5;
+ t["dottedcircle"] = 0x25cc;
+ t["doubleyodpatah"] = 0xfb1f;
+ t["doubleyodpatahhebrew"] = 0xfb1f;
+ t["downtackbelowcmb"] = 0x031e;
+ t["downtackmod"] = 0x02d5;
+ t["dparen"] = 0x249f;
+ t["dsuperior"] = 0xf6eb;
+ t["dtail"] = 0x0256;
+ t["dtopbar"] = 0x018c;
+ t["duhiragana"] = 0x3065;
+ t["dukatakana"] = 0x30c5;
+ t["dz"] = 0x01f3;
+ t["dzaltone"] = 0x02a3;
+ t["dzcaron"] = 0x01c6;
+ t["dzcurl"] = 0x02a5;
+ t["dzeabkhasiancyrillic"] = 0x04e1;
+ t["dzecyrillic"] = 0x0455;
+ t["dzhecyrillic"] = 0x045f;
+ t["e"] = 0x0065;
+ t["eacute"] = 0x00e9;
+ t["earth"] = 0x2641;
+ t["ebengali"] = 0x098f;
+ t["ebopomofo"] = 0x311c;
+ t["ebreve"] = 0x0115;
+ t["ecandradeva"] = 0x090d;
+ t["ecandragujarati"] = 0x0a8d;
+ t["ecandravowelsigndeva"] = 0x0945;
+ t["ecandravowelsigngujarati"] = 0x0ac5;
+ t["ecaron"] = 0x011b;
+ t["ecedillabreve"] = 0x1e1d;
+ t["echarmenian"] = 0x0565;
+ t["echyiwnarmenian"] = 0x0587;
+ t["ecircle"] = 0x24d4;
+ t["ecircumflex"] = 0x00ea;
+ t["ecircumflexacute"] = 0x1ebf;
+ t["ecircumflexbelow"] = 0x1e19;
+ t["ecircumflexdotbelow"] = 0x1ec7;
+ t["ecircumflexgrave"] = 0x1ec1;
+ t["ecircumflexhookabove"] = 0x1ec3;
+ t["ecircumflextilde"] = 0x1ec5;
+ t["ecyrillic"] = 0x0454;
+ t["edblgrave"] = 0x0205;
+ t["edeva"] = 0x090f;
+ t["edieresis"] = 0x00eb;
+ t["edot"] = 0x0117;
+ t["edotaccent"] = 0x0117;
+ t["edotbelow"] = 0x1eb9;
+ t["eegurmukhi"] = 0x0a0f;
+ t["eematragurmukhi"] = 0x0a47;
+ t["efcyrillic"] = 0x0444;
+ t["egrave"] = 0x00e8;
+ t["egujarati"] = 0x0a8f;
+ t["eharmenian"] = 0x0567;
+ t["ehbopomofo"] = 0x311d;
+ t["ehiragana"] = 0x3048;
+ t["ehookabove"] = 0x1ebb;
+ t["eibopomofo"] = 0x311f;
+ t["eight"] = 0x0038;
+ t["eightarabic"] = 0x0668;
+ t["eightbengali"] = 0x09ee;
+ t["eightcircle"] = 0x2467;
+ t["eightcircleinversesansserif"] = 0x2791;
+ t["eightdeva"] = 0x096e;
+ t["eighteencircle"] = 0x2471;
+ t["eighteenparen"] = 0x2485;
+ t["eighteenperiod"] = 0x2499;
+ t["eightgujarati"] = 0x0aee;
+ t["eightgurmukhi"] = 0x0a6e;
+ t["eighthackarabic"] = 0x0668;
+ t["eighthangzhou"] = 0x3028;
+ t["eighthnotebeamed"] = 0x266b;
+ t["eightideographicparen"] = 0x3227;
+ t["eightinferior"] = 0x2088;
+ t["eightmonospace"] = 0xff18;
+ t["eightoldstyle"] = 0xf738;
+ t["eightparen"] = 0x247b;
+ t["eightperiod"] = 0x248f;
+ t["eightpersian"] = 0x06f8;
+ t["eightroman"] = 0x2177;
+ t["eightsuperior"] = 0x2078;
+ t["eightthai"] = 0x0e58;
+ t["einvertedbreve"] = 0x0207;
+ t["eiotifiedcyrillic"] = 0x0465;
+ t["ekatakana"] = 0x30a8;
+ t["ekatakanahalfwidth"] = 0xff74;
+ t["ekonkargurmukhi"] = 0x0a74;
+ t["ekorean"] = 0x3154;
+ t["elcyrillic"] = 0x043b;
+ t["element"] = 0x2208;
+ t["elevencircle"] = 0x246a;
+ t["elevenparen"] = 0x247e;
+ t["elevenperiod"] = 0x2492;
+ t["elevenroman"] = 0x217a;
+ t["ellipsis"] = 0x2026;
+ t["ellipsisvertical"] = 0x22ee;
+ t["emacron"] = 0x0113;
+ t["emacronacute"] = 0x1e17;
+ t["emacrongrave"] = 0x1e15;
+ t["emcyrillic"] = 0x043c;
+ t["emdash"] = 0x2014;
+ t["emdashvertical"] = 0xfe31;
+ t["emonospace"] = 0xff45;
+ t["emphasismarkarmenian"] = 0x055b;
+ t["emptyset"] = 0x2205;
+ t["enbopomofo"] = 0x3123;
+ t["encyrillic"] = 0x043d;
+ t["endash"] = 0x2013;
+ t["endashvertical"] = 0xfe32;
+ t["endescendercyrillic"] = 0x04a3;
+ t["eng"] = 0x014b;
+ t["engbopomofo"] = 0x3125;
+ t["enghecyrillic"] = 0x04a5;
+ t["enhookcyrillic"] = 0x04c8;
+ t["enspace"] = 0x2002;
+ t["eogonek"] = 0x0119;
+ t["eokorean"] = 0x3153;
+ t["eopen"] = 0x025b;
+ t["eopenclosed"] = 0x029a;
+ t["eopenreversed"] = 0x025c;
+ t["eopenreversedclosed"] = 0x025e;
+ t["eopenreversedhook"] = 0x025d;
+ t["eparen"] = 0x24a0;
+ t["epsilon"] = 0x03b5;
+ t["epsilontonos"] = 0x03ad;
+ t["equal"] = 0x003d;
+ t["equalmonospace"] = 0xff1d;
+ t["equalsmall"] = 0xfe66;
+ t["equalsuperior"] = 0x207c;
+ t["equivalence"] = 0x2261;
+ t["erbopomofo"] = 0x3126;
+ t["ercyrillic"] = 0x0440;
+ t["ereversed"] = 0x0258;
+ t["ereversedcyrillic"] = 0x044d;
+ t["escyrillic"] = 0x0441;
+ t["esdescendercyrillic"] = 0x04ab;
+ t["esh"] = 0x0283;
+ t["eshcurl"] = 0x0286;
+ t["eshortdeva"] = 0x090e;
+ t["eshortvowelsigndeva"] = 0x0946;
+ t["eshreversedloop"] = 0x01aa;
+ t["eshsquatreversed"] = 0x0285;
+ t["esmallhiragana"] = 0x3047;
+ t["esmallkatakana"] = 0x30a7;
+ t["esmallkatakanahalfwidth"] = 0xff6a;
+ t["estimated"] = 0x212e;
+ t["esuperior"] = 0xf6ec;
+ t["eta"] = 0x03b7;
+ t["etarmenian"] = 0x0568;
+ t["etatonos"] = 0x03ae;
+ t["eth"] = 0x00f0;
+ t["etilde"] = 0x1ebd;
+ t["etildebelow"] = 0x1e1b;
+ t["etnahtafoukhhebrew"] = 0x0591;
+ t["etnahtafoukhlefthebrew"] = 0x0591;
+ t["etnahtahebrew"] = 0x0591;
+ t["etnahtalefthebrew"] = 0x0591;
+ t["eturned"] = 0x01dd;
+ t["eukorean"] = 0x3161;
+ t["euro"] = 0x20ac;
+ t["evowelsignbengali"] = 0x09c7;
+ t["evowelsigndeva"] = 0x0947;
+ t["evowelsigngujarati"] = 0x0ac7;
+ t["exclam"] = 0x0021;
+ t["exclamarmenian"] = 0x055c;
+ t["exclamdbl"] = 0x203c;
+ t["exclamdown"] = 0x00a1;
+ t["exclamdownsmall"] = 0xf7a1;
+ t["exclammonospace"] = 0xff01;
+ t["exclamsmall"] = 0xf721;
+ t["existential"] = 0x2203;
+ t["ezh"] = 0x0292;
+ t["ezhcaron"] = 0x01ef;
+ t["ezhcurl"] = 0x0293;
+ t["ezhreversed"] = 0x01b9;
+ t["ezhtail"] = 0x01ba;
+ t["f"] = 0x0066;
+ t["fadeva"] = 0x095e;
+ t["fagurmukhi"] = 0x0a5e;
+ t["fahrenheit"] = 0x2109;
+ t["fathaarabic"] = 0x064e;
+ t["fathalowarabic"] = 0x064e;
+ t["fathatanarabic"] = 0x064b;
+ t["fbopomofo"] = 0x3108;
+ t["fcircle"] = 0x24d5;
+ t["fdotaccent"] = 0x1e1f;
+ t["feharabic"] = 0x0641;
+ t["feharmenian"] = 0x0586;
+ t["fehfinalarabic"] = 0xfed2;
+ t["fehinitialarabic"] = 0xfed3;
+ t["fehmedialarabic"] = 0xfed4;
+ t["feicoptic"] = 0x03e5;
+ t["female"] = 0x2640;
+ t["ff"] = 0xfb00;
+ t["f_f"] = 0xfb00;
+ t["ffi"] = 0xfb03;
+ t["ffl"] = 0xfb04;
+ t["fi"] = 0xfb01;
+ t["fifteencircle"] = 0x246e;
+ t["fifteenparen"] = 0x2482;
+ t["fifteenperiod"] = 0x2496;
+ t["figuredash"] = 0x2012;
+ t["filledbox"] = 0x25a0;
+ t["filledrect"] = 0x25ac;
+ t["finalkaf"] = 0x05da;
+ t["finalkafdagesh"] = 0xfb3a;
+ t["finalkafdageshhebrew"] = 0xfb3a;
+ t["finalkafhebrew"] = 0x05da;
+ t["finalmem"] = 0x05dd;
+ t["finalmemhebrew"] = 0x05dd;
+ t["finalnun"] = 0x05df;
+ t["finalnunhebrew"] = 0x05df;
+ t["finalpe"] = 0x05e3;
+ t["finalpehebrew"] = 0x05e3;
+ t["finaltsadi"] = 0x05e5;
+ t["finaltsadihebrew"] = 0x05e5;
+ t["firsttonechinese"] = 0x02c9;
+ t["fisheye"] = 0x25c9;
+ t["fitacyrillic"] = 0x0473;
+ t["five"] = 0x0035;
+ t["fivearabic"] = 0x0665;
+ t["fivebengali"] = 0x09eb;
+ t["fivecircle"] = 0x2464;
+ t["fivecircleinversesansserif"] = 0x278e;
+ t["fivedeva"] = 0x096b;
+ t["fiveeighths"] = 0x215d;
+ t["fivegujarati"] = 0x0aeb;
+ t["fivegurmukhi"] = 0x0a6b;
+ t["fivehackarabic"] = 0x0665;
+ t["fivehangzhou"] = 0x3025;
+ t["fiveideographicparen"] = 0x3224;
+ t["fiveinferior"] = 0x2085;
+ t["fivemonospace"] = 0xff15;
+ t["fiveoldstyle"] = 0xf735;
+ t["fiveparen"] = 0x2478;
+ t["fiveperiod"] = 0x248c;
+ t["fivepersian"] = 0x06f5;
+ t["fiveroman"] = 0x2174;
+ t["fivesuperior"] = 0x2075;
+ t["fivethai"] = 0x0e55;
+ t["fl"] = 0xfb02;
+ t["florin"] = 0x0192;
+ t["fmonospace"] = 0xff46;
+ t["fmsquare"] = 0x3399;
+ t["fofanthai"] = 0x0e1f;
+ t["fofathai"] = 0x0e1d;
+ t["fongmanthai"] = 0x0e4f;
+ t["forall"] = 0x2200;
+ t["four"] = 0x0034;
+ t["fourarabic"] = 0x0664;
+ t["fourbengali"] = 0x09ea;
+ t["fourcircle"] = 0x2463;
+ t["fourcircleinversesansserif"] = 0x278d;
+ t["fourdeva"] = 0x096a;
+ t["fourgujarati"] = 0x0aea;
+ t["fourgurmukhi"] = 0x0a6a;
+ t["fourhackarabic"] = 0x0664;
+ t["fourhangzhou"] = 0x3024;
+ t["fourideographicparen"] = 0x3223;
+ t["fourinferior"] = 0x2084;
+ t["fourmonospace"] = 0xff14;
+ t["fournumeratorbengali"] = 0x09f7;
+ t["fouroldstyle"] = 0xf734;
+ t["fourparen"] = 0x2477;
+ t["fourperiod"] = 0x248b;
+ t["fourpersian"] = 0x06f4;
+ t["fourroman"] = 0x2173;
+ t["foursuperior"] = 0x2074;
+ t["fourteencircle"] = 0x246d;
+ t["fourteenparen"] = 0x2481;
+ t["fourteenperiod"] = 0x2495;
+ t["fourthai"] = 0x0e54;
+ t["fourthtonechinese"] = 0x02cb;
+ t["fparen"] = 0x24a1;
+ t["fraction"] = 0x2044;
+ t["franc"] = 0x20a3;
+ t["g"] = 0x0067;
+ t["gabengali"] = 0x0997;
+ t["gacute"] = 0x01f5;
+ t["gadeva"] = 0x0917;
+ t["gafarabic"] = 0x06af;
+ t["gaffinalarabic"] = 0xfb93;
+ t["gafinitialarabic"] = 0xfb94;
+ t["gafmedialarabic"] = 0xfb95;
+ t["gagujarati"] = 0x0a97;
+ t["gagurmukhi"] = 0x0a17;
+ t["gahiragana"] = 0x304c;
+ t["gakatakana"] = 0x30ac;
+ t["gamma"] = 0x03b3;
+ t["gammalatinsmall"] = 0x0263;
+ t["gammasuperior"] = 0x02e0;
+ t["gangiacoptic"] = 0x03eb;
+ t["gbopomofo"] = 0x310d;
+ t["gbreve"] = 0x011f;
+ t["gcaron"] = 0x01e7;
+ t["gcedilla"] = 0x0123;
+ t["gcircle"] = 0x24d6;
+ t["gcircumflex"] = 0x011d;
+ t["gcommaaccent"] = 0x0123;
+ t["gdot"] = 0x0121;
+ t["gdotaccent"] = 0x0121;
+ t["gecyrillic"] = 0x0433;
+ t["gehiragana"] = 0x3052;
+ t["gekatakana"] = 0x30b2;
+ t["geometricallyequal"] = 0x2251;
+ t["gereshaccenthebrew"] = 0x059c;
+ t["gereshhebrew"] = 0x05f3;
+ t["gereshmuqdamhebrew"] = 0x059d;
+ t["germandbls"] = 0x00df;
+ t["gershayimaccenthebrew"] = 0x059e;
+ t["gershayimhebrew"] = 0x05f4;
+ t["getamark"] = 0x3013;
+ t["ghabengali"] = 0x0998;
+ t["ghadarmenian"] = 0x0572;
+ t["ghadeva"] = 0x0918;
+ t["ghagujarati"] = 0x0a98;
+ t["ghagurmukhi"] = 0x0a18;
+ t["ghainarabic"] = 0x063a;
+ t["ghainfinalarabic"] = 0xfece;
+ t["ghaininitialarabic"] = 0xfecf;
+ t["ghainmedialarabic"] = 0xfed0;
+ t["ghemiddlehookcyrillic"] = 0x0495;
+ t["ghestrokecyrillic"] = 0x0493;
+ t["gheupturncyrillic"] = 0x0491;
+ t["ghhadeva"] = 0x095a;
+ t["ghhagurmukhi"] = 0x0a5a;
+ t["ghook"] = 0x0260;
+ t["ghzsquare"] = 0x3393;
+ t["gihiragana"] = 0x304e;
+ t["gikatakana"] = 0x30ae;
+ t["gimarmenian"] = 0x0563;
+ t["gimel"] = 0x05d2;
+ t["gimeldagesh"] = 0xfb32;
+ t["gimeldageshhebrew"] = 0xfb32;
+ t["gimelhebrew"] = 0x05d2;
+ t["gjecyrillic"] = 0x0453;
+ t["glottalinvertedstroke"] = 0x01be;
+ t["glottalstop"] = 0x0294;
+ t["glottalstopinverted"] = 0x0296;
+ t["glottalstopmod"] = 0x02c0;
+ t["glottalstopreversed"] = 0x0295;
+ t["glottalstopreversedmod"] = 0x02c1;
+ t["glottalstopreversedsuperior"] = 0x02e4;
+ t["glottalstopstroke"] = 0x02a1;
+ t["glottalstopstrokereversed"] = 0x02a2;
+ t["gmacron"] = 0x1e21;
+ t["gmonospace"] = 0xff47;
+ t["gohiragana"] = 0x3054;
+ t["gokatakana"] = 0x30b4;
+ t["gparen"] = 0x24a2;
+ t["gpasquare"] = 0x33ac;
+ t["gradient"] = 0x2207;
+ t["grave"] = 0x0060;
+ t["gravebelowcmb"] = 0x0316;
+ t["gravecmb"] = 0x0300;
+ t["gravecomb"] = 0x0300;
+ t["gravedeva"] = 0x0953;
+ t["gravelowmod"] = 0x02ce;
+ t["gravemonospace"] = 0xff40;
+ t["gravetonecmb"] = 0x0340;
+ t["greater"] = 0x003e;
+ t["greaterequal"] = 0x2265;
+ t["greaterequalorless"] = 0x22db;
+ t["greatermonospace"] = 0xff1e;
+ t["greaterorequivalent"] = 0x2273;
+ t["greaterorless"] = 0x2277;
+ t["greateroverequal"] = 0x2267;
+ t["greatersmall"] = 0xfe65;
+ t["gscript"] = 0x0261;
+ t["gstroke"] = 0x01e5;
+ t["guhiragana"] = 0x3050;
+ t["guillemotleft"] = 0x00ab;
+ t["guillemotright"] = 0x00bb;
+ t["guilsinglleft"] = 0x2039;
+ t["guilsinglright"] = 0x203a;
+ t["gukatakana"] = 0x30b0;
+ t["guramusquare"] = 0x3318;
+ t["gysquare"] = 0x33c9;
+ t["h"] = 0x0068;
+ t["haabkhasiancyrillic"] = 0x04a9;
+ t["haaltonearabic"] = 0x06c1;
+ t["habengali"] = 0x09b9;
+ t["hadescendercyrillic"] = 0x04b3;
+ t["hadeva"] = 0x0939;
+ t["hagujarati"] = 0x0ab9;
+ t["hagurmukhi"] = 0x0a39;
+ t["haharabic"] = 0x062d;
+ t["hahfinalarabic"] = 0xfea2;
+ t["hahinitialarabic"] = 0xfea3;
+ t["hahiragana"] = 0x306f;
+ t["hahmedialarabic"] = 0xfea4;
+ t["haitusquare"] = 0x332a;
+ t["hakatakana"] = 0x30cf;
+ t["hakatakanahalfwidth"] = 0xff8a;
+ t["halantgurmukhi"] = 0x0a4d;
+ t["hamzaarabic"] = 0x0621;
+ t["hamzalowarabic"] = 0x0621;
+ t["hangulfiller"] = 0x3164;
+ t["hardsigncyrillic"] = 0x044a;
+ t["harpoonleftbarbup"] = 0x21bc;
+ t["harpoonrightbarbup"] = 0x21c0;
+ t["hasquare"] = 0x33ca;
+ t["hatafpatah"] = 0x05b2;
+ t["hatafpatah16"] = 0x05b2;
+ t["hatafpatah23"] = 0x05b2;
+ t["hatafpatah2f"] = 0x05b2;
+ t["hatafpatahhebrew"] = 0x05b2;
+ t["hatafpatahnarrowhebrew"] = 0x05b2;
+ t["hatafpatahquarterhebrew"] = 0x05b2;
+ t["hatafpatahwidehebrew"] = 0x05b2;
+ t["hatafqamats"] = 0x05b3;
+ t["hatafqamats1b"] = 0x05b3;
+ t["hatafqamats28"] = 0x05b3;
+ t["hatafqamats34"] = 0x05b3;
+ t["hatafqamatshebrew"] = 0x05b3;
+ t["hatafqamatsnarrowhebrew"] = 0x05b3;
+ t["hatafqamatsquarterhebrew"] = 0x05b3;
+ t["hatafqamatswidehebrew"] = 0x05b3;
+ t["hatafsegol"] = 0x05b1;
+ t["hatafsegol17"] = 0x05b1;
+ t["hatafsegol24"] = 0x05b1;
+ t["hatafsegol30"] = 0x05b1;
+ t["hatafsegolhebrew"] = 0x05b1;
+ t["hatafsegolnarrowhebrew"] = 0x05b1;
+ t["hatafsegolquarterhebrew"] = 0x05b1;
+ t["hatafsegolwidehebrew"] = 0x05b1;
+ t["hbar"] = 0x0127;
+ t["hbopomofo"] = 0x310f;
+ t["hbrevebelow"] = 0x1e2b;
+ t["hcedilla"] = 0x1e29;
+ t["hcircle"] = 0x24d7;
+ t["hcircumflex"] = 0x0125;
+ t["hdieresis"] = 0x1e27;
+ t["hdotaccent"] = 0x1e23;
+ t["hdotbelow"] = 0x1e25;
+ t["he"] = 0x05d4;
+ t["heart"] = 0x2665;
+ t["heartsuitblack"] = 0x2665;
+ t["heartsuitwhite"] = 0x2661;
+ t["hedagesh"] = 0xfb34;
+ t["hedageshhebrew"] = 0xfb34;
+ t["hehaltonearabic"] = 0x06c1;
+ t["heharabic"] = 0x0647;
+ t["hehebrew"] = 0x05d4;
+ t["hehfinalaltonearabic"] = 0xfba7;
+ t["hehfinalalttwoarabic"] = 0xfeea;
+ t["hehfinalarabic"] = 0xfeea;
+ t["hehhamzaabovefinalarabic"] = 0xfba5;
+ t["hehhamzaaboveisolatedarabic"] = 0xfba4;
+ t["hehinitialaltonearabic"] = 0xfba8;
+ t["hehinitialarabic"] = 0xfeeb;
+ t["hehiragana"] = 0x3078;
+ t["hehmedialaltonearabic"] = 0xfba9;
+ t["hehmedialarabic"] = 0xfeec;
+ t["heiseierasquare"] = 0x337b;
+ t["hekatakana"] = 0x30d8;
+ t["hekatakanahalfwidth"] = 0xff8d;
+ t["hekutaarusquare"] = 0x3336;
+ t["henghook"] = 0x0267;
+ t["herutusquare"] = 0x3339;
+ t["het"] = 0x05d7;
+ t["hethebrew"] = 0x05d7;
+ t["hhook"] = 0x0266;
+ t["hhooksuperior"] = 0x02b1;
+ t["hieuhacirclekorean"] = 0x327b;
+ t["hieuhaparenkorean"] = 0x321b;
+ t["hieuhcirclekorean"] = 0x326d;
+ t["hieuhkorean"] = 0x314e;
+ t["hieuhparenkorean"] = 0x320d;
+ t["hihiragana"] = 0x3072;
+ t["hikatakana"] = 0x30d2;
+ t["hikatakanahalfwidth"] = 0xff8b;
+ t["hiriq"] = 0x05b4;
+ t["hiriq14"] = 0x05b4;
+ t["hiriq21"] = 0x05b4;
+ t["hiriq2d"] = 0x05b4;
+ t["hiriqhebrew"] = 0x05b4;
+ t["hiriqnarrowhebrew"] = 0x05b4;
+ t["hiriqquarterhebrew"] = 0x05b4;
+ t["hiriqwidehebrew"] = 0x05b4;
+ t["hlinebelow"] = 0x1e96;
+ t["hmonospace"] = 0xff48;
+ t["hoarmenian"] = 0x0570;
+ t["hohipthai"] = 0x0e2b;
+ t["hohiragana"] = 0x307b;
+ t["hokatakana"] = 0x30db;
+ t["hokatakanahalfwidth"] = 0xff8e;
+ t["holam"] = 0x05b9;
+ t["holam19"] = 0x05b9;
+ t["holam26"] = 0x05b9;
+ t["holam32"] = 0x05b9;
+ t["holamhebrew"] = 0x05b9;
+ t["holamnarrowhebrew"] = 0x05b9;
+ t["holamquarterhebrew"] = 0x05b9;
+ t["holamwidehebrew"] = 0x05b9;
+ t["honokhukthai"] = 0x0e2e;
+ t["hookabovecomb"] = 0x0309;
+ t["hookcmb"] = 0x0309;
+ t["hookpalatalizedbelowcmb"] = 0x0321;
+ t["hookretroflexbelowcmb"] = 0x0322;
+ t["hoonsquare"] = 0x3342;
+ t["horicoptic"] = 0x03e9;
+ t["horizontalbar"] = 0x2015;
+ t["horncmb"] = 0x031b;
+ t["hotsprings"] = 0x2668;
+ t["house"] = 0x2302;
+ t["hparen"] = 0x24a3;
+ t["hsuperior"] = 0x02b0;
+ t["hturned"] = 0x0265;
+ t["huhiragana"] = 0x3075;
+ t["huiitosquare"] = 0x3333;
+ t["hukatakana"] = 0x30d5;
+ t["hukatakanahalfwidth"] = 0xff8c;
+ t["hungarumlaut"] = 0x02dd;
+ t["hungarumlautcmb"] = 0x030b;
+ t["hv"] = 0x0195;
+ t["hyphen"] = 0x002d;
+ t["hypheninferior"] = 0xf6e5;
+ t["hyphenmonospace"] = 0xff0d;
+ t["hyphensmall"] = 0xfe63;
+ t["hyphensuperior"] = 0xf6e6;
+ t["hyphentwo"] = 0x2010;
+ t["i"] = 0x0069;
+ t["iacute"] = 0x00ed;
+ t["iacyrillic"] = 0x044f;
+ t["ibengali"] = 0x0987;
+ t["ibopomofo"] = 0x3127;
+ t["ibreve"] = 0x012d;
+ t["icaron"] = 0x01d0;
+ t["icircle"] = 0x24d8;
+ t["icircumflex"] = 0x00ee;
+ t["icyrillic"] = 0x0456;
+ t["idblgrave"] = 0x0209;
+ t["ideographearthcircle"] = 0x328f;
+ t["ideographfirecircle"] = 0x328b;
+ t["ideographicallianceparen"] = 0x323f;
+ t["ideographiccallparen"] = 0x323a;
+ t["ideographiccentrecircle"] = 0x32a5;
+ t["ideographicclose"] = 0x3006;
+ t["ideographiccomma"] = 0x3001;
+ t["ideographiccommaleft"] = 0xff64;
+ t["ideographiccongratulationparen"] = 0x3237;
+ t["ideographiccorrectcircle"] = 0x32a3;
+ t["ideographicearthparen"] = 0x322f;
+ t["ideographicenterpriseparen"] = 0x323d;
+ t["ideographicexcellentcircle"] = 0x329d;
+ t["ideographicfestivalparen"] = 0x3240;
+ t["ideographicfinancialcircle"] = 0x3296;
+ t["ideographicfinancialparen"] = 0x3236;
+ t["ideographicfireparen"] = 0x322b;
+ t["ideographichaveparen"] = 0x3232;
+ t["ideographichighcircle"] = 0x32a4;
+ t["ideographiciterationmark"] = 0x3005;
+ t["ideographiclaborcircle"] = 0x3298;
+ t["ideographiclaborparen"] = 0x3238;
+ t["ideographicleftcircle"] = 0x32a7;
+ t["ideographiclowcircle"] = 0x32a6;
+ t["ideographicmedicinecircle"] = 0x32a9;
+ t["ideographicmetalparen"] = 0x322e;
+ t["ideographicmoonparen"] = 0x322a;
+ t["ideographicnameparen"] = 0x3234;
+ t["ideographicperiod"] = 0x3002;
+ t["ideographicprintcircle"] = 0x329e;
+ t["ideographicreachparen"] = 0x3243;
+ t["ideographicrepresentparen"] = 0x3239;
+ t["ideographicresourceparen"] = 0x323e;
+ t["ideographicrightcircle"] = 0x32a8;
+ t["ideographicsecretcircle"] = 0x3299;
+ t["ideographicselfparen"] = 0x3242;
+ t["ideographicsocietyparen"] = 0x3233;
+ t["ideographicspace"] = 0x3000;
+ t["ideographicspecialparen"] = 0x3235;
+ t["ideographicstockparen"] = 0x3231;
+ t["ideographicstudyparen"] = 0x323b;
+ t["ideographicsunparen"] = 0x3230;
+ t["ideographicsuperviseparen"] = 0x323c;
+ t["ideographicwaterparen"] = 0x322c;
+ t["ideographicwoodparen"] = 0x322d;
+ t["ideographiczero"] = 0x3007;
+ t["ideographmetalcircle"] = 0x328e;
+ t["ideographmooncircle"] = 0x328a;
+ t["ideographnamecircle"] = 0x3294;
+ t["ideographsuncircle"] = 0x3290;
+ t["ideographwatercircle"] = 0x328c;
+ t["ideographwoodcircle"] = 0x328d;
+ t["ideva"] = 0x0907;
+ t["idieresis"] = 0x00ef;
+ t["idieresisacute"] = 0x1e2f;
+ t["idieresiscyrillic"] = 0x04e5;
+ t["idotbelow"] = 0x1ecb;
+ t["iebrevecyrillic"] = 0x04d7;
+ t["iecyrillic"] = 0x0435;
+ t["ieungacirclekorean"] = 0x3275;
+ t["ieungaparenkorean"] = 0x3215;
+ t["ieungcirclekorean"] = 0x3267;
+ t["ieungkorean"] = 0x3147;
+ t["ieungparenkorean"] = 0x3207;
+ t["igrave"] = 0x00ec;
+ t["igujarati"] = 0x0a87;
+ t["igurmukhi"] = 0x0a07;
+ t["ihiragana"] = 0x3044;
+ t["ihookabove"] = 0x1ec9;
+ t["iibengali"] = 0x0988;
+ t["iicyrillic"] = 0x0438;
+ t["iideva"] = 0x0908;
+ t["iigujarati"] = 0x0a88;
+ t["iigurmukhi"] = 0x0a08;
+ t["iimatragurmukhi"] = 0x0a40;
+ t["iinvertedbreve"] = 0x020b;
+ t["iishortcyrillic"] = 0x0439;
+ t["iivowelsignbengali"] = 0x09c0;
+ t["iivowelsigndeva"] = 0x0940;
+ t["iivowelsigngujarati"] = 0x0ac0;
+ t["ij"] = 0x0133;
+ t["ikatakana"] = 0x30a4;
+ t["ikatakanahalfwidth"] = 0xff72;
+ t["ikorean"] = 0x3163;
+ t["ilde"] = 0x02dc;
+ t["iluyhebrew"] = 0x05ac;
+ t["imacron"] = 0x012b;
+ t["imacroncyrillic"] = 0x04e3;
+ t["imageorapproximatelyequal"] = 0x2253;
+ t["imatragurmukhi"] = 0x0a3f;
+ t["imonospace"] = 0xff49;
+ t["increment"] = 0x2206;
+ t["infinity"] = 0x221e;
+ t["iniarmenian"] = 0x056b;
+ t["integral"] = 0x222b;
+ t["integralbottom"] = 0x2321;
+ t["integralbt"] = 0x2321;
+ t["integralex"] = 0xf8f5;
+ t["integraltop"] = 0x2320;
+ t["integraltp"] = 0x2320;
+ t["intersection"] = 0x2229;
+ t["intisquare"] = 0x3305;
+ t["invbullet"] = 0x25d8;
+ t["invcircle"] = 0x25d9;
+ t["invsmileface"] = 0x263b;
+ t["iocyrillic"] = 0x0451;
+ t["iogonek"] = 0x012f;
+ t["iota"] = 0x03b9;
+ t["iotadieresis"] = 0x03ca;
+ t["iotadieresistonos"] = 0x0390;
+ t["iotalatin"] = 0x0269;
+ t["iotatonos"] = 0x03af;
+ t["iparen"] = 0x24a4;
+ t["irigurmukhi"] = 0x0a72;
+ t["ismallhiragana"] = 0x3043;
+ t["ismallkatakana"] = 0x30a3;
+ t["ismallkatakanahalfwidth"] = 0xff68;
+ t["issharbengali"] = 0x09fa;
+ t["istroke"] = 0x0268;
+ t["isuperior"] = 0xf6ed;
+ t["iterationhiragana"] = 0x309d;
+ t["iterationkatakana"] = 0x30fd;
+ t["itilde"] = 0x0129;
+ t["itildebelow"] = 0x1e2d;
+ t["iubopomofo"] = 0x3129;
+ t["iucyrillic"] = 0x044e;
+ t["ivowelsignbengali"] = 0x09bf;
+ t["ivowelsigndeva"] = 0x093f;
+ t["ivowelsigngujarati"] = 0x0abf;
+ t["izhitsacyrillic"] = 0x0475;
+ t["izhitsadblgravecyrillic"] = 0x0477;
+ t["j"] = 0x006a;
+ t["jaarmenian"] = 0x0571;
+ t["jabengali"] = 0x099c;
+ t["jadeva"] = 0x091c;
+ t["jagujarati"] = 0x0a9c;
+ t["jagurmukhi"] = 0x0a1c;
+ t["jbopomofo"] = 0x3110;
+ t["jcaron"] = 0x01f0;
+ t["jcircle"] = 0x24d9;
+ t["jcircumflex"] = 0x0135;
+ t["jcrossedtail"] = 0x029d;
+ t["jdotlessstroke"] = 0x025f;
+ t["jecyrillic"] = 0x0458;
+ t["jeemarabic"] = 0x062c;
+ t["jeemfinalarabic"] = 0xfe9e;
+ t["jeeminitialarabic"] = 0xfe9f;
+ t["jeemmedialarabic"] = 0xfea0;
+ t["jeharabic"] = 0x0698;
+ t["jehfinalarabic"] = 0xfb8b;
+ t["jhabengali"] = 0x099d;
+ t["jhadeva"] = 0x091d;
+ t["jhagujarati"] = 0x0a9d;
+ t["jhagurmukhi"] = 0x0a1d;
+ t["jheharmenian"] = 0x057b;
+ t["jis"] = 0x3004;
+ t["jmonospace"] = 0xff4a;
+ t["jparen"] = 0x24a5;
+ t["jsuperior"] = 0x02b2;
+ t["k"] = 0x006b;
+ t["kabashkircyrillic"] = 0x04a1;
+ t["kabengali"] = 0x0995;
+ t["kacute"] = 0x1e31;
+ t["kacyrillic"] = 0x043a;
+ t["kadescendercyrillic"] = 0x049b;
+ t["kadeva"] = 0x0915;
+ t["kaf"] = 0x05db;
+ t["kafarabic"] = 0x0643;
+ t["kafdagesh"] = 0xfb3b;
+ t["kafdageshhebrew"] = 0xfb3b;
+ t["kaffinalarabic"] = 0xfeda;
+ t["kafhebrew"] = 0x05db;
+ t["kafinitialarabic"] = 0xfedb;
+ t["kafmedialarabic"] = 0xfedc;
+ t["kafrafehebrew"] = 0xfb4d;
+ t["kagujarati"] = 0x0a95;
+ t["kagurmukhi"] = 0x0a15;
+ t["kahiragana"] = 0x304b;
+ t["kahookcyrillic"] = 0x04c4;
+ t["kakatakana"] = 0x30ab;
+ t["kakatakanahalfwidth"] = 0xff76;
+ t["kappa"] = 0x03ba;
+ t["kappasymbolgreek"] = 0x03f0;
+ t["kapyeounmieumkorean"] = 0x3171;
+ t["kapyeounphieuphkorean"] = 0x3184;
+ t["kapyeounpieupkorean"] = 0x3178;
+ t["kapyeounssangpieupkorean"] = 0x3179;
+ t["karoriisquare"] = 0x330d;
+ t["kashidaautoarabic"] = 0x0640;
+ t["kashidaautonosidebearingarabic"] = 0x0640;
+ t["kasmallkatakana"] = 0x30f5;
+ t["kasquare"] = 0x3384;
+ t["kasraarabic"] = 0x0650;
+ t["kasratanarabic"] = 0x064d;
+ t["kastrokecyrillic"] = 0x049f;
+ t["katahiraprolongmarkhalfwidth"] = 0xff70;
+ t["kaverticalstrokecyrillic"] = 0x049d;
+ t["kbopomofo"] = 0x310e;
+ t["kcalsquare"] = 0x3389;
+ t["kcaron"] = 0x01e9;
+ t["kcedilla"] = 0x0137;
+ t["kcircle"] = 0x24da;
+ t["kcommaaccent"] = 0x0137;
+ t["kdotbelow"] = 0x1e33;
+ t["keharmenian"] = 0x0584;
+ t["kehiragana"] = 0x3051;
+ t["kekatakana"] = 0x30b1;
+ t["kekatakanahalfwidth"] = 0xff79;
+ t["kenarmenian"] = 0x056f;
+ t["kesmallkatakana"] = 0x30f6;
+ t["kgreenlandic"] = 0x0138;
+ t["khabengali"] = 0x0996;
+ t["khacyrillic"] = 0x0445;
+ t["khadeva"] = 0x0916;
+ t["khagujarati"] = 0x0a96;
+ t["khagurmukhi"] = 0x0a16;
+ t["khaharabic"] = 0x062e;
+ t["khahfinalarabic"] = 0xfea6;
+ t["khahinitialarabic"] = 0xfea7;
+ t["khahmedialarabic"] = 0xfea8;
+ t["kheicoptic"] = 0x03e7;
+ t["khhadeva"] = 0x0959;
+ t["khhagurmukhi"] = 0x0a59;
+ t["khieukhacirclekorean"] = 0x3278;
+ t["khieukhaparenkorean"] = 0x3218;
+ t["khieukhcirclekorean"] = 0x326a;
+ t["khieukhkorean"] = 0x314b;
+ t["khieukhparenkorean"] = 0x320a;
+ t["khokhaithai"] = 0x0e02;
+ t["khokhonthai"] = 0x0e05;
+ t["khokhuatthai"] = 0x0e03;
+ t["khokhwaithai"] = 0x0e04;
+ t["khomutthai"] = 0x0e5b;
+ t["khook"] = 0x0199;
+ t["khorakhangthai"] = 0x0e06;
+ t["khzsquare"] = 0x3391;
+ t["kihiragana"] = 0x304d;
+ t["kikatakana"] = 0x30ad;
+ t["kikatakanahalfwidth"] = 0xff77;
+ t["kiroguramusquare"] = 0x3315;
+ t["kiromeetorusquare"] = 0x3316;
+ t["kirosquare"] = 0x3314;
+ t["kiyeokacirclekorean"] = 0x326e;
+ t["kiyeokaparenkorean"] = 0x320e;
+ t["kiyeokcirclekorean"] = 0x3260;
+ t["kiyeokkorean"] = 0x3131;
+ t["kiyeokparenkorean"] = 0x3200;
+ t["kiyeoksioskorean"] = 0x3133;
+ t["kjecyrillic"] = 0x045c;
+ t["klinebelow"] = 0x1e35;
+ t["klsquare"] = 0x3398;
+ t["kmcubedsquare"] = 0x33a6;
+ t["kmonospace"] = 0xff4b;
+ t["kmsquaredsquare"] = 0x33a2;
+ t["kohiragana"] = 0x3053;
+ t["kohmsquare"] = 0x33c0;
+ t["kokaithai"] = 0x0e01;
+ t["kokatakana"] = 0x30b3;
+ t["kokatakanahalfwidth"] = 0xff7a;
+ t["kooposquare"] = 0x331e;
+ t["koppacyrillic"] = 0x0481;
+ t["koreanstandardsymbol"] = 0x327f;
+ t["koroniscmb"] = 0x0343;
+ t["kparen"] = 0x24a6;
+ t["kpasquare"] = 0x33aa;
+ t["ksicyrillic"] = 0x046f;
+ t["ktsquare"] = 0x33cf;
+ t["kturned"] = 0x029e;
+ t["kuhiragana"] = 0x304f;
+ t["kukatakana"] = 0x30af;
+ t["kukatakanahalfwidth"] = 0xff78;
+ t["kvsquare"] = 0x33b8;
+ t["kwsquare"] = 0x33be;
+ t["l"] = 0x006c;
+ t["labengali"] = 0x09b2;
+ t["lacute"] = 0x013a;
+ t["ladeva"] = 0x0932;
+ t["lagujarati"] = 0x0ab2;
+ t["lagurmukhi"] = 0x0a32;
+ t["lakkhangyaothai"] = 0x0e45;
+ t["lamaleffinalarabic"] = 0xfefc;
+ t["lamalefhamzaabovefinalarabic"] = 0xfef8;
+ t["lamalefhamzaaboveisolatedarabic"] = 0xfef7;
+ t["lamalefhamzabelowfinalarabic"] = 0xfefa;
+ t["lamalefhamzabelowisolatedarabic"] = 0xfef9;
+ t["lamalefisolatedarabic"] = 0xfefb;
+ t["lamalefmaddaabovefinalarabic"] = 0xfef6;
+ t["lamalefmaddaaboveisolatedarabic"] = 0xfef5;
+ t["lamarabic"] = 0x0644;
+ t["lambda"] = 0x03bb;
+ t["lambdastroke"] = 0x019b;
+ t["lamed"] = 0x05dc;
+ t["lameddagesh"] = 0xfb3c;
+ t["lameddageshhebrew"] = 0xfb3c;
+ t["lamedhebrew"] = 0x05dc;
+ t["lamfinalarabic"] = 0xfede;
+ t["lamhahinitialarabic"] = 0xfcca;
+ t["laminitialarabic"] = 0xfedf;
+ t["lamjeeminitialarabic"] = 0xfcc9;
+ t["lamkhahinitialarabic"] = 0xfccb;
+ t["lamlamhehisolatedarabic"] = 0xfdf2;
+ t["lammedialarabic"] = 0xfee0;
+ t["lammeemhahinitialarabic"] = 0xfd88;
+ t["lammeeminitialarabic"] = 0xfccc;
+ t["largecircle"] = 0x25ef;
+ t["lbar"] = 0x019a;
+ t["lbelt"] = 0x026c;
+ t["lbopomofo"] = 0x310c;
+ t["lcaron"] = 0x013e;
+ t["lcedilla"] = 0x013c;
+ t["lcircle"] = 0x24db;
+ t["lcircumflexbelow"] = 0x1e3d;
+ t["lcommaaccent"] = 0x013c;
+ t["ldot"] = 0x0140;
+ t["ldotaccent"] = 0x0140;
+ t["ldotbelow"] = 0x1e37;
+ t["ldotbelowmacron"] = 0x1e39;
+ t["leftangleabovecmb"] = 0x031a;
+ t["lefttackbelowcmb"] = 0x0318;
+ t["less"] = 0x003c;
+ t["lessequal"] = 0x2264;
+ t["lessequalorgreater"] = 0x22da;
+ t["lessmonospace"] = 0xff1c;
+ t["lessorequivalent"] = 0x2272;
+ t["lessorgreater"] = 0x2276;
+ t["lessoverequal"] = 0x2266;
+ t["lesssmall"] = 0xfe64;
+ t["lezh"] = 0x026e;
+ t["lfblock"] = 0x258c;
+ t["lhookretroflex"] = 0x026d;
+ t["lira"] = 0x20a4;
+ t["liwnarmenian"] = 0x056c;
+ t["lj"] = 0x01c9;
+ t["ljecyrillic"] = 0x0459;
+ t["ll"] = 0xf6c0;
+ t["lladeva"] = 0x0933;
+ t["llagujarati"] = 0x0ab3;
+ t["llinebelow"] = 0x1e3b;
+ t["llladeva"] = 0x0934;
+ t["llvocalicbengali"] = 0x09e1;
+ t["llvocalicdeva"] = 0x0961;
+ t["llvocalicvowelsignbengali"] = 0x09e3;
+ t["llvocalicvowelsigndeva"] = 0x0963;
+ t["lmiddletilde"] = 0x026b;
+ t["lmonospace"] = 0xff4c;
+ t["lmsquare"] = 0x33d0;
+ t["lochulathai"] = 0x0e2c;
+ t["logicaland"] = 0x2227;
+ t["logicalnot"] = 0x00ac;
+ t["logicalnotreversed"] = 0x2310;
+ t["logicalor"] = 0x2228;
+ t["lolingthai"] = 0x0e25;
+ t["longs"] = 0x017f;
+ t["lowlinecenterline"] = 0xfe4e;
+ t["lowlinecmb"] = 0x0332;
+ t["lowlinedashed"] = 0xfe4d;
+ t["lozenge"] = 0x25ca;
+ t["lparen"] = 0x24a7;
+ t["lslash"] = 0x0142;
+ t["lsquare"] = 0x2113;
+ t["lsuperior"] = 0xf6ee;
+ t["ltshade"] = 0x2591;
+ t["luthai"] = 0x0e26;
+ t["lvocalicbengali"] = 0x098c;
+ t["lvocalicdeva"] = 0x090c;
+ t["lvocalicvowelsignbengali"] = 0x09e2;
+ t["lvocalicvowelsigndeva"] = 0x0962;
+ t["lxsquare"] = 0x33d3;
+ t["m"] = 0x006d;
+ t["mabengali"] = 0x09ae;
+ t["macron"] = 0x00af;
+ t["macronbelowcmb"] = 0x0331;
+ t["macroncmb"] = 0x0304;
+ t["macronlowmod"] = 0x02cd;
+ t["macronmonospace"] = 0xffe3;
+ t["macute"] = 0x1e3f;
+ t["madeva"] = 0x092e;
+ t["magujarati"] = 0x0aae;
+ t["magurmukhi"] = 0x0a2e;
+ t["mahapakhhebrew"] = 0x05a4;
+ t["mahapakhlefthebrew"] = 0x05a4;
+ t["mahiragana"] = 0x307e;
+ t["maichattawalowleftthai"] = 0xf895;
+ t["maichattawalowrightthai"] = 0xf894;
+ t["maichattawathai"] = 0x0e4b;
+ t["maichattawaupperleftthai"] = 0xf893;
+ t["maieklowleftthai"] = 0xf88c;
+ t["maieklowrightthai"] = 0xf88b;
+ t["maiekthai"] = 0x0e48;
+ t["maiekupperleftthai"] = 0xf88a;
+ t["maihanakatleftthai"] = 0xf884;
+ t["maihanakatthai"] = 0x0e31;
+ t["maitaikhuleftthai"] = 0xf889;
+ t["maitaikhuthai"] = 0x0e47;
+ t["maitholowleftthai"] = 0xf88f;
+ t["maitholowrightthai"] = 0xf88e;
+ t["maithothai"] = 0x0e49;
+ t["maithoupperleftthai"] = 0xf88d;
+ t["maitrilowleftthai"] = 0xf892;
+ t["maitrilowrightthai"] = 0xf891;
+ t["maitrithai"] = 0x0e4a;
+ t["maitriupperleftthai"] = 0xf890;
+ t["maiyamokthai"] = 0x0e46;
+ t["makatakana"] = 0x30de;
+ t["makatakanahalfwidth"] = 0xff8f;
+ t["male"] = 0x2642;
+ t["mansyonsquare"] = 0x3347;
+ t["maqafhebrew"] = 0x05be;
+ t["mars"] = 0x2642;
+ t["masoracirclehebrew"] = 0x05af;
+ t["masquare"] = 0x3383;
+ t["mbopomofo"] = 0x3107;
+ t["mbsquare"] = 0x33d4;
+ t["mcircle"] = 0x24dc;
+ t["mcubedsquare"] = 0x33a5;
+ t["mdotaccent"] = 0x1e41;
+ t["mdotbelow"] = 0x1e43;
+ t["meemarabic"] = 0x0645;
+ t["meemfinalarabic"] = 0xfee2;
+ t["meeminitialarabic"] = 0xfee3;
+ t["meemmedialarabic"] = 0xfee4;
+ t["meemmeeminitialarabic"] = 0xfcd1;
+ t["meemmeemisolatedarabic"] = 0xfc48;
+ t["meetorusquare"] = 0x334d;
+ t["mehiragana"] = 0x3081;
+ t["meizierasquare"] = 0x337e;
+ t["mekatakana"] = 0x30e1;
+ t["mekatakanahalfwidth"] = 0xff92;
+ t["mem"] = 0x05de;
+ t["memdagesh"] = 0xfb3e;
+ t["memdageshhebrew"] = 0xfb3e;
+ t["memhebrew"] = 0x05de;
+ t["menarmenian"] = 0x0574;
+ t["merkhahebrew"] = 0x05a5;
+ t["merkhakefulahebrew"] = 0x05a6;
+ t["merkhakefulalefthebrew"] = 0x05a6;
+ t["merkhalefthebrew"] = 0x05a5;
+ t["mhook"] = 0x0271;
+ t["mhzsquare"] = 0x3392;
+ t["middledotkatakanahalfwidth"] = 0xff65;
+ t["middot"] = 0x00b7;
+ t["mieumacirclekorean"] = 0x3272;
+ t["mieumaparenkorean"] = 0x3212;
+ t["mieumcirclekorean"] = 0x3264;
+ t["mieumkorean"] = 0x3141;
+ t["mieumpansioskorean"] = 0x3170;
+ t["mieumparenkorean"] = 0x3204;
+ t["mieumpieupkorean"] = 0x316e;
+ t["mieumsioskorean"] = 0x316f;
+ t["mihiragana"] = 0x307f;
+ t["mikatakana"] = 0x30df;
+ t["mikatakanahalfwidth"] = 0xff90;
+ t["minus"] = 0x2212;
+ t["minusbelowcmb"] = 0x0320;
+ t["minuscircle"] = 0x2296;
+ t["minusmod"] = 0x02d7;
+ t["minusplus"] = 0x2213;
+ t["minute"] = 0x2032;
+ t["miribaarusquare"] = 0x334a;
+ t["mirisquare"] = 0x3349;
+ t["mlonglegturned"] = 0x0270;
+ t["mlsquare"] = 0x3396;
+ t["mmcubedsquare"] = 0x33a3;
+ t["mmonospace"] = 0xff4d;
+ t["mmsquaredsquare"] = 0x339f;
+ t["mohiragana"] = 0x3082;
+ t["mohmsquare"] = 0x33c1;
+ t["mokatakana"] = 0x30e2;
+ t["mokatakanahalfwidth"] = 0xff93;
+ t["molsquare"] = 0x33d6;
+ t["momathai"] = 0x0e21;
+ t["moverssquare"] = 0x33a7;
+ t["moverssquaredsquare"] = 0x33a8;
+ t["mparen"] = 0x24a8;
+ t["mpasquare"] = 0x33ab;
+ t["mssquare"] = 0x33b3;
+ t["msuperior"] = 0xf6ef;
+ t["mturned"] = 0x026f;
+ t["mu"] = 0x00b5;
+ t["mu1"] = 0x00b5;
+ t["muasquare"] = 0x3382;
+ t["muchgreater"] = 0x226b;
+ t["muchless"] = 0x226a;
+ t["mufsquare"] = 0x338c;
+ t["mugreek"] = 0x03bc;
+ t["mugsquare"] = 0x338d;
+ t["muhiragana"] = 0x3080;
+ t["mukatakana"] = 0x30e0;
+ t["mukatakanahalfwidth"] = 0xff91;
+ t["mulsquare"] = 0x3395;
+ t["multiply"] = 0x00d7;
+ t["mumsquare"] = 0x339b;
+ t["munahhebrew"] = 0x05a3;
+ t["munahlefthebrew"] = 0x05a3;
+ t["musicalnote"] = 0x266a;
+ t["musicalnotedbl"] = 0x266b;
+ t["musicflatsign"] = 0x266d;
+ t["musicsharpsign"] = 0x266f;
+ t["mussquare"] = 0x33b2;
+ t["muvsquare"] = 0x33b6;
+ t["muwsquare"] = 0x33bc;
+ t["mvmegasquare"] = 0x33b9;
+ t["mvsquare"] = 0x33b7;
+ t["mwmegasquare"] = 0x33bf;
+ t["mwsquare"] = 0x33bd;
+ t["n"] = 0x006e;
+ t["nabengali"] = 0x09a8;
+ t["nabla"] = 0x2207;
+ t["nacute"] = 0x0144;
+ t["nadeva"] = 0x0928;
+ t["nagujarati"] = 0x0aa8;
+ t["nagurmukhi"] = 0x0a28;
+ t["nahiragana"] = 0x306a;
+ t["nakatakana"] = 0x30ca;
+ t["nakatakanahalfwidth"] = 0xff85;
+ t["napostrophe"] = 0x0149;
+ t["nasquare"] = 0x3381;
+ t["nbopomofo"] = 0x310b;
+ t["nbspace"] = 0x00a0;
+ t["ncaron"] = 0x0148;
+ t["ncedilla"] = 0x0146;
+ t["ncircle"] = 0x24dd;
+ t["ncircumflexbelow"] = 0x1e4b;
+ t["ncommaaccent"] = 0x0146;
+ t["ndotaccent"] = 0x1e45;
+ t["ndotbelow"] = 0x1e47;
+ t["nehiragana"] = 0x306d;
+ t["nekatakana"] = 0x30cd;
+ t["nekatakanahalfwidth"] = 0xff88;
+ t["newsheqelsign"] = 0x20aa;
+ t["nfsquare"] = 0x338b;
+ t["ngabengali"] = 0x0999;
+ t["ngadeva"] = 0x0919;
+ t["ngagujarati"] = 0x0a99;
+ t["ngagurmukhi"] = 0x0a19;
+ t["ngonguthai"] = 0x0e07;
+ t["nhiragana"] = 0x3093;
+ t["nhookleft"] = 0x0272;
+ t["nhookretroflex"] = 0x0273;
+ t["nieunacirclekorean"] = 0x326f;
+ t["nieunaparenkorean"] = 0x320f;
+ t["nieuncieuckorean"] = 0x3135;
+ t["nieuncirclekorean"] = 0x3261;
+ t["nieunhieuhkorean"] = 0x3136;
+ t["nieunkorean"] = 0x3134;
+ t["nieunpansioskorean"] = 0x3168;
+ t["nieunparenkorean"] = 0x3201;
+ t["nieunsioskorean"] = 0x3167;
+ t["nieuntikeutkorean"] = 0x3166;
+ t["nihiragana"] = 0x306b;
+ t["nikatakana"] = 0x30cb;
+ t["nikatakanahalfwidth"] = 0xff86;
+ t["nikhahitleftthai"] = 0xf899;
+ t["nikhahitthai"] = 0x0e4d;
+ t["nine"] = 0x0039;
+ t["ninearabic"] = 0x0669;
+ t["ninebengali"] = 0x09ef;
+ t["ninecircle"] = 0x2468;
+ t["ninecircleinversesansserif"] = 0x2792;
+ t["ninedeva"] = 0x096f;
+ t["ninegujarati"] = 0x0aef;
+ t["ninegurmukhi"] = 0x0a6f;
+ t["ninehackarabic"] = 0x0669;
+ t["ninehangzhou"] = 0x3029;
+ t["nineideographicparen"] = 0x3228;
+ t["nineinferior"] = 0x2089;
+ t["ninemonospace"] = 0xff19;
+ t["nineoldstyle"] = 0xf739;
+ t["nineparen"] = 0x247c;
+ t["nineperiod"] = 0x2490;
+ t["ninepersian"] = 0x06f9;
+ t["nineroman"] = 0x2178;
+ t["ninesuperior"] = 0x2079;
+ t["nineteencircle"] = 0x2472;
+ t["nineteenparen"] = 0x2486;
+ t["nineteenperiod"] = 0x249a;
+ t["ninethai"] = 0x0e59;
+ t["nj"] = 0x01cc;
+ t["njecyrillic"] = 0x045a;
+ t["nkatakana"] = 0x30f3;
+ t["nkatakanahalfwidth"] = 0xff9d;
+ t["nlegrightlong"] = 0x019e;
+ t["nlinebelow"] = 0x1e49;
+ t["nmonospace"] = 0xff4e;
+ t["nmsquare"] = 0x339a;
+ t["nnabengali"] = 0x09a3;
+ t["nnadeva"] = 0x0923;
+ t["nnagujarati"] = 0x0aa3;
+ t["nnagurmukhi"] = 0x0a23;
+ t["nnnadeva"] = 0x0929;
+ t["nohiragana"] = 0x306e;
+ t["nokatakana"] = 0x30ce;
+ t["nokatakanahalfwidth"] = 0xff89;
+ t["nonbreakingspace"] = 0x00a0;
+ t["nonenthai"] = 0x0e13;
+ t["nonuthai"] = 0x0e19;
+ t["noonarabic"] = 0x0646;
+ t["noonfinalarabic"] = 0xfee6;
+ t["noonghunnaarabic"] = 0x06ba;
+ t["noonghunnafinalarabic"] = 0xfb9f;
+ t["nooninitialarabic"] = 0xfee7;
+ t["noonjeeminitialarabic"] = 0xfcd2;
+ t["noonjeemisolatedarabic"] = 0xfc4b;
+ t["noonmedialarabic"] = 0xfee8;
+ t["noonmeeminitialarabic"] = 0xfcd5;
+ t["noonmeemisolatedarabic"] = 0xfc4e;
+ t["noonnoonfinalarabic"] = 0xfc8d;
+ t["notcontains"] = 0x220c;
+ t["notelement"] = 0x2209;
+ t["notelementof"] = 0x2209;
+ t["notequal"] = 0x2260;
+ t["notgreater"] = 0x226f;
+ t["notgreaternorequal"] = 0x2271;
+ t["notgreaternorless"] = 0x2279;
+ t["notidentical"] = 0x2262;
+ t["notless"] = 0x226e;
+ t["notlessnorequal"] = 0x2270;
+ t["notparallel"] = 0x2226;
+ t["notprecedes"] = 0x2280;
+ t["notsubset"] = 0x2284;
+ t["notsucceeds"] = 0x2281;
+ t["notsuperset"] = 0x2285;
+ t["nowarmenian"] = 0x0576;
+ t["nparen"] = 0x24a9;
+ t["nssquare"] = 0x33b1;
+ t["nsuperior"] = 0x207f;
+ t["ntilde"] = 0x00f1;
+ t["nu"] = 0x03bd;
+ t["nuhiragana"] = 0x306c;
+ t["nukatakana"] = 0x30cc;
+ t["nukatakanahalfwidth"] = 0xff87;
+ t["nuktabengali"] = 0x09bc;
+ t["nuktadeva"] = 0x093c;
+ t["nuktagujarati"] = 0x0abc;
+ t["nuktagurmukhi"] = 0x0a3c;
+ t["numbersign"] = 0x0023;
+ t["numbersignmonospace"] = 0xff03;
+ t["numbersignsmall"] = 0xfe5f;
+ t["numeralsigngreek"] = 0x0374;
+ t["numeralsignlowergreek"] = 0x0375;
+ t["numero"] = 0x2116;
+ t["nun"] = 0x05e0;
+ t["nundagesh"] = 0xfb40;
+ t["nundageshhebrew"] = 0xfb40;
+ t["nunhebrew"] = 0x05e0;
+ t["nvsquare"] = 0x33b5;
+ t["nwsquare"] = 0x33bb;
+ t["nyabengali"] = 0x099e;
+ t["nyadeva"] = 0x091e;
+ t["nyagujarati"] = 0x0a9e;
+ t["nyagurmukhi"] = 0x0a1e;
+ t["o"] = 0x006f;
+ t["oacute"] = 0x00f3;
+ t["oangthai"] = 0x0e2d;
+ t["obarred"] = 0x0275;
+ t["obarredcyrillic"] = 0x04e9;
+ t["obarreddieresiscyrillic"] = 0x04eb;
+ t["obengali"] = 0x0993;
+ t["obopomofo"] = 0x311b;
+ t["obreve"] = 0x014f;
+ t["ocandradeva"] = 0x0911;
+ t["ocandragujarati"] = 0x0a91;
+ t["ocandravowelsigndeva"] = 0x0949;
+ t["ocandravowelsigngujarati"] = 0x0ac9;
+ t["ocaron"] = 0x01d2;
+ t["ocircle"] = 0x24de;
+ t["ocircumflex"] = 0x00f4;
+ t["ocircumflexacute"] = 0x1ed1;
+ t["ocircumflexdotbelow"] = 0x1ed9;
+ t["ocircumflexgrave"] = 0x1ed3;
+ t["ocircumflexhookabove"] = 0x1ed5;
+ t["ocircumflextilde"] = 0x1ed7;
+ t["ocyrillic"] = 0x043e;
+ t["odblacute"] = 0x0151;
+ t["odblgrave"] = 0x020d;
+ t["odeva"] = 0x0913;
+ t["odieresis"] = 0x00f6;
+ t["odieresiscyrillic"] = 0x04e7;
+ t["odotbelow"] = 0x1ecd;
+ t["oe"] = 0x0153;
+ t["oekorean"] = 0x315a;
+ t["ogonek"] = 0x02db;
+ t["ogonekcmb"] = 0x0328;
+ t["ograve"] = 0x00f2;
+ t["ogujarati"] = 0x0a93;
+ t["oharmenian"] = 0x0585;
+ t["ohiragana"] = 0x304a;
+ t["ohookabove"] = 0x1ecf;
+ t["ohorn"] = 0x01a1;
+ t["ohornacute"] = 0x1edb;
+ t["ohorndotbelow"] = 0x1ee3;
+ t["ohorngrave"] = 0x1edd;
+ t["ohornhookabove"] = 0x1edf;
+ t["ohorntilde"] = 0x1ee1;
+ t["ohungarumlaut"] = 0x0151;
+ t["oi"] = 0x01a3;
+ t["oinvertedbreve"] = 0x020f;
+ t["okatakana"] = 0x30aa;
+ t["okatakanahalfwidth"] = 0xff75;
+ t["okorean"] = 0x3157;
+ t["olehebrew"] = 0x05ab;
+ t["omacron"] = 0x014d;
+ t["omacronacute"] = 0x1e53;
+ t["omacrongrave"] = 0x1e51;
+ t["omdeva"] = 0x0950;
+ t["omega"] = 0x03c9;
+ t["omega1"] = 0x03d6;
+ t["omegacyrillic"] = 0x0461;
+ t["omegalatinclosed"] = 0x0277;
+ t["omegaroundcyrillic"] = 0x047b;
+ t["omegatitlocyrillic"] = 0x047d;
+ t["omegatonos"] = 0x03ce;
+ t["omgujarati"] = 0x0ad0;
+ t["omicron"] = 0x03bf;
+ t["omicrontonos"] = 0x03cc;
+ t["omonospace"] = 0xff4f;
+ t["one"] = 0x0031;
+ t["onearabic"] = 0x0661;
+ t["onebengali"] = 0x09e7;
+ t["onecircle"] = 0x2460;
+ t["onecircleinversesansserif"] = 0x278a;
+ t["onedeva"] = 0x0967;
+ t["onedotenleader"] = 0x2024;
+ t["oneeighth"] = 0x215b;
+ t["onefitted"] = 0xf6dc;
+ t["onegujarati"] = 0x0ae7;
+ t["onegurmukhi"] = 0x0a67;
+ t["onehackarabic"] = 0x0661;
+ t["onehalf"] = 0x00bd;
+ t["onehangzhou"] = 0x3021;
+ t["oneideographicparen"] = 0x3220;
+ t["oneinferior"] = 0x2081;
+ t["onemonospace"] = 0xff11;
+ t["onenumeratorbengali"] = 0x09f4;
+ t["oneoldstyle"] = 0xf731;
+ t["oneparen"] = 0x2474;
+ t["oneperiod"] = 0x2488;
+ t["onepersian"] = 0x06f1;
+ t["onequarter"] = 0x00bc;
+ t["oneroman"] = 0x2170;
+ t["onesuperior"] = 0x00b9;
+ t["onethai"] = 0x0e51;
+ t["onethird"] = 0x2153;
+ t["oogonek"] = 0x01eb;
+ t["oogonekmacron"] = 0x01ed;
+ t["oogurmukhi"] = 0x0a13;
+ t["oomatragurmukhi"] = 0x0a4b;
+ t["oopen"] = 0x0254;
+ t["oparen"] = 0x24aa;
+ t["openbullet"] = 0x25e6;
+ t["option"] = 0x2325;
+ t["ordfeminine"] = 0x00aa;
+ t["ordmasculine"] = 0x00ba;
+ t["orthogonal"] = 0x221f;
+ t["oshortdeva"] = 0x0912;
+ t["oshortvowelsigndeva"] = 0x094a;
+ t["oslash"] = 0x00f8;
+ t["oslashacute"] = 0x01ff;
+ t["osmallhiragana"] = 0x3049;
+ t["osmallkatakana"] = 0x30a9;
+ t["osmallkatakanahalfwidth"] = 0xff6b;
+ t["ostrokeacute"] = 0x01ff;
+ t["osuperior"] = 0xf6f0;
+ t["otcyrillic"] = 0x047f;
+ t["otilde"] = 0x00f5;
+ t["otildeacute"] = 0x1e4d;
+ t["otildedieresis"] = 0x1e4f;
+ t["oubopomofo"] = 0x3121;
+ t["overline"] = 0x203e;
+ t["overlinecenterline"] = 0xfe4a;
+ t["overlinecmb"] = 0x0305;
+ t["overlinedashed"] = 0xfe49;
+ t["overlinedblwavy"] = 0xfe4c;
+ t["overlinewavy"] = 0xfe4b;
+ t["overscore"] = 0x00af;
+ t["ovowelsignbengali"] = 0x09cb;
+ t["ovowelsigndeva"] = 0x094b;
+ t["ovowelsigngujarati"] = 0x0acb;
+ t["p"] = 0x0070;
+ t["paampssquare"] = 0x3380;
+ t["paasentosquare"] = 0x332b;
+ t["pabengali"] = 0x09aa;
+ t["pacute"] = 0x1e55;
+ t["padeva"] = 0x092a;
+ t["pagedown"] = 0x21df;
+ t["pageup"] = 0x21de;
+ t["pagujarati"] = 0x0aaa;
+ t["pagurmukhi"] = 0x0a2a;
+ t["pahiragana"] = 0x3071;
+ t["paiyannoithai"] = 0x0e2f;
+ t["pakatakana"] = 0x30d1;
+ t["palatalizationcyrilliccmb"] = 0x0484;
+ t["palochkacyrillic"] = 0x04c0;
+ t["pansioskorean"] = 0x317f;
+ t["paragraph"] = 0x00b6;
+ t["parallel"] = 0x2225;
+ t["parenleft"] = 0x0028;
+ t["parenleftaltonearabic"] = 0xfd3e;
+ t["parenleftbt"] = 0xf8ed;
+ t["parenleftex"] = 0xf8ec;
+ t["parenleftinferior"] = 0x208d;
+ t["parenleftmonospace"] = 0xff08;
+ t["parenleftsmall"] = 0xfe59;
+ t["parenleftsuperior"] = 0x207d;
+ t["parenlefttp"] = 0xf8eb;
+ t["parenleftvertical"] = 0xfe35;
+ t["parenright"] = 0x0029;
+ t["parenrightaltonearabic"] = 0xfd3f;
+ t["parenrightbt"] = 0xf8f8;
+ t["parenrightex"] = 0xf8f7;
+ t["parenrightinferior"] = 0x208e;
+ t["parenrightmonospace"] = 0xff09;
+ t["parenrightsmall"] = 0xfe5a;
+ t["parenrightsuperior"] = 0x207e;
+ t["parenrighttp"] = 0xf8f6;
+ t["parenrightvertical"] = 0xfe36;
+ t["partialdiff"] = 0x2202;
+ t["paseqhebrew"] = 0x05c0;
+ t["pashtahebrew"] = 0x0599;
+ t["pasquare"] = 0x33a9;
+ t["patah"] = 0x05b7;
+ t["patah11"] = 0x05b7;
+ t["patah1d"] = 0x05b7;
+ t["patah2a"] = 0x05b7;
+ t["patahhebrew"] = 0x05b7;
+ t["patahnarrowhebrew"] = 0x05b7;
+ t["patahquarterhebrew"] = 0x05b7;
+ t["patahwidehebrew"] = 0x05b7;
+ t["pazerhebrew"] = 0x05a1;
+ t["pbopomofo"] = 0x3106;
+ t["pcircle"] = 0x24df;
+ t["pdotaccent"] = 0x1e57;
+ t["pe"] = 0x05e4;
+ t["pecyrillic"] = 0x043f;
+ t["pedagesh"] = 0xfb44;
+ t["pedageshhebrew"] = 0xfb44;
+ t["peezisquare"] = 0x333b;
+ t["pefinaldageshhebrew"] = 0xfb43;
+ t["peharabic"] = 0x067e;
+ t["peharmenian"] = 0x057a;
+ t["pehebrew"] = 0x05e4;
+ t["pehfinalarabic"] = 0xfb57;
+ t["pehinitialarabic"] = 0xfb58;
+ t["pehiragana"] = 0x307a;
+ t["pehmedialarabic"] = 0xfb59;
+ t["pekatakana"] = 0x30da;
+ t["pemiddlehookcyrillic"] = 0x04a7;
+ t["perafehebrew"] = 0xfb4e;
+ t["percent"] = 0x0025;
+ t["percentarabic"] = 0x066a;
+ t["percentmonospace"] = 0xff05;
+ t["percentsmall"] = 0xfe6a;
+ t["period"] = 0x002e;
+ t["periodarmenian"] = 0x0589;
+ t["periodcentered"] = 0x00b7;
+ t["periodhalfwidth"] = 0xff61;
+ t["periodinferior"] = 0xf6e7;
+ t["periodmonospace"] = 0xff0e;
+ t["periodsmall"] = 0xfe52;
+ t["periodsuperior"] = 0xf6e8;
+ t["perispomenigreekcmb"] = 0x0342;
+ t["perpendicular"] = 0x22a5;
+ t["perthousand"] = 0x2030;
+ t["peseta"] = 0x20a7;
+ t["pfsquare"] = 0x338a;
+ t["phabengali"] = 0x09ab;
+ t["phadeva"] = 0x092b;
+ t["phagujarati"] = 0x0aab;
+ t["phagurmukhi"] = 0x0a2b;
+ t["phi"] = 0x03c6;
+ t["phi1"] = 0x03d5;
+ t["phieuphacirclekorean"] = 0x327a;
+ t["phieuphaparenkorean"] = 0x321a;
+ t["phieuphcirclekorean"] = 0x326c;
+ t["phieuphkorean"] = 0x314d;
+ t["phieuphparenkorean"] = 0x320c;
+ t["philatin"] = 0x0278;
+ t["phinthuthai"] = 0x0e3a;
+ t["phisymbolgreek"] = 0x03d5;
+ t["phook"] = 0x01a5;
+ t["phophanthai"] = 0x0e1e;
+ t["phophungthai"] = 0x0e1c;
+ t["phosamphaothai"] = 0x0e20;
+ t["pi"] = 0x03c0;
+ t["pieupacirclekorean"] = 0x3273;
+ t["pieupaparenkorean"] = 0x3213;
+ t["pieupcieuckorean"] = 0x3176;
+ t["pieupcirclekorean"] = 0x3265;
+ t["pieupkiyeokkorean"] = 0x3172;
+ t["pieupkorean"] = 0x3142;
+ t["pieupparenkorean"] = 0x3205;
+ t["pieupsioskiyeokkorean"] = 0x3174;
+ t["pieupsioskorean"] = 0x3144;
+ t["pieupsiostikeutkorean"] = 0x3175;
+ t["pieupthieuthkorean"] = 0x3177;
+ t["pieuptikeutkorean"] = 0x3173;
+ t["pihiragana"] = 0x3074;
+ t["pikatakana"] = 0x30d4;
+ t["pisymbolgreek"] = 0x03d6;
+ t["piwrarmenian"] = 0x0583;
+ t["plus"] = 0x002b;
+ t["plusbelowcmb"] = 0x031f;
+ t["pluscircle"] = 0x2295;
+ t["plusminus"] = 0x00b1;
+ t["plusmod"] = 0x02d6;
+ t["plusmonospace"] = 0xff0b;
+ t["plussmall"] = 0xfe62;
+ t["plussuperior"] = 0x207a;
+ t["pmonospace"] = 0xff50;
+ t["pmsquare"] = 0x33d8;
+ t["pohiragana"] = 0x307d;
+ t["pointingindexdownwhite"] = 0x261f;
+ t["pointingindexleftwhite"] = 0x261c;
+ t["pointingindexrightwhite"] = 0x261e;
+ t["pointingindexupwhite"] = 0x261d;
+ t["pokatakana"] = 0x30dd;
+ t["poplathai"] = 0x0e1b;
+ t["postalmark"] = 0x3012;
+ t["postalmarkface"] = 0x3020;
+ t["pparen"] = 0x24ab;
+ t["precedes"] = 0x227a;
+ t["prescription"] = 0x211e;
+ t["primemod"] = 0x02b9;
+ t["primereversed"] = 0x2035;
+ t["product"] = 0x220f;
+ t["projective"] = 0x2305;
+ t["prolongedkana"] = 0x30fc;
+ t["propellor"] = 0x2318;
+ t["propersubset"] = 0x2282;
+ t["propersuperset"] = 0x2283;
+ t["proportion"] = 0x2237;
+ t["proportional"] = 0x221d;
+ t["psi"] = 0x03c8;
+ t["psicyrillic"] = 0x0471;
+ t["psilipneumatacyrilliccmb"] = 0x0486;
+ t["pssquare"] = 0x33b0;
+ t["puhiragana"] = 0x3077;
+ t["pukatakana"] = 0x30d7;
+ t["pvsquare"] = 0x33b4;
+ t["pwsquare"] = 0x33ba;
+ t["q"] = 0x0071;
+ t["qadeva"] = 0x0958;
+ t["qadmahebrew"] = 0x05a8;
+ t["qafarabic"] = 0x0642;
+ t["qaffinalarabic"] = 0xfed6;
+ t["qafinitialarabic"] = 0xfed7;
+ t["qafmedialarabic"] = 0xfed8;
+ t["qamats"] = 0x05b8;
+ t["qamats10"] = 0x05b8;
+ t["qamats1a"] = 0x05b8;
+ t["qamats1c"] = 0x05b8;
+ t["qamats27"] = 0x05b8;
+ t["qamats29"] = 0x05b8;
+ t["qamats33"] = 0x05b8;
+ t["qamatsde"] = 0x05b8;
+ t["qamatshebrew"] = 0x05b8;
+ t["qamatsnarrowhebrew"] = 0x05b8;
+ t["qamatsqatanhebrew"] = 0x05b8;
+ t["qamatsqatannarrowhebrew"] = 0x05b8;
+ t["qamatsqatanquarterhebrew"] = 0x05b8;
+ t["qamatsqatanwidehebrew"] = 0x05b8;
+ t["qamatsquarterhebrew"] = 0x05b8;
+ t["qamatswidehebrew"] = 0x05b8;
+ t["qarneyparahebrew"] = 0x059f;
+ t["qbopomofo"] = 0x3111;
+ t["qcircle"] = 0x24e0;
+ t["qhook"] = 0x02a0;
+ t["qmonospace"] = 0xff51;
+ t["qof"] = 0x05e7;
+ t["qofdagesh"] = 0xfb47;
+ t["qofdageshhebrew"] = 0xfb47;
+ t["qofhebrew"] = 0x05e7;
+ t["qparen"] = 0x24ac;
+ t["quarternote"] = 0x2669;
+ t["qubuts"] = 0x05bb;
+ t["qubuts18"] = 0x05bb;
+ t["qubuts25"] = 0x05bb;
+ t["qubuts31"] = 0x05bb;
+ t["qubutshebrew"] = 0x05bb;
+ t["qubutsnarrowhebrew"] = 0x05bb;
+ t["qubutsquarterhebrew"] = 0x05bb;
+ t["qubutswidehebrew"] = 0x05bb;
+ t["question"] = 0x003f;
+ t["questionarabic"] = 0x061f;
+ t["questionarmenian"] = 0x055e;
+ t["questiondown"] = 0x00bf;
+ t["questiondownsmall"] = 0xf7bf;
+ t["questiongreek"] = 0x037e;
+ t["questionmonospace"] = 0xff1f;
+ t["questionsmall"] = 0xf73f;
+ t["quotedbl"] = 0x0022;
+ t["quotedblbase"] = 0x201e;
+ t["quotedblleft"] = 0x201c;
+ t["quotedblmonospace"] = 0xff02;
+ t["quotedblprime"] = 0x301e;
+ t["quotedblprimereversed"] = 0x301d;
+ t["quotedblright"] = 0x201d;
+ t["quoteleft"] = 0x2018;
+ t["quoteleftreversed"] = 0x201b;
+ t["quotereversed"] = 0x201b;
+ t["quoteright"] = 0x2019;
+ t["quoterightn"] = 0x0149;
+ t["quotesinglbase"] = 0x201a;
+ t["quotesingle"] = 0x0027;
+ t["quotesinglemonospace"] = 0xff07;
+ t["r"] = 0x0072;
+ t["raarmenian"] = 0x057c;
+ t["rabengali"] = 0x09b0;
+ t["racute"] = 0x0155;
+ t["radeva"] = 0x0930;
+ t["radical"] = 0x221a;
+ t["radicalex"] = 0xf8e5;
+ t["radoverssquare"] = 0x33ae;
+ t["radoverssquaredsquare"] = 0x33af;
+ t["radsquare"] = 0x33ad;
+ t["rafe"] = 0x05bf;
+ t["rafehebrew"] = 0x05bf;
+ t["ragujarati"] = 0x0ab0;
+ t["ragurmukhi"] = 0x0a30;
+ t["rahiragana"] = 0x3089;
+ t["rakatakana"] = 0x30e9;
+ t["rakatakanahalfwidth"] = 0xff97;
+ t["ralowerdiagonalbengali"] = 0x09f1;
+ t["ramiddlediagonalbengali"] = 0x09f0;
+ t["ramshorn"] = 0x0264;
+ t["ratio"] = 0x2236;
+ t["rbopomofo"] = 0x3116;
+ t["rcaron"] = 0x0159;
+ t["rcedilla"] = 0x0157;
+ t["rcircle"] = 0x24e1;
+ t["rcommaaccent"] = 0x0157;
+ t["rdblgrave"] = 0x0211;
+ t["rdotaccent"] = 0x1e59;
+ t["rdotbelow"] = 0x1e5b;
+ t["rdotbelowmacron"] = 0x1e5d;
+ t["referencemark"] = 0x203b;
+ t["reflexsubset"] = 0x2286;
+ t["reflexsuperset"] = 0x2287;
+ t["registered"] = 0x00ae;
+ t["registersans"] = 0xf8e8;
+ t["registerserif"] = 0xf6da;
+ t["reharabic"] = 0x0631;
+ t["reharmenian"] = 0x0580;
+ t["rehfinalarabic"] = 0xfeae;
+ t["rehiragana"] = 0x308c;
+ t["rekatakana"] = 0x30ec;
+ t["rekatakanahalfwidth"] = 0xff9a;
+ t["resh"] = 0x05e8;
+ t["reshdageshhebrew"] = 0xfb48;
+ t["reshhebrew"] = 0x05e8;
+ t["reversedtilde"] = 0x223d;
+ t["reviahebrew"] = 0x0597;
+ t["reviamugrashhebrew"] = 0x0597;
+ t["revlogicalnot"] = 0x2310;
+ t["rfishhook"] = 0x027e;
+ t["rfishhookreversed"] = 0x027f;
+ t["rhabengali"] = 0x09dd;
+ t["rhadeva"] = 0x095d;
+ t["rho"] = 0x03c1;
+ t["rhook"] = 0x027d;
+ t["rhookturned"] = 0x027b;
+ t["rhookturnedsuperior"] = 0x02b5;
+ t["rhosymbolgreek"] = 0x03f1;
+ t["rhotichookmod"] = 0x02de;
+ t["rieulacirclekorean"] = 0x3271;
+ t["rieulaparenkorean"] = 0x3211;
+ t["rieulcirclekorean"] = 0x3263;
+ t["rieulhieuhkorean"] = 0x3140;
+ t["rieulkiyeokkorean"] = 0x313a;
+ t["rieulkiyeoksioskorean"] = 0x3169;
+ t["rieulkorean"] = 0x3139;
+ t["rieulmieumkorean"] = 0x313b;
+ t["rieulpansioskorean"] = 0x316c;
+ t["rieulparenkorean"] = 0x3203;
+ t["rieulphieuphkorean"] = 0x313f;
+ t["rieulpieupkorean"] = 0x313c;
+ t["rieulpieupsioskorean"] = 0x316b;
+ t["rieulsioskorean"] = 0x313d;
+ t["rieulthieuthkorean"] = 0x313e;
+ t["rieultikeutkorean"] = 0x316a;
+ t["rieulyeorinhieuhkorean"] = 0x316d;
+ t["rightangle"] = 0x221f;
+ t["righttackbelowcmb"] = 0x0319;
+ t["righttriangle"] = 0x22bf;
+ t["rihiragana"] = 0x308a;
+ t["rikatakana"] = 0x30ea;
+ t["rikatakanahalfwidth"] = 0xff98;
+ t["ring"] = 0x02da;
+ t["ringbelowcmb"] = 0x0325;
+ t["ringcmb"] = 0x030a;
+ t["ringhalfleft"] = 0x02bf;
+ t["ringhalfleftarmenian"] = 0x0559;
+ t["ringhalfleftbelowcmb"] = 0x031c;
+ t["ringhalfleftcentered"] = 0x02d3;
+ t["ringhalfright"] = 0x02be;
+ t["ringhalfrightbelowcmb"] = 0x0339;
+ t["ringhalfrightcentered"] = 0x02d2;
+ t["rinvertedbreve"] = 0x0213;
+ t["rittorusquare"] = 0x3351;
+ t["rlinebelow"] = 0x1e5f;
+ t["rlongleg"] = 0x027c;
+ t["rlonglegturned"] = 0x027a;
+ t["rmonospace"] = 0xff52;
+ t["rohiragana"] = 0x308d;
+ t["rokatakana"] = 0x30ed;
+ t["rokatakanahalfwidth"] = 0xff9b;
+ t["roruathai"] = 0x0e23;
+ t["rparen"] = 0x24ad;
+ t["rrabengali"] = 0x09dc;
+ t["rradeva"] = 0x0931;
+ t["rragurmukhi"] = 0x0a5c;
+ t["rreharabic"] = 0x0691;
+ t["rrehfinalarabic"] = 0xfb8d;
+ t["rrvocalicbengali"] = 0x09e0;
+ t["rrvocalicdeva"] = 0x0960;
+ t["rrvocalicgujarati"] = 0x0ae0;
+ t["rrvocalicvowelsignbengali"] = 0x09c4;
+ t["rrvocalicvowelsigndeva"] = 0x0944;
+ t["rrvocalicvowelsigngujarati"] = 0x0ac4;
+ t["rsuperior"] = 0xf6f1;
+ t["rtblock"] = 0x2590;
+ t["rturned"] = 0x0279;
+ t["rturnedsuperior"] = 0x02b4;
+ t["ruhiragana"] = 0x308b;
+ t["rukatakana"] = 0x30eb;
+ t["rukatakanahalfwidth"] = 0xff99;
+ t["rupeemarkbengali"] = 0x09f2;
+ t["rupeesignbengali"] = 0x09f3;
+ t["rupiah"] = 0xf6dd;
+ t["ruthai"] = 0x0e24;
+ t["rvocalicbengali"] = 0x098b;
+ t["rvocalicdeva"] = 0x090b;
+ t["rvocalicgujarati"] = 0x0a8b;
+ t["rvocalicvowelsignbengali"] = 0x09c3;
+ t["rvocalicvowelsigndeva"] = 0x0943;
+ t["rvocalicvowelsigngujarati"] = 0x0ac3;
+ t["s"] = 0x0073;
+ t["sabengali"] = 0x09b8;
+ t["sacute"] = 0x015b;
+ t["sacutedotaccent"] = 0x1e65;
+ t["sadarabic"] = 0x0635;
+ t["sadeva"] = 0x0938;
+ t["sadfinalarabic"] = 0xfeba;
+ t["sadinitialarabic"] = 0xfebb;
+ t["sadmedialarabic"] = 0xfebc;
+ t["sagujarati"] = 0x0ab8;
+ t["sagurmukhi"] = 0x0a38;
+ t["sahiragana"] = 0x3055;
+ t["sakatakana"] = 0x30b5;
+ t["sakatakanahalfwidth"] = 0xff7b;
+ t["sallallahoualayhewasallamarabic"] = 0xfdfa;
+ t["samekh"] = 0x05e1;
+ t["samekhdagesh"] = 0xfb41;
+ t["samekhdageshhebrew"] = 0xfb41;
+ t["samekhhebrew"] = 0x05e1;
+ t["saraaathai"] = 0x0e32;
+ t["saraaethai"] = 0x0e41;
+ t["saraaimaimalaithai"] = 0x0e44;
+ t["saraaimaimuanthai"] = 0x0e43;
+ t["saraamthai"] = 0x0e33;
+ t["saraathai"] = 0x0e30;
+ t["saraethai"] = 0x0e40;
+ t["saraiileftthai"] = 0xf886;
+ t["saraiithai"] = 0x0e35;
+ t["saraileftthai"] = 0xf885;
+ t["saraithai"] = 0x0e34;
+ t["saraothai"] = 0x0e42;
+ t["saraueeleftthai"] = 0xf888;
+ t["saraueethai"] = 0x0e37;
+ t["saraueleftthai"] = 0xf887;
+ t["sarauethai"] = 0x0e36;
+ t["sarauthai"] = 0x0e38;
+ t["sarauuthai"] = 0x0e39;
+ t["sbopomofo"] = 0x3119;
+ t["scaron"] = 0x0161;
+ t["scarondotaccent"] = 0x1e67;
+ t["scedilla"] = 0x015f;
+ t["schwa"] = 0x0259;
+ t["schwacyrillic"] = 0x04d9;
+ t["schwadieresiscyrillic"] = 0x04db;
+ t["schwahook"] = 0x025a;
+ t["scircle"] = 0x24e2;
+ t["scircumflex"] = 0x015d;
+ t["scommaaccent"] = 0x0219;
+ t["sdotaccent"] = 0x1e61;
+ t["sdotbelow"] = 0x1e63;
+ t["sdotbelowdotaccent"] = 0x1e69;
+ t["seagullbelowcmb"] = 0x033c;
+ t["second"] = 0x2033;
+ t["secondtonechinese"] = 0x02ca;
+ t["section"] = 0x00a7;
+ t["seenarabic"] = 0x0633;
+ t["seenfinalarabic"] = 0xfeb2;
+ t["seeninitialarabic"] = 0xfeb3;
+ t["seenmedialarabic"] = 0xfeb4;
+ t["segol"] = 0x05b6;
+ t["segol13"] = 0x05b6;
+ t["segol1f"] = 0x05b6;
+ t["segol2c"] = 0x05b6;
+ t["segolhebrew"] = 0x05b6;
+ t["segolnarrowhebrew"] = 0x05b6;
+ t["segolquarterhebrew"] = 0x05b6;
+ t["segoltahebrew"] = 0x0592;
+ t["segolwidehebrew"] = 0x05b6;
+ t["seharmenian"] = 0x057d;
+ t["sehiragana"] = 0x305b;
+ t["sekatakana"] = 0x30bb;
+ t["sekatakanahalfwidth"] = 0xff7e;
+ t["semicolon"] = 0x003b;
+ t["semicolonarabic"] = 0x061b;
+ t["semicolonmonospace"] = 0xff1b;
+ t["semicolonsmall"] = 0xfe54;
+ t["semivoicedmarkkana"] = 0x309c;
+ t["semivoicedmarkkanahalfwidth"] = 0xff9f;
+ t["sentisquare"] = 0x3322;
+ t["sentosquare"] = 0x3323;
+ t["seven"] = 0x0037;
+ t["sevenarabic"] = 0x0667;
+ t["sevenbengali"] = 0x09ed;
+ t["sevencircle"] = 0x2466;
+ t["sevencircleinversesansserif"] = 0x2790;
+ t["sevendeva"] = 0x096d;
+ t["seveneighths"] = 0x215e;
+ t["sevengujarati"] = 0x0aed;
+ t["sevengurmukhi"] = 0x0a6d;
+ t["sevenhackarabic"] = 0x0667;
+ t["sevenhangzhou"] = 0x3027;
+ t["sevenideographicparen"] = 0x3226;
+ t["seveninferior"] = 0x2087;
+ t["sevenmonospace"] = 0xff17;
+ t["sevenoldstyle"] = 0xf737;
+ t["sevenparen"] = 0x247a;
+ t["sevenperiod"] = 0x248e;
+ t["sevenpersian"] = 0x06f7;
+ t["sevenroman"] = 0x2176;
+ t["sevensuperior"] = 0x2077;
+ t["seventeencircle"] = 0x2470;
+ t["seventeenparen"] = 0x2484;
+ t["seventeenperiod"] = 0x2498;
+ t["seventhai"] = 0x0e57;
+ t["sfthyphen"] = 0x00ad;
+ t["shaarmenian"] = 0x0577;
+ t["shabengali"] = 0x09b6;
+ t["shacyrillic"] = 0x0448;
+ t["shaddaarabic"] = 0x0651;
+ t["shaddadammaarabic"] = 0xfc61;
+ t["shaddadammatanarabic"] = 0xfc5e;
+ t["shaddafathaarabic"] = 0xfc60;
+ t["shaddakasraarabic"] = 0xfc62;
+ t["shaddakasratanarabic"] = 0xfc5f;
+ t["shade"] = 0x2592;
+ t["shadedark"] = 0x2593;
+ t["shadelight"] = 0x2591;
+ t["shademedium"] = 0x2592;
+ t["shadeva"] = 0x0936;
+ t["shagujarati"] = 0x0ab6;
+ t["shagurmukhi"] = 0x0a36;
+ t["shalshelethebrew"] = 0x0593;
+ t["shbopomofo"] = 0x3115;
+ t["shchacyrillic"] = 0x0449;
+ t["sheenarabic"] = 0x0634;
+ t["sheenfinalarabic"] = 0xfeb6;
+ t["sheeninitialarabic"] = 0xfeb7;
+ t["sheenmedialarabic"] = 0xfeb8;
+ t["sheicoptic"] = 0x03e3;
+ t["sheqel"] = 0x20aa;
+ t["sheqelhebrew"] = 0x20aa;
+ t["sheva"] = 0x05b0;
+ t["sheva115"] = 0x05b0;
+ t["sheva15"] = 0x05b0;
+ t["sheva22"] = 0x05b0;
+ t["sheva2e"] = 0x05b0;
+ t["shevahebrew"] = 0x05b0;
+ t["shevanarrowhebrew"] = 0x05b0;
+ t["shevaquarterhebrew"] = 0x05b0;
+ t["shevawidehebrew"] = 0x05b0;
+ t["shhacyrillic"] = 0x04bb;
+ t["shimacoptic"] = 0x03ed;
+ t["shin"] = 0x05e9;
+ t["shindagesh"] = 0xfb49;
+ t["shindageshhebrew"] = 0xfb49;
+ t["shindageshshindot"] = 0xfb2c;
+ t["shindageshshindothebrew"] = 0xfb2c;
+ t["shindageshsindot"] = 0xfb2d;
+ t["shindageshsindothebrew"] = 0xfb2d;
+ t["shindothebrew"] = 0x05c1;
+ t["shinhebrew"] = 0x05e9;
+ t["shinshindot"] = 0xfb2a;
+ t["shinshindothebrew"] = 0xfb2a;
+ t["shinsindot"] = 0xfb2b;
+ t["shinsindothebrew"] = 0xfb2b;
+ t["shook"] = 0x0282;
+ t["sigma"] = 0x03c3;
+ t["sigma1"] = 0x03c2;
+ t["sigmafinal"] = 0x03c2;
+ t["sigmalunatesymbolgreek"] = 0x03f2;
+ t["sihiragana"] = 0x3057;
+ t["sikatakana"] = 0x30b7;
+ t["sikatakanahalfwidth"] = 0xff7c;
+ t["siluqhebrew"] = 0x05bd;
+ t["siluqlefthebrew"] = 0x05bd;
+ t["similar"] = 0x223c;
+ t["sindothebrew"] = 0x05c2;
+ t["siosacirclekorean"] = 0x3274;
+ t["siosaparenkorean"] = 0x3214;
+ t["sioscieuckorean"] = 0x317e;
+ t["sioscirclekorean"] = 0x3266;
+ t["sioskiyeokkorean"] = 0x317a;
+ t["sioskorean"] = 0x3145;
+ t["siosnieunkorean"] = 0x317b;
+ t["siosparenkorean"] = 0x3206;
+ t["siospieupkorean"] = 0x317d;
+ t["siostikeutkorean"] = 0x317c;
+ t["six"] = 0x0036;
+ t["sixarabic"] = 0x0666;
+ t["sixbengali"] = 0x09ec;
+ t["sixcircle"] = 0x2465;
+ t["sixcircleinversesansserif"] = 0x278f;
+ t["sixdeva"] = 0x096c;
+ t["sixgujarati"] = 0x0aec;
+ t["sixgurmukhi"] = 0x0a6c;
+ t["sixhackarabic"] = 0x0666;
+ t["sixhangzhou"] = 0x3026;
+ t["sixideographicparen"] = 0x3225;
+ t["sixinferior"] = 0x2086;
+ t["sixmonospace"] = 0xff16;
+ t["sixoldstyle"] = 0xf736;
+ t["sixparen"] = 0x2479;
+ t["sixperiod"] = 0x248d;
+ t["sixpersian"] = 0x06f6;
+ t["sixroman"] = 0x2175;
+ t["sixsuperior"] = 0x2076;
+ t["sixteencircle"] = 0x246f;
+ t["sixteencurrencydenominatorbengali"] = 0x09f9;
+ t["sixteenparen"] = 0x2483;
+ t["sixteenperiod"] = 0x2497;
+ t["sixthai"] = 0x0e56;
+ t["slash"] = 0x002f;
+ t["slashmonospace"] = 0xff0f;
+ t["slong"] = 0x017f;
+ t["slongdotaccent"] = 0x1e9b;
+ t["smileface"] = 0x263a;
+ t["smonospace"] = 0xff53;
+ t["sofpasuqhebrew"] = 0x05c3;
+ t["softhyphen"] = 0x00ad;
+ t["softsigncyrillic"] = 0x044c;
+ t["sohiragana"] = 0x305d;
+ t["sokatakana"] = 0x30bd;
+ t["sokatakanahalfwidth"] = 0xff7f;
+ t["soliduslongoverlaycmb"] = 0x0338;
+ t["solidusshortoverlaycmb"] = 0x0337;
+ t["sorusithai"] = 0x0e29;
+ t["sosalathai"] = 0x0e28;
+ t["sosothai"] = 0x0e0b;
+ t["sosuathai"] = 0x0e2a;
+ t["space"] = 0x0020;
+ t["spacehackarabic"] = 0x0020;
+ t["spade"] = 0x2660;
+ t["spadesuitblack"] = 0x2660;
+ t["spadesuitwhite"] = 0x2664;
+ t["sparen"] = 0x24ae;
+ t["squarebelowcmb"] = 0x033b;
+ t["squarecc"] = 0x33c4;
+ t["squarecm"] = 0x339d;
+ t["squarediagonalcrosshatchfill"] = 0x25a9;
+ t["squarehorizontalfill"] = 0x25a4;
+ t["squarekg"] = 0x338f;
+ t["squarekm"] = 0x339e;
+ t["squarekmcapital"] = 0x33ce;
+ t["squareln"] = 0x33d1;
+ t["squarelog"] = 0x33d2;
+ t["squaremg"] = 0x338e;
+ t["squaremil"] = 0x33d5;
+ t["squaremm"] = 0x339c;
+ t["squaremsquared"] = 0x33a1;
+ t["squareorthogonalcrosshatchfill"] = 0x25a6;
+ t["squareupperlefttolowerrightfill"] = 0x25a7;
+ t["squareupperrighttolowerleftfill"] = 0x25a8;
+ t["squareverticalfill"] = 0x25a5;
+ t["squarewhitewithsmallblack"] = 0x25a3;
+ t["srsquare"] = 0x33db;
+ t["ssabengali"] = 0x09b7;
+ t["ssadeva"] = 0x0937;
+ t["ssagujarati"] = 0x0ab7;
+ t["ssangcieuckorean"] = 0x3149;
+ t["ssanghieuhkorean"] = 0x3185;
+ t["ssangieungkorean"] = 0x3180;
+ t["ssangkiyeokkorean"] = 0x3132;
+ t["ssangnieunkorean"] = 0x3165;
+ t["ssangpieupkorean"] = 0x3143;
+ t["ssangsioskorean"] = 0x3146;
+ t["ssangtikeutkorean"] = 0x3138;
+ t["ssuperior"] = 0xf6f2;
+ t["sterling"] = 0x00a3;
+ t["sterlingmonospace"] = 0xffe1;
+ t["strokelongoverlaycmb"] = 0x0336;
+ t["strokeshortoverlaycmb"] = 0x0335;
+ t["subset"] = 0x2282;
+ t["subsetnotequal"] = 0x228a;
+ t["subsetorequal"] = 0x2286;
+ t["succeeds"] = 0x227b;
+ t["suchthat"] = 0x220b;
+ t["suhiragana"] = 0x3059;
+ t["sukatakana"] = 0x30b9;
+ t["sukatakanahalfwidth"] = 0xff7d;
+ t["sukunarabic"] = 0x0652;
+ t["summation"] = 0x2211;
+ t["sun"] = 0x263c;
+ t["superset"] = 0x2283;
+ t["supersetnotequal"] = 0x228b;
+ t["supersetorequal"] = 0x2287;
+ t["svsquare"] = 0x33dc;
+ t["syouwaerasquare"] = 0x337c;
+ t["t"] = 0x0074;
+ t["tabengali"] = 0x09a4;
+ t["tackdown"] = 0x22a4;
+ t["tackleft"] = 0x22a3;
+ t["tadeva"] = 0x0924;
+ t["tagujarati"] = 0x0aa4;
+ t["tagurmukhi"] = 0x0a24;
+ t["taharabic"] = 0x0637;
+ t["tahfinalarabic"] = 0xfec2;
+ t["tahinitialarabic"] = 0xfec3;
+ t["tahiragana"] = 0x305f;
+ t["tahmedialarabic"] = 0xfec4;
+ t["taisyouerasquare"] = 0x337d;
+ t["takatakana"] = 0x30bf;
+ t["takatakanahalfwidth"] = 0xff80;
+ t["tatweelarabic"] = 0x0640;
+ t["tau"] = 0x03c4;
+ t["tav"] = 0x05ea;
+ t["tavdages"] = 0xfb4a;
+ t["tavdagesh"] = 0xfb4a;
+ t["tavdageshhebrew"] = 0xfb4a;
+ t["tavhebrew"] = 0x05ea;
+ t["tbar"] = 0x0167;
+ t["tbopomofo"] = 0x310a;
+ t["tcaron"] = 0x0165;
+ t["tccurl"] = 0x02a8;
+ t["tcedilla"] = 0x0163;
+ t["tcheharabic"] = 0x0686;
+ t["tchehfinalarabic"] = 0xfb7b;
+ t["tchehinitialarabic"] = 0xfb7c;
+ t["tchehmedialarabic"] = 0xfb7d;
+ t["tcircle"] = 0x24e3;
+ t["tcircumflexbelow"] = 0x1e71;
+ t["tcommaaccent"] = 0x0163;
+ t["tdieresis"] = 0x1e97;
+ t["tdotaccent"] = 0x1e6b;
+ t["tdotbelow"] = 0x1e6d;
+ t["tecyrillic"] = 0x0442;
+ t["tedescendercyrillic"] = 0x04ad;
+ t["teharabic"] = 0x062a;
+ t["tehfinalarabic"] = 0xfe96;
+ t["tehhahinitialarabic"] = 0xfca2;
+ t["tehhahisolatedarabic"] = 0xfc0c;
+ t["tehinitialarabic"] = 0xfe97;
+ t["tehiragana"] = 0x3066;
+ t["tehjeeminitialarabic"] = 0xfca1;
+ t["tehjeemisolatedarabic"] = 0xfc0b;
+ t["tehmarbutaarabic"] = 0x0629;
+ t["tehmarbutafinalarabic"] = 0xfe94;
+ t["tehmedialarabic"] = 0xfe98;
+ t["tehmeeminitialarabic"] = 0xfca4;
+ t["tehmeemisolatedarabic"] = 0xfc0e;
+ t["tehnoonfinalarabic"] = 0xfc73;
+ t["tekatakana"] = 0x30c6;
+ t["tekatakanahalfwidth"] = 0xff83;
+ t["telephone"] = 0x2121;
+ t["telephoneblack"] = 0x260e;
+ t["telishagedolahebrew"] = 0x05a0;
+ t["telishaqetanahebrew"] = 0x05a9;
+ t["tencircle"] = 0x2469;
+ t["tenideographicparen"] = 0x3229;
+ t["tenparen"] = 0x247d;
+ t["tenperiod"] = 0x2491;
+ t["tenroman"] = 0x2179;
+ t["tesh"] = 0x02a7;
+ t["tet"] = 0x05d8;
+ t["tetdagesh"] = 0xfb38;
+ t["tetdageshhebrew"] = 0xfb38;
+ t["tethebrew"] = 0x05d8;
+ t["tetsecyrillic"] = 0x04b5;
+ t["tevirhebrew"] = 0x059b;
+ t["tevirlefthebrew"] = 0x059b;
+ t["thabengali"] = 0x09a5;
+ t["thadeva"] = 0x0925;
+ t["thagujarati"] = 0x0aa5;
+ t["thagurmukhi"] = 0x0a25;
+ t["thalarabic"] = 0x0630;
+ t["thalfinalarabic"] = 0xfeac;
+ t["thanthakhatlowleftthai"] = 0xf898;
+ t["thanthakhatlowrightthai"] = 0xf897;
+ t["thanthakhatthai"] = 0x0e4c;
+ t["thanthakhatupperleftthai"] = 0xf896;
+ t["theharabic"] = 0x062b;
+ t["thehfinalarabic"] = 0xfe9a;
+ t["thehinitialarabic"] = 0xfe9b;
+ t["thehmedialarabic"] = 0xfe9c;
+ t["thereexists"] = 0x2203;
+ t["therefore"] = 0x2234;
+ t["theta"] = 0x03b8;
+ t["theta1"] = 0x03d1;
+ t["thetasymbolgreek"] = 0x03d1;
+ t["thieuthacirclekorean"] = 0x3279;
+ t["thieuthaparenkorean"] = 0x3219;
+ t["thieuthcirclekorean"] = 0x326b;
+ t["thieuthkorean"] = 0x314c;
+ t["thieuthparenkorean"] = 0x320b;
+ t["thirteencircle"] = 0x246c;
+ t["thirteenparen"] = 0x2480;
+ t["thirteenperiod"] = 0x2494;
+ t["thonangmonthothai"] = 0x0e11;
+ t["thook"] = 0x01ad;
+ t["thophuthaothai"] = 0x0e12;
+ t["thorn"] = 0x00fe;
+ t["thothahanthai"] = 0x0e17;
+ t["thothanthai"] = 0x0e10;
+ t["thothongthai"] = 0x0e18;
+ t["thothungthai"] = 0x0e16;
+ t["thousandcyrillic"] = 0x0482;
+ t["thousandsseparatorarabic"] = 0x066c;
+ t["thousandsseparatorpersian"] = 0x066c;
+ t["three"] = 0x0033;
+ t["threearabic"] = 0x0663;
+ t["threebengali"] = 0x09e9;
+ t["threecircle"] = 0x2462;
+ t["threecircleinversesansserif"] = 0x278c;
+ t["threedeva"] = 0x0969;
+ t["threeeighths"] = 0x215c;
+ t["threegujarati"] = 0x0ae9;
+ t["threegurmukhi"] = 0x0a69;
+ t["threehackarabic"] = 0x0663;
+ t["threehangzhou"] = 0x3023;
+ t["threeideographicparen"] = 0x3222;
+ t["threeinferior"] = 0x2083;
+ t["threemonospace"] = 0xff13;
+ t["threenumeratorbengali"] = 0x09f6;
+ t["threeoldstyle"] = 0xf733;
+ t["threeparen"] = 0x2476;
+ t["threeperiod"] = 0x248a;
+ t["threepersian"] = 0x06f3;
+ t["threequarters"] = 0x00be;
+ t["threequartersemdash"] = 0xf6de;
+ t["threeroman"] = 0x2172;
+ t["threesuperior"] = 0x00b3;
+ t["threethai"] = 0x0e53;
+ t["thzsquare"] = 0x3394;
+ t["tihiragana"] = 0x3061;
+ t["tikatakana"] = 0x30c1;
+ t["tikatakanahalfwidth"] = 0xff81;
+ t["tikeutacirclekorean"] = 0x3270;
+ t["tikeutaparenkorean"] = 0x3210;
+ t["tikeutcirclekorean"] = 0x3262;
+ t["tikeutkorean"] = 0x3137;
+ t["tikeutparenkorean"] = 0x3202;
+ t["tilde"] = 0x02dc;
+ t["tildebelowcmb"] = 0x0330;
+ t["tildecmb"] = 0x0303;
+ t["tildecomb"] = 0x0303;
+ t["tildedoublecmb"] = 0x0360;
+ t["tildeoperator"] = 0x223c;
+ t["tildeoverlaycmb"] = 0x0334;
+ t["tildeverticalcmb"] = 0x033e;
+ t["timescircle"] = 0x2297;
+ t["tipehahebrew"] = 0x0596;
+ t["tipehalefthebrew"] = 0x0596;
+ t["tippigurmukhi"] = 0x0a70;
+ t["titlocyrilliccmb"] = 0x0483;
+ t["tiwnarmenian"] = 0x057f;
+ t["tlinebelow"] = 0x1e6f;
+ t["tmonospace"] = 0xff54;
+ t["toarmenian"] = 0x0569;
+ t["tohiragana"] = 0x3068;
+ t["tokatakana"] = 0x30c8;
+ t["tokatakanahalfwidth"] = 0xff84;
+ t["tonebarextrahighmod"] = 0x02e5;
+ t["tonebarextralowmod"] = 0x02e9;
+ t["tonebarhighmod"] = 0x02e6;
+ t["tonebarlowmod"] = 0x02e8;
+ t["tonebarmidmod"] = 0x02e7;
+ t["tonefive"] = 0x01bd;
+ t["tonesix"] = 0x0185;
+ t["tonetwo"] = 0x01a8;
+ t["tonos"] = 0x0384;
+ t["tonsquare"] = 0x3327;
+ t["topatakthai"] = 0x0e0f;
+ t["tortoiseshellbracketleft"] = 0x3014;
+ t["tortoiseshellbracketleftsmall"] = 0xfe5d;
+ t["tortoiseshellbracketleftvertical"] = 0xfe39;
+ t["tortoiseshellbracketright"] = 0x3015;
+ t["tortoiseshellbracketrightsmall"] = 0xfe5e;
+ t["tortoiseshellbracketrightvertical"] = 0xfe3a;
+ t["totaothai"] = 0x0e15;
+ t["tpalatalhook"] = 0x01ab;
+ t["tparen"] = 0x24af;
+ t["trademark"] = 0x2122;
+ t["trademarksans"] = 0xf8ea;
+ t["trademarkserif"] = 0xf6db;
+ t["tretroflexhook"] = 0x0288;
+ t["triagdn"] = 0x25bc;
+ t["triaglf"] = 0x25c4;
+ t["triagrt"] = 0x25ba;
+ t["triagup"] = 0x25b2;
+ t["ts"] = 0x02a6;
+ t["tsadi"] = 0x05e6;
+ t["tsadidagesh"] = 0xfb46;
+ t["tsadidageshhebrew"] = 0xfb46;
+ t["tsadihebrew"] = 0x05e6;
+ t["tsecyrillic"] = 0x0446;
+ t["tsere"] = 0x05b5;
+ t["tsere12"] = 0x05b5;
+ t["tsere1e"] = 0x05b5;
+ t["tsere2b"] = 0x05b5;
+ t["tserehebrew"] = 0x05b5;
+ t["tserenarrowhebrew"] = 0x05b5;
+ t["tserequarterhebrew"] = 0x05b5;
+ t["tserewidehebrew"] = 0x05b5;
+ t["tshecyrillic"] = 0x045b;
+ t["tsuperior"] = 0xf6f3;
+ t["ttabengali"] = 0x099f;
+ t["ttadeva"] = 0x091f;
+ t["ttagujarati"] = 0x0a9f;
+ t["ttagurmukhi"] = 0x0a1f;
+ t["tteharabic"] = 0x0679;
+ t["ttehfinalarabic"] = 0xfb67;
+ t["ttehinitialarabic"] = 0xfb68;
+ t["ttehmedialarabic"] = 0xfb69;
+ t["tthabengali"] = 0x09a0;
+ t["tthadeva"] = 0x0920;
+ t["tthagujarati"] = 0x0aa0;
+ t["tthagurmukhi"] = 0x0a20;
+ t["tturned"] = 0x0287;
+ t["tuhiragana"] = 0x3064;
+ t["tukatakana"] = 0x30c4;
+ t["tukatakanahalfwidth"] = 0xff82;
+ t["tusmallhiragana"] = 0x3063;
+ t["tusmallkatakana"] = 0x30c3;
+ t["tusmallkatakanahalfwidth"] = 0xff6f;
+ t["twelvecircle"] = 0x246b;
+ t["twelveparen"] = 0x247f;
+ t["twelveperiod"] = 0x2493;
+ t["twelveroman"] = 0x217b;
+ t["twentycircle"] = 0x2473;
+ t["twentyhangzhou"] = 0x5344;
+ t["twentyparen"] = 0x2487;
+ t["twentyperiod"] = 0x249b;
+ t["two"] = 0x0032;
+ t["twoarabic"] = 0x0662;
+ t["twobengali"] = 0x09e8;
+ t["twocircle"] = 0x2461;
+ t["twocircleinversesansserif"] = 0x278b;
+ t["twodeva"] = 0x0968;
+ t["twodotenleader"] = 0x2025;
+ t["twodotleader"] = 0x2025;
+ t["twodotleadervertical"] = 0xfe30;
+ t["twogujarati"] = 0x0ae8;
+ t["twogurmukhi"] = 0x0a68;
+ t["twohackarabic"] = 0x0662;
+ t["twohangzhou"] = 0x3022;
+ t["twoideographicparen"] = 0x3221;
+ t["twoinferior"] = 0x2082;
+ t["twomonospace"] = 0xff12;
+ t["twonumeratorbengali"] = 0x09f5;
+ t["twooldstyle"] = 0xf732;
+ t["twoparen"] = 0x2475;
+ t["twoperiod"] = 0x2489;
+ t["twopersian"] = 0x06f2;
+ t["tworoman"] = 0x2171;
+ t["twostroke"] = 0x01bb;
+ t["twosuperior"] = 0x00b2;
+ t["twothai"] = 0x0e52;
+ t["twothirds"] = 0x2154;
+ t["u"] = 0x0075;
+ t["uacute"] = 0x00fa;
+ t["ubar"] = 0x0289;
+ t["ubengali"] = 0x0989;
+ t["ubopomofo"] = 0x3128;
+ t["ubreve"] = 0x016d;
+ t["ucaron"] = 0x01d4;
+ t["ucircle"] = 0x24e4;
+ t["ucircumflex"] = 0x00fb;
+ t["ucircumflexbelow"] = 0x1e77;
+ t["ucyrillic"] = 0x0443;
+ t["udattadeva"] = 0x0951;
+ t["udblacute"] = 0x0171;
+ t["udblgrave"] = 0x0215;
+ t["udeva"] = 0x0909;
+ t["udieresis"] = 0x00fc;
+ t["udieresisacute"] = 0x01d8;
+ t["udieresisbelow"] = 0x1e73;
+ t["udieresiscaron"] = 0x01da;
+ t["udieresiscyrillic"] = 0x04f1;
+ t["udieresisgrave"] = 0x01dc;
+ t["udieresismacron"] = 0x01d6;
+ t["udotbelow"] = 0x1ee5;
+ t["ugrave"] = 0x00f9;
+ t["ugujarati"] = 0x0a89;
+ t["ugurmukhi"] = 0x0a09;
+ t["uhiragana"] = 0x3046;
+ t["uhookabove"] = 0x1ee7;
+ t["uhorn"] = 0x01b0;
+ t["uhornacute"] = 0x1ee9;
+ t["uhorndotbelow"] = 0x1ef1;
+ t["uhorngrave"] = 0x1eeb;
+ t["uhornhookabove"] = 0x1eed;
+ t["uhorntilde"] = 0x1eef;
+ t["uhungarumlaut"] = 0x0171;
+ t["uhungarumlautcyrillic"] = 0x04f3;
+ t["uinvertedbreve"] = 0x0217;
+ t["ukatakana"] = 0x30a6;
+ t["ukatakanahalfwidth"] = 0xff73;
+ t["ukcyrillic"] = 0x0479;
+ t["ukorean"] = 0x315c;
+ t["umacron"] = 0x016b;
+ t["umacroncyrillic"] = 0x04ef;
+ t["umacrondieresis"] = 0x1e7b;
+ t["umatragurmukhi"] = 0x0a41;
+ t["umonospace"] = 0xff55;
+ t["underscore"] = 0x005f;
+ t["underscoredbl"] = 0x2017;
+ t["underscoremonospace"] = 0xff3f;
+ t["underscorevertical"] = 0xfe33;
+ t["underscorewavy"] = 0xfe4f;
+ t["union"] = 0x222a;
+ t["universal"] = 0x2200;
+ t["uogonek"] = 0x0173;
+ t["uparen"] = 0x24b0;
+ t["upblock"] = 0x2580;
+ t["upperdothebrew"] = 0x05c4;
+ t["upsilon"] = 0x03c5;
+ t["upsilondieresis"] = 0x03cb;
+ t["upsilondieresistonos"] = 0x03b0;
+ t["upsilonlatin"] = 0x028a;
+ t["upsilontonos"] = 0x03cd;
+ t["uptackbelowcmb"] = 0x031d;
+ t["uptackmod"] = 0x02d4;
+ t["uragurmukhi"] = 0x0a73;
+ t["uring"] = 0x016f;
+ t["ushortcyrillic"] = 0x045e;
+ t["usmallhiragana"] = 0x3045;
+ t["usmallkatakana"] = 0x30a5;
+ t["usmallkatakanahalfwidth"] = 0xff69;
+ t["ustraightcyrillic"] = 0x04af;
+ t["ustraightstrokecyrillic"] = 0x04b1;
+ t["utilde"] = 0x0169;
+ t["utildeacute"] = 0x1e79;
+ t["utildebelow"] = 0x1e75;
+ t["uubengali"] = 0x098a;
+ t["uudeva"] = 0x090a;
+ t["uugujarati"] = 0x0a8a;
+ t["uugurmukhi"] = 0x0a0a;
+ t["uumatragurmukhi"] = 0x0a42;
+ t["uuvowelsignbengali"] = 0x09c2;
+ t["uuvowelsigndeva"] = 0x0942;
+ t["uuvowelsigngujarati"] = 0x0ac2;
+ t["uvowelsignbengali"] = 0x09c1;
+ t["uvowelsigndeva"] = 0x0941;
+ t["uvowelsigngujarati"] = 0x0ac1;
+ t["v"] = 0x0076;
+ t["vadeva"] = 0x0935;
+ t["vagujarati"] = 0x0ab5;
+ t["vagurmukhi"] = 0x0a35;
+ t["vakatakana"] = 0x30f7;
+ t["vav"] = 0x05d5;
+ t["vavdagesh"] = 0xfb35;
+ t["vavdagesh65"] = 0xfb35;
+ t["vavdageshhebrew"] = 0xfb35;
+ t["vavhebrew"] = 0x05d5;
+ t["vavholam"] = 0xfb4b;
+ t["vavholamhebrew"] = 0xfb4b;
+ t["vavvavhebrew"] = 0x05f0;
+ t["vavyodhebrew"] = 0x05f1;
+ t["vcircle"] = 0x24e5;
+ t["vdotbelow"] = 0x1e7f;
+ t["vecyrillic"] = 0x0432;
+ t["veharabic"] = 0x06a4;
+ t["vehfinalarabic"] = 0xfb6b;
+ t["vehinitialarabic"] = 0xfb6c;
+ t["vehmedialarabic"] = 0xfb6d;
+ t["vekatakana"] = 0x30f9;
+ t["venus"] = 0x2640;
+ t["verticalbar"] = 0x007c;
+ t["verticallineabovecmb"] = 0x030d;
+ t["verticallinebelowcmb"] = 0x0329;
+ t["verticallinelowmod"] = 0x02cc;
+ t["verticallinemod"] = 0x02c8;
+ t["vewarmenian"] = 0x057e;
+ t["vhook"] = 0x028b;
+ t["vikatakana"] = 0x30f8;
+ t["viramabengali"] = 0x09cd;
+ t["viramadeva"] = 0x094d;
+ t["viramagujarati"] = 0x0acd;
+ t["visargabengali"] = 0x0983;
+ t["visargadeva"] = 0x0903;
+ t["visargagujarati"] = 0x0a83;
+ t["vmonospace"] = 0xff56;
+ t["voarmenian"] = 0x0578;
+ t["voicediterationhiragana"] = 0x309e;
+ t["voicediterationkatakana"] = 0x30fe;
+ t["voicedmarkkana"] = 0x309b;
+ t["voicedmarkkanahalfwidth"] = 0xff9e;
+ t["vokatakana"] = 0x30fa;
+ t["vparen"] = 0x24b1;
+ t["vtilde"] = 0x1e7d;
+ t["vturned"] = 0x028c;
+ t["vuhiragana"] = 0x3094;
+ t["vukatakana"] = 0x30f4;
+ t["w"] = 0x0077;
+ t["wacute"] = 0x1e83;
+ t["waekorean"] = 0x3159;
+ t["wahiragana"] = 0x308f;
+ t["wakatakana"] = 0x30ef;
+ t["wakatakanahalfwidth"] = 0xff9c;
+ t["wakorean"] = 0x3158;
+ t["wasmallhiragana"] = 0x308e;
+ t["wasmallkatakana"] = 0x30ee;
+ t["wattosquare"] = 0x3357;
+ t["wavedash"] = 0x301c;
+ t["wavyunderscorevertical"] = 0xfe34;
+ t["wawarabic"] = 0x0648;
+ t["wawfinalarabic"] = 0xfeee;
+ t["wawhamzaabovearabic"] = 0x0624;
+ t["wawhamzaabovefinalarabic"] = 0xfe86;
+ t["wbsquare"] = 0x33dd;
+ t["wcircle"] = 0x24e6;
+ t["wcircumflex"] = 0x0175;
+ t["wdieresis"] = 0x1e85;
+ t["wdotaccent"] = 0x1e87;
+ t["wdotbelow"] = 0x1e89;
+ t["wehiragana"] = 0x3091;
+ t["weierstrass"] = 0x2118;
+ t["wekatakana"] = 0x30f1;
+ t["wekorean"] = 0x315e;
+ t["weokorean"] = 0x315d;
+ t["wgrave"] = 0x1e81;
+ t["whitebullet"] = 0x25e6;
+ t["whitecircle"] = 0x25cb;
+ t["whitecircleinverse"] = 0x25d9;
+ t["whitecornerbracketleft"] = 0x300e;
+ t["whitecornerbracketleftvertical"] = 0xfe43;
+ t["whitecornerbracketright"] = 0x300f;
+ t["whitecornerbracketrightvertical"] = 0xfe44;
+ t["whitediamond"] = 0x25c7;
+ t["whitediamondcontainingblacksmalldiamond"] = 0x25c8;
+ t["whitedownpointingsmalltriangle"] = 0x25bf;
+ t["whitedownpointingtriangle"] = 0x25bd;
+ t["whiteleftpointingsmalltriangle"] = 0x25c3;
+ t["whiteleftpointingtriangle"] = 0x25c1;
+ t["whitelenticularbracketleft"] = 0x3016;
+ t["whitelenticularbracketright"] = 0x3017;
+ t["whiterightpointingsmalltriangle"] = 0x25b9;
+ t["whiterightpointingtriangle"] = 0x25b7;
+ t["whitesmallsquare"] = 0x25ab;
+ t["whitesmilingface"] = 0x263a;
+ t["whitesquare"] = 0x25a1;
+ t["whitestar"] = 0x2606;
+ t["whitetelephone"] = 0x260f;
+ t["whitetortoiseshellbracketleft"] = 0x3018;
+ t["whitetortoiseshellbracketright"] = 0x3019;
+ t["whiteuppointingsmalltriangle"] = 0x25b5;
+ t["whiteuppointingtriangle"] = 0x25b3;
+ t["wihiragana"] = 0x3090;
+ t["wikatakana"] = 0x30f0;
+ t["wikorean"] = 0x315f;
+ t["wmonospace"] = 0xff57;
+ t["wohiragana"] = 0x3092;
+ t["wokatakana"] = 0x30f2;
+ t["wokatakanahalfwidth"] = 0xff66;
+ t["won"] = 0x20a9;
+ t["wonmonospace"] = 0xffe6;
+ t["wowaenthai"] = 0x0e27;
+ t["wparen"] = 0x24b2;
+ t["wring"] = 0x1e98;
+ t["wsuperior"] = 0x02b7;
+ t["wturned"] = 0x028d;
+ t["wynn"] = 0x01bf;
+ t["x"] = 0x0078;
+ t["xabovecmb"] = 0x033d;
+ t["xbopomofo"] = 0x3112;
+ t["xcircle"] = 0x24e7;
+ t["xdieresis"] = 0x1e8d;
+ t["xdotaccent"] = 0x1e8b;
+ t["xeharmenian"] = 0x056d;
+ t["xi"] = 0x03be;
+ t["xmonospace"] = 0xff58;
+ t["xparen"] = 0x24b3;
+ t["xsuperior"] = 0x02e3;
+ t["y"] = 0x0079;
+ t["yaadosquare"] = 0x334e;
+ t["yabengali"] = 0x09af;
+ t["yacute"] = 0x00fd;
+ t["yadeva"] = 0x092f;
+ t["yaekorean"] = 0x3152;
+ t["yagujarati"] = 0x0aaf;
+ t["yagurmukhi"] = 0x0a2f;
+ t["yahiragana"] = 0x3084;
+ t["yakatakana"] = 0x30e4;
+ t["yakatakanahalfwidth"] = 0xff94;
+ t["yakorean"] = 0x3151;
+ t["yamakkanthai"] = 0x0e4e;
+ t["yasmallhiragana"] = 0x3083;
+ t["yasmallkatakana"] = 0x30e3;
+ t["yasmallkatakanahalfwidth"] = 0xff6c;
+ t["yatcyrillic"] = 0x0463;
+ t["ycircle"] = 0x24e8;
+ t["ycircumflex"] = 0x0177;
+ t["ydieresis"] = 0x00ff;
+ t["ydotaccent"] = 0x1e8f;
+ t["ydotbelow"] = 0x1ef5;
+ t["yeharabic"] = 0x064a;
+ t["yehbarreearabic"] = 0x06d2;
+ t["yehbarreefinalarabic"] = 0xfbaf;
+ t["yehfinalarabic"] = 0xfef2;
+ t["yehhamzaabovearabic"] = 0x0626;
+ t["yehhamzaabovefinalarabic"] = 0xfe8a;
+ t["yehhamzaaboveinitialarabic"] = 0xfe8b;
+ t["yehhamzaabovemedialarabic"] = 0xfe8c;
+ t["yehinitialarabic"] = 0xfef3;
+ t["yehmedialarabic"] = 0xfef4;
+ t["yehmeeminitialarabic"] = 0xfcdd;
+ t["yehmeemisolatedarabic"] = 0xfc58;
+ t["yehnoonfinalarabic"] = 0xfc94;
+ t["yehthreedotsbelowarabic"] = 0x06d1;
+ t["yekorean"] = 0x3156;
+ t["yen"] = 0x00a5;
+ t["yenmonospace"] = 0xffe5;
+ t["yeokorean"] = 0x3155;
+ t["yeorinhieuhkorean"] = 0x3186;
+ t["yerahbenyomohebrew"] = 0x05aa;
+ t["yerahbenyomolefthebrew"] = 0x05aa;
+ t["yericyrillic"] = 0x044b;
+ t["yerudieresiscyrillic"] = 0x04f9;
+ t["yesieungkorean"] = 0x3181;
+ t["yesieungpansioskorean"] = 0x3183;
+ t["yesieungsioskorean"] = 0x3182;
+ t["yetivhebrew"] = 0x059a;
+ t["ygrave"] = 0x1ef3;
+ t["yhook"] = 0x01b4;
+ t["yhookabove"] = 0x1ef7;
+ t["yiarmenian"] = 0x0575;
+ t["yicyrillic"] = 0x0457;
+ t["yikorean"] = 0x3162;
+ t["yinyang"] = 0x262f;
+ t["yiwnarmenian"] = 0x0582;
+ t["ymonospace"] = 0xff59;
+ t["yod"] = 0x05d9;
+ t["yoddagesh"] = 0xfb39;
+ t["yoddageshhebrew"] = 0xfb39;
+ t["yodhebrew"] = 0x05d9;
+ t["yodyodhebrew"] = 0x05f2;
+ t["yodyodpatahhebrew"] = 0xfb1f;
+ t["yohiragana"] = 0x3088;
+ t["yoikorean"] = 0x3189;
+ t["yokatakana"] = 0x30e8;
+ t["yokatakanahalfwidth"] = 0xff96;
+ t["yokorean"] = 0x315b;
+ t["yosmallhiragana"] = 0x3087;
+ t["yosmallkatakana"] = 0x30e7;
+ t["yosmallkatakanahalfwidth"] = 0xff6e;
+ t["yotgreek"] = 0x03f3;
+ t["yoyaekorean"] = 0x3188;
+ t["yoyakorean"] = 0x3187;
+ t["yoyakthai"] = 0x0e22;
+ t["yoyingthai"] = 0x0e0d;
+ t["yparen"] = 0x24b4;
+ t["ypogegrammeni"] = 0x037a;
+ t["ypogegrammenigreekcmb"] = 0x0345;
+ t["yr"] = 0x01a6;
+ t["yring"] = 0x1e99;
+ t["ysuperior"] = 0x02b8;
+ t["ytilde"] = 0x1ef9;
+ t["yturned"] = 0x028e;
+ t["yuhiragana"] = 0x3086;
+ t["yuikorean"] = 0x318c;
+ t["yukatakana"] = 0x30e6;
+ t["yukatakanahalfwidth"] = 0xff95;
+ t["yukorean"] = 0x3160;
+ t["yusbigcyrillic"] = 0x046b;
+ t["yusbigiotifiedcyrillic"] = 0x046d;
+ t["yuslittlecyrillic"] = 0x0467;
+ t["yuslittleiotifiedcyrillic"] = 0x0469;
+ t["yusmallhiragana"] = 0x3085;
+ t["yusmallkatakana"] = 0x30e5;
+ t["yusmallkatakanahalfwidth"] = 0xff6d;
+ t["yuyekorean"] = 0x318b;
+ t["yuyeokorean"] = 0x318a;
+ t["yyabengali"] = 0x09df;
+ t["yyadeva"] = 0x095f;
+ t["z"] = 0x007a;
+ t["zaarmenian"] = 0x0566;
+ t["zacute"] = 0x017a;
+ t["zadeva"] = 0x095b;
+ t["zagurmukhi"] = 0x0a5b;
+ t["zaharabic"] = 0x0638;
+ t["zahfinalarabic"] = 0xfec6;
+ t["zahinitialarabic"] = 0xfec7;
+ t["zahiragana"] = 0x3056;
+ t["zahmedialarabic"] = 0xfec8;
+ t["zainarabic"] = 0x0632;
+ t["zainfinalarabic"] = 0xfeb0;
+ t["zakatakana"] = 0x30b6;
+ t["zaqefgadolhebrew"] = 0x0595;
+ t["zaqefqatanhebrew"] = 0x0594;
+ t["zarqahebrew"] = 0x0598;
+ t["zayin"] = 0x05d6;
+ t["zayindagesh"] = 0xfb36;
+ t["zayindageshhebrew"] = 0xfb36;
+ t["zayinhebrew"] = 0x05d6;
+ t["zbopomofo"] = 0x3117;
+ t["zcaron"] = 0x017e;
+ t["zcircle"] = 0x24e9;
+ t["zcircumflex"] = 0x1e91;
+ t["zcurl"] = 0x0291;
+ t["zdot"] = 0x017c;
+ t["zdotaccent"] = 0x017c;
+ t["zdotbelow"] = 0x1e93;
+ t["zecyrillic"] = 0x0437;
+ t["zedescendercyrillic"] = 0x0499;
+ t["zedieresiscyrillic"] = 0x04df;
+ t["zehiragana"] = 0x305c;
+ t["zekatakana"] = 0x30bc;
+ t["zero"] = 0x0030;
+ t["zeroarabic"] = 0x0660;
+ t["zerobengali"] = 0x09e6;
+ t["zerodeva"] = 0x0966;
+ t["zerogujarati"] = 0x0ae6;
+ t["zerogurmukhi"] = 0x0a66;
+ t["zerohackarabic"] = 0x0660;
+ t["zeroinferior"] = 0x2080;
+ t["zeromonospace"] = 0xff10;
+ t["zerooldstyle"] = 0xf730;
+ t["zeropersian"] = 0x06f0;
+ t["zerosuperior"] = 0x2070;
+ t["zerothai"] = 0x0e50;
+ t["zerowidthjoiner"] = 0xfeff;
+ t["zerowidthnonjoiner"] = 0x200c;
+ t["zerowidthspace"] = 0x200b;
+ t["zeta"] = 0x03b6;
+ t["zhbopomofo"] = 0x3113;
+ t["zhearmenian"] = 0x056a;
+ t["zhebrevecyrillic"] = 0x04c2;
+ t["zhecyrillic"] = 0x0436;
+ t["zhedescendercyrillic"] = 0x0497;
+ t["zhedieresiscyrillic"] = 0x04dd;
+ t["zihiragana"] = 0x3058;
+ t["zikatakana"] = 0x30b8;
+ t["zinorhebrew"] = 0x05ae;
+ t["zlinebelow"] = 0x1e95;
+ t["zmonospace"] = 0xff5a;
+ t["zohiragana"] = 0x305e;
+ t["zokatakana"] = 0x30be;
+ t["zparen"] = 0x24b5;
+ t["zretroflexhook"] = 0x0290;
+ t["zstroke"] = 0x01b6;
+ t["zuhiragana"] = 0x305a;
+ t["zukatakana"] = 0x30ba;
+ t[".notdef"] = 0x0000;
+ t["angbracketleftbig"] = 0x2329;
+ t["angbracketleftBig"] = 0x2329;
+ t["angbracketleftbigg"] = 0x2329;
+ t["angbracketleftBigg"] = 0x2329;
+ t["angbracketrightBig"] = 0x232a;
+ t["angbracketrightbig"] = 0x232a;
+ t["angbracketrightBigg"] = 0x232a;
+ t["angbracketrightbigg"] = 0x232a;
+ t["arrowhookleft"] = 0x21aa;
+ t["arrowhookright"] = 0x21a9;
+ t["arrowlefttophalf"] = 0x21bc;
+ t["arrowleftbothalf"] = 0x21bd;
+ t["arrownortheast"] = 0x2197;
+ t["arrownorthwest"] = 0x2196;
+ t["arrowrighttophalf"] = 0x21c0;
+ t["arrowrightbothalf"] = 0x21c1;
+ t["arrowsoutheast"] = 0x2198;
+ t["arrowsouthwest"] = 0x2199;
+ t["backslashbig"] = 0x2216;
+ t["backslashBig"] = 0x2216;
+ t["backslashBigg"] = 0x2216;
+ t["backslashbigg"] = 0x2216;
+ t["bardbl"] = 0x2016;
+ t["bracehtipdownleft"] = 0xfe37;
+ t["bracehtipdownright"] = 0xfe37;
+ t["bracehtipupleft"] = 0xfe38;
+ t["bracehtipupright"] = 0xfe38;
+ t["braceleftBig"] = 0x007b;
+ t["braceleftbig"] = 0x007b;
+ t["braceleftbigg"] = 0x007b;
+ t["braceleftBigg"] = 0x007b;
+ t["bracerightBig"] = 0x007d;
+ t["bracerightbig"] = 0x007d;
+ t["bracerightbigg"] = 0x007d;
+ t["bracerightBigg"] = 0x007d;
+ t["bracketleftbig"] = 0x005b;
+ t["bracketleftBig"] = 0x005b;
+ t["bracketleftbigg"] = 0x005b;
+ t["bracketleftBigg"] = 0x005b;
+ t["bracketrightBig"] = 0x005d;
+ t["bracketrightbig"] = 0x005d;
+ t["bracketrightbigg"] = 0x005d;
+ t["bracketrightBigg"] = 0x005d;
+ t["ceilingleftbig"] = 0x2308;
+ t["ceilingleftBig"] = 0x2308;
+ t["ceilingleftBigg"] = 0x2308;
+ t["ceilingleftbigg"] = 0x2308;
+ t["ceilingrightbig"] = 0x2309;
+ t["ceilingrightBig"] = 0x2309;
+ t["ceilingrightbigg"] = 0x2309;
+ t["ceilingrightBigg"] = 0x2309;
+ t["circledotdisplay"] = 0x2299;
+ t["circledottext"] = 0x2299;
+ t["circlemultiplydisplay"] = 0x2297;
+ t["circlemultiplytext"] = 0x2297;
+ t["circleplusdisplay"] = 0x2295;
+ t["circleplustext"] = 0x2295;
+ t["contintegraldisplay"] = 0x222e;
+ t["contintegraltext"] = 0x222e;
+ t["coproductdisplay"] = 0x2210;
+ t["coproducttext"] = 0x2210;
+ t["floorleftBig"] = 0x230a;
+ t["floorleftbig"] = 0x230a;
+ t["floorleftbigg"] = 0x230a;
+ t["floorleftBigg"] = 0x230a;
+ t["floorrightbig"] = 0x230b;
+ t["floorrightBig"] = 0x230b;
+ t["floorrightBigg"] = 0x230b;
+ t["floorrightbigg"] = 0x230b;
+ t["hatwide"] = 0x0302;
+ t["hatwider"] = 0x0302;
+ t["hatwidest"] = 0x0302;
+ t["intercal"] = 0x1d40;
+ t["integraldisplay"] = 0x222b;
+ t["integraltext"] = 0x222b;
+ t["intersectiondisplay"] = 0x22c2;
+ t["intersectiontext"] = 0x22c2;
+ t["logicalanddisplay"] = 0x2227;
+ t["logicalandtext"] = 0x2227;
+ t["logicalordisplay"] = 0x2228;
+ t["logicalortext"] = 0x2228;
+ t["parenleftBig"] = 0x0028;
+ t["parenleftbig"] = 0x0028;
+ t["parenleftBigg"] = 0x0028;
+ t["parenleftbigg"] = 0x0028;
+ t["parenrightBig"] = 0x0029;
+ t["parenrightbig"] = 0x0029;
+ t["parenrightBigg"] = 0x0029;
+ t["parenrightbigg"] = 0x0029;
+ t["prime"] = 0x2032;
+ t["productdisplay"] = 0x220f;
+ t["producttext"] = 0x220f;
+ t["radicalbig"] = 0x221a;
+ t["radicalBig"] = 0x221a;
+ t["radicalBigg"] = 0x221a;
+ t["radicalbigg"] = 0x221a;
+ t["radicalbt"] = 0x221a;
+ t["radicaltp"] = 0x221a;
+ t["radicalvertex"] = 0x221a;
+ t["slashbig"] = 0x002f;
+ t["slashBig"] = 0x002f;
+ t["slashBigg"] = 0x002f;
+ t["slashbigg"] = 0x002f;
+ t["summationdisplay"] = 0x2211;
+ t["summationtext"] = 0x2211;
+ t["tildewide"] = 0x02dc;
+ t["tildewider"] = 0x02dc;
+ t["tildewidest"] = 0x02dc;
+ t["uniondisplay"] = 0x22c3;
+ t["unionmultidisplay"] = 0x228e;
+ t["unionmultitext"] = 0x228e;
+ t["unionsqdisplay"] = 0x2294;
+ t["unionsqtext"] = 0x2294;
+ t["uniontext"] = 0x22c3;
+ t["vextenddouble"] = 0x2225;
+ t["vextendsingle"] = 0x2223;
 });
 var getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {
- t['space'] = 0x0020;
- t['a1'] = 0x2701;
- t['a2'] = 0x2702;
- t['a202'] = 0x2703;
- t['a3'] = 0x2704;
- t['a4'] = 0x260E;
- t['a5'] = 0x2706;
- t['a119'] = 0x2707;
- t['a118'] = 0x2708;
- t['a117'] = 0x2709;
- t['a11'] = 0x261B;
- t['a12'] = 0x261E;
- t['a13'] = 0x270C;
- t['a14'] = 0x270D;
- t['a15'] = 0x270E;
- t['a16'] = 0x270F;
- t['a105'] = 0x2710;
- t['a17'] = 0x2711;
- t['a18'] = 0x2712;
- t['a19'] = 0x2713;
- t['a20'] = 0x2714;
- t['a21'] = 0x2715;
- t['a22'] = 0x2716;
- t['a23'] = 0x2717;
- t['a24'] = 0x2718;
- t['a25'] = 0x2719;
- t['a26'] = 0x271A;
- t['a27'] = 0x271B;
- t['a28'] = 0x271C;
- t['a6'] = 0x271D;
- t['a7'] = 0x271E;
- t['a8'] = 0x271F;
- t['a9'] = 0x2720;
- t['a10'] = 0x2721;
- t['a29'] = 0x2722;
- t['a30'] = 0x2723;
- t['a31'] = 0x2724;
- t['a32'] = 0x2725;
- t['a33'] = 0x2726;
- t['a34'] = 0x2727;
- t['a35'] = 0x2605;
- t['a36'] = 0x2729;
- t['a37'] = 0x272A;
- t['a38'] = 0x272B;
- t['a39'] = 0x272C;
- t['a40'] = 0x272D;
- t['a41'] = 0x272E;
- t['a42'] = 0x272F;
- t['a43'] = 0x2730;
- t['a44'] = 0x2731;
- t['a45'] = 0x2732;
- t['a46'] = 0x2733;
- t['a47'] = 0x2734;
- t['a48'] = 0x2735;
- t['a49'] = 0x2736;
- t['a50'] = 0x2737;
- t['a51'] = 0x2738;
- t['a52'] = 0x2739;
- t['a53'] = 0x273A;
- t['a54'] = 0x273B;
- t['a55'] = 0x273C;
- t['a56'] = 0x273D;
- t['a57'] = 0x273E;
- t['a58'] = 0x273F;
- t['a59'] = 0x2740;
- t['a60'] = 0x2741;
- t['a61'] = 0x2742;
- t['a62'] = 0x2743;
- t['a63'] = 0x2744;
- t['a64'] = 0x2745;
- t['a65'] = 0x2746;
- t['a66'] = 0x2747;
- t['a67'] = 0x2748;
- t['a68'] = 0x2749;
- t['a69'] = 0x274A;
- t['a70'] = 0x274B;
- t['a71'] = 0x25CF;
- t['a72'] = 0x274D;
- t['a73'] = 0x25A0;
- t['a74'] = 0x274F;
- t['a203'] = 0x2750;
- t['a75'] = 0x2751;
- t['a204'] = 0x2752;
- t['a76'] = 0x25B2;
- t['a77'] = 0x25BC;
- t['a78'] = 0x25C6;
- t['a79'] = 0x2756;
- t['a81'] = 0x25D7;
- t['a82'] = 0x2758;
- t['a83'] = 0x2759;
- t['a84'] = 0x275A;
- t['a97'] = 0x275B;
- t['a98'] = 0x275C;
- t['a99'] = 0x275D;
- t['a100'] = 0x275E;
- t['a101'] = 0x2761;
- t['a102'] = 0x2762;
- t['a103'] = 0x2763;
- t['a104'] = 0x2764;
- t['a106'] = 0x2765;
- t['a107'] = 0x2766;
- t['a108'] = 0x2767;
- t['a112'] = 0x2663;
- t['a111'] = 0x2666;
- t['a110'] = 0x2665;
- t['a109'] = 0x2660;
- t['a120'] = 0x2460;
- t['a121'] = 0x2461;
- t['a122'] = 0x2462;
- t['a123'] = 0x2463;
- t['a124'] = 0x2464;
- t['a125'] = 0x2465;
- t['a126'] = 0x2466;
- t['a127'] = 0x2467;
- t['a128'] = 0x2468;
- t['a129'] = 0x2469;
- t['a130'] = 0x2776;
- t['a131'] = 0x2777;
- t['a132'] = 0x2778;
- t['a133'] = 0x2779;
- t['a134'] = 0x277A;
- t['a135'] = 0x277B;
- t['a136'] = 0x277C;
- t['a137'] = 0x277D;
- t['a138'] = 0x277E;
- t['a139'] = 0x277F;
- t['a140'] = 0x2780;
- t['a141'] = 0x2781;
- t['a142'] = 0x2782;
- t['a143'] = 0x2783;
- t['a144'] = 0x2784;
- t['a145'] = 0x2785;
- t['a146'] = 0x2786;
- t['a147'] = 0x2787;
- t['a148'] = 0x2788;
- t['a149'] = 0x2789;
- t['a150'] = 0x278A;
- t['a151'] = 0x278B;
- t['a152'] = 0x278C;
- t['a153'] = 0x278D;
- t['a154'] = 0x278E;
- t['a155'] = 0x278F;
- t['a156'] = 0x2790;
- t['a157'] = 0x2791;
- t['a158'] = 0x2792;
- t['a159'] = 0x2793;
- t['a160'] = 0x2794;
- t['a161'] = 0x2192;
- t['a163'] = 0x2194;
- t['a164'] = 0x2195;
- t['a196'] = 0x2798;
- t['a165'] = 0x2799;
- t['a192'] = 0x279A;
- t['a166'] = 0x279B;
- t['a167'] = 0x279C;
- t['a168'] = 0x279D;
- t['a169'] = 0x279E;
- t['a170'] = 0x279F;
- t['a171'] = 0x27A0;
- t['a172'] = 0x27A1;
- t['a173'] = 0x27A2;
- t['a162'] = 0x27A3;
- t['a174'] = 0x27A4;
- t['a175'] = 0x27A5;
- t['a176'] = 0x27A6;
- t['a177'] = 0x27A7;
- t['a178'] = 0x27A8;
- t['a179'] = 0x27A9;
- t['a193'] = 0x27AA;
- t['a180'] = 0x27AB;
- t['a199'] = 0x27AC;
- t['a181'] = 0x27AD;
- t['a200'] = 0x27AE;
- t['a182'] = 0x27AF;
- t['a201'] = 0x27B1;
- t['a183'] = 0x27B2;
- t['a184'] = 0x27B3;
- t['a197'] = 0x27B4;
- t['a185'] = 0x27B5;
- t['a194'] = 0x27B6;
- t['a198'] = 0x27B7;
- t['a186'] = 0x27B8;
- t['a195'] = 0x27B9;
- t['a187'] = 0x27BA;
- t['a188'] = 0x27BB;
- t['a189'] = 0x27BC;
- t['a190'] = 0x27BD;
- t['a191'] = 0x27BE;
- t['a89'] = 0x2768;
- t['a90'] = 0x2769;
- t['a93'] = 0x276A;
- t['a94'] = 0x276B;
- t['a91'] = 0x276C;
- t['a92'] = 0x276D;
- t['a205'] = 0x276E;
- t['a85'] = 0x276F;
- t['a206'] = 0x2770;
- t['a86'] = 0x2771;
- t['a87'] = 0x2772;
- t['a88'] = 0x2773;
- t['a95'] = 0x2774;
- t['a96'] = 0x2775;
- t['.notdef'] = 0x0000;
+ t["space"] = 0x0020;
+ t["a1"] = 0x2701;
+ t["a2"] = 0x2702;
+ t["a202"] = 0x2703;
+ t["a3"] = 0x2704;
+ t["a4"] = 0x260e;
+ t["a5"] = 0x2706;
+ t["a119"] = 0x2707;
+ t["a118"] = 0x2708;
+ t["a117"] = 0x2709;
+ t["a11"] = 0x261b;
+ t["a12"] = 0x261e;
+ t["a13"] = 0x270c;
+ t["a14"] = 0x270d;
+ t["a15"] = 0x270e;
+ t["a16"] = 0x270f;
+ t["a105"] = 0x2710;
+ t["a17"] = 0x2711;
+ t["a18"] = 0x2712;
+ t["a19"] = 0x2713;
+ t["a20"] = 0x2714;
+ t["a21"] = 0x2715;
+ t["a22"] = 0x2716;
+ t["a23"] = 0x2717;
+ t["a24"] = 0x2718;
+ t["a25"] = 0x2719;
+ t["a26"] = 0x271a;
+ t["a27"] = 0x271b;
+ t["a28"] = 0x271c;
+ t["a6"] = 0x271d;
+ t["a7"] = 0x271e;
+ t["a8"] = 0x271f;
+ t["a9"] = 0x2720;
+ t["a10"] = 0x2721;
+ t["a29"] = 0x2722;
+ t["a30"] = 0x2723;
+ t["a31"] = 0x2724;
+ t["a32"] = 0x2725;
+ t["a33"] = 0x2726;
+ t["a34"] = 0x2727;
+ t["a35"] = 0x2605;
+ t["a36"] = 0x2729;
+ t["a37"] = 0x272a;
+ t["a38"] = 0x272b;
+ t["a39"] = 0x272c;
+ t["a40"] = 0x272d;
+ t["a41"] = 0x272e;
+ t["a42"] = 0x272f;
+ t["a43"] = 0x2730;
+ t["a44"] = 0x2731;
+ t["a45"] = 0x2732;
+ t["a46"] = 0x2733;
+ t["a47"] = 0x2734;
+ t["a48"] = 0x2735;
+ t["a49"] = 0x2736;
+ t["a50"] = 0x2737;
+ t["a51"] = 0x2738;
+ t["a52"] = 0x2739;
+ t["a53"] = 0x273a;
+ t["a54"] = 0x273b;
+ t["a55"] = 0x273c;
+ t["a56"] = 0x273d;
+ t["a57"] = 0x273e;
+ t["a58"] = 0x273f;
+ t["a59"] = 0x2740;
+ t["a60"] = 0x2741;
+ t["a61"] = 0x2742;
+ t["a62"] = 0x2743;
+ t["a63"] = 0x2744;
+ t["a64"] = 0x2745;
+ t["a65"] = 0x2746;
+ t["a66"] = 0x2747;
+ t["a67"] = 0x2748;
+ t["a68"] = 0x2749;
+ t["a69"] = 0x274a;
+ t["a70"] = 0x274b;
+ t["a71"] = 0x25cf;
+ t["a72"] = 0x274d;
+ t["a73"] = 0x25a0;
+ t["a74"] = 0x274f;
+ t["a203"] = 0x2750;
+ t["a75"] = 0x2751;
+ t["a204"] = 0x2752;
+ t["a76"] = 0x25b2;
+ t["a77"] = 0x25bc;
+ t["a78"] = 0x25c6;
+ t["a79"] = 0x2756;
+ t["a81"] = 0x25d7;
+ t["a82"] = 0x2758;
+ t["a83"] = 0x2759;
+ t["a84"] = 0x275a;
+ t["a97"] = 0x275b;
+ t["a98"] = 0x275c;
+ t["a99"] = 0x275d;
+ t["a100"] = 0x275e;
+ t["a101"] = 0x2761;
+ t["a102"] = 0x2762;
+ t["a103"] = 0x2763;
+ t["a104"] = 0x2764;
+ t["a106"] = 0x2765;
+ t["a107"] = 0x2766;
+ t["a108"] = 0x2767;
+ t["a112"] = 0x2663;
+ t["a111"] = 0x2666;
+ t["a110"] = 0x2665;
+ t["a109"] = 0x2660;
+ t["a120"] = 0x2460;
+ t["a121"] = 0x2461;
+ t["a122"] = 0x2462;
+ t["a123"] = 0x2463;
+ t["a124"] = 0x2464;
+ t["a125"] = 0x2465;
+ t["a126"] = 0x2466;
+ t["a127"] = 0x2467;
+ t["a128"] = 0x2468;
+ t["a129"] = 0x2469;
+ t["a130"] = 0x2776;
+ t["a131"] = 0x2777;
+ t["a132"] = 0x2778;
+ t["a133"] = 0x2779;
+ t["a134"] = 0x277a;
+ t["a135"] = 0x277b;
+ t["a136"] = 0x277c;
+ t["a137"] = 0x277d;
+ t["a138"] = 0x277e;
+ t["a139"] = 0x277f;
+ t["a140"] = 0x2780;
+ t["a141"] = 0x2781;
+ t["a142"] = 0x2782;
+ t["a143"] = 0x2783;
+ t["a144"] = 0x2784;
+ t["a145"] = 0x2785;
+ t["a146"] = 0x2786;
+ t["a147"] = 0x2787;
+ t["a148"] = 0x2788;
+ t["a149"] = 0x2789;
+ t["a150"] = 0x278a;
+ t["a151"] = 0x278b;
+ t["a152"] = 0x278c;
+ t["a153"] = 0x278d;
+ t["a154"] = 0x278e;
+ t["a155"] = 0x278f;
+ t["a156"] = 0x2790;
+ t["a157"] = 0x2791;
+ t["a158"] = 0x2792;
+ t["a159"] = 0x2793;
+ t["a160"] = 0x2794;
+ t["a161"] = 0x2192;
+ t["a163"] = 0x2194;
+ t["a164"] = 0x2195;
+ t["a196"] = 0x2798;
+ t["a165"] = 0x2799;
+ t["a192"] = 0x279a;
+ t["a166"] = 0x279b;
+ t["a167"] = 0x279c;
+ t["a168"] = 0x279d;
+ t["a169"] = 0x279e;
+ t["a170"] = 0x279f;
+ t["a171"] = 0x27a0;
+ t["a172"] = 0x27a1;
+ t["a173"] = 0x27a2;
+ t["a162"] = 0x27a3;
+ t["a174"] = 0x27a4;
+ t["a175"] = 0x27a5;
+ t["a176"] = 0x27a6;
+ t["a177"] = 0x27a7;
+ t["a178"] = 0x27a8;
+ t["a179"] = 0x27a9;
+ t["a193"] = 0x27aa;
+ t["a180"] = 0x27ab;
+ t["a199"] = 0x27ac;
+ t["a181"] = 0x27ad;
+ t["a200"] = 0x27ae;
+ t["a182"] = 0x27af;
+ t["a201"] = 0x27b1;
+ t["a183"] = 0x27b2;
+ t["a184"] = 0x27b3;
+ t["a197"] = 0x27b4;
+ t["a185"] = 0x27b5;
+ t["a194"] = 0x27b6;
+ t["a198"] = 0x27b7;
+ t["a186"] = 0x27b8;
+ t["a195"] = 0x27b9;
+ t["a187"] = 0x27ba;
+ t["a188"] = 0x27bb;
+ t["a189"] = 0x27bc;
+ t["a190"] = 0x27bd;
+ t["a191"] = 0x27be;
+ t["a89"] = 0x2768;
+ t["a90"] = 0x2769;
+ t["a93"] = 0x276a;
+ t["a94"] = 0x276b;
+ t["a91"] = 0x276c;
+ t["a92"] = 0x276d;
+ t["a205"] = 0x276e;
+ t["a85"] = 0x276f;
+ t["a206"] = 0x2770;
+ t["a86"] = 0x2771;
+ t["a87"] = 0x2772;
+ t["a88"] = 0x2773;
+ t["a95"] = 0x2774;
+ t["a96"] = 0x2775;
+ t[".notdef"] = 0x0000;
 });
 exports.getGlyphsUnicode = getGlyphsUnicode;
 exports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;
 
 /***/ }),
-/* 211 */
+/* 32 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -44618,248 +34162,249 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = 
exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = 
exports.getNonStdFontMap = exports.getStdFontMap = void 0;
 
-var _core_utils = __w_pdfjs_require__(186);
-
-var getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t['ArialNarrow'] = 'Helvetica';
-  t['ArialNarrow-Bold'] = 'Helvetica-Bold';
-  t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['ArialNarrow-Italic'] = 'Helvetica-Oblique';
-  t['ArialBlack'] = 'Helvetica';
-  t['ArialBlack-Bold'] = 'Helvetica-Bold';
-  t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['ArialBlack-Italic'] = 'Helvetica-Oblique';
-  t['Arial-Black'] = 'Helvetica';
-  t['Arial-Black-Bold'] = 'Helvetica-Bold';
-  t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['Arial-Black-Italic'] = 'Helvetica-Oblique';
-  t['Arial'] = 'Helvetica';
-  t['Arial-Bold'] = 'Helvetica-Bold';
-  t['Arial-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['Arial-Italic'] = 'Helvetica-Oblique';
-  t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';
-  t['Arial-BoldMT'] = 'Helvetica-Bold';
-  t['Arial-ItalicMT'] = 'Helvetica-Oblique';
-  t['ArialMT'] = 'Helvetica';
-  t['Courier-Bold'] = 'Courier-Bold';
-  t['Courier-BoldItalic'] = 'Courier-BoldOblique';
-  t['Courier-Italic'] = 'Courier-Oblique';
-  t['CourierNew'] = 'Courier';
-  t['CourierNew-Bold'] = 'Courier-Bold';
-  t['CourierNew-BoldItalic'] = 'Courier-BoldOblique';
-  t['CourierNew-Italic'] = 'Courier-Oblique';
-  t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';
-  t['CourierNewPS-BoldMT'] = 'Courier-Bold';
-  t['CourierNewPS-ItalicMT'] = 'Courier-Oblique';
-  t['CourierNewPSMT'] = 'Courier';
-  t['Helvetica'] = 'Helvetica';
-  t['Helvetica-Bold'] = 'Helvetica-Bold';
-  t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';
-  t['Helvetica-Italic'] = 'Helvetica-Oblique';
-  t['Helvetica-Oblique'] = 'Helvetica-Oblique';
-  t['SegoeUISymbol'] = 'Helvetica';
-  t['Symbol-Bold'] = 'Symbol';
-  t['Symbol-BoldItalic'] = 'Symbol';
-  t['Symbol-Italic'] = 'Symbol';
-  t['TimesNewRoman'] = 'Times-Roman';
-  t['TimesNewRoman-Bold'] = 'Times-Bold';
-  t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';
-  t['TimesNewRoman-Italic'] = 'Times-Italic';
-  t['TimesNewRomanPS'] = 'Times-Roman';
-  t['TimesNewRomanPS-Bold'] = 'Times-Bold';
-  t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';
-  t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';
-  t['TimesNewRomanPS-BoldMT'] = 'Times-Bold';
-  t['TimesNewRomanPS-Italic'] = 'Times-Italic';
-  t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';
-  t['TimesNewRomanPSMT'] = 'Times-Roman';
-  t['TimesNewRomanPSMT-Bold'] = 'Times-Bold';
-  t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';
-  t['TimesNewRomanPSMT-Italic'] = 'Times-Italic';
+var _core_utils = __w_pdfjs_require__(7);
+
+const getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
+  t["ArialNarrow"] = "Helvetica";
+  t["ArialNarrow-Bold"] = "Helvetica-Bold";
+  t["ArialNarrow-BoldItalic"] = "Helvetica-BoldOblique";
+  t["ArialNarrow-Italic"] = "Helvetica-Oblique";
+  t["ArialBlack"] = "Helvetica";
+  t["ArialBlack-Bold"] = "Helvetica-Bold";
+  t["ArialBlack-BoldItalic"] = "Helvetica-BoldOblique";
+  t["ArialBlack-Italic"] = "Helvetica-Oblique";
+  t["Arial-Black"] = "Helvetica";
+  t["Arial-Black-Bold"] = "Helvetica-Bold";
+  t["Arial-Black-BoldItalic"] = "Helvetica-BoldOblique";
+  t["Arial-Black-Italic"] = "Helvetica-Oblique";
+  t["Arial"] = "Helvetica";
+  t["Arial-Bold"] = "Helvetica-Bold";
+  t["Arial-BoldItalic"] = "Helvetica-BoldOblique";
+  t["Arial-Italic"] = "Helvetica-Oblique";
+  t["Arial-BoldItalicMT"] = "Helvetica-BoldOblique";
+  t["Arial-BoldMT"] = "Helvetica-Bold";
+  t["Arial-ItalicMT"] = "Helvetica-Oblique";
+  t["ArialMT"] = "Helvetica";
+  t["Courier-Bold"] = "Courier-Bold";
+  t["Courier-BoldItalic"] = "Courier-BoldOblique";
+  t["Courier-Italic"] = "Courier-Oblique";
+  t["CourierNew"] = "Courier";
+  t["CourierNew-Bold"] = "Courier-Bold";
+  t["CourierNew-BoldItalic"] = "Courier-BoldOblique";
+  t["CourierNew-Italic"] = "Courier-Oblique";
+  t["CourierNewPS-BoldItalicMT"] = "Courier-BoldOblique";
+  t["CourierNewPS-BoldMT"] = "Courier-Bold";
+  t["CourierNewPS-ItalicMT"] = "Courier-Oblique";
+  t["CourierNewPSMT"] = "Courier";
+  t["Helvetica"] = "Helvetica";
+  t["Helvetica-Bold"] = "Helvetica-Bold";
+  t["Helvetica-BoldItalic"] = "Helvetica-BoldOblique";
+  t["Helvetica-BoldOblique"] = "Helvetica-BoldOblique";
+  t["Helvetica-Italic"] = "Helvetica-Oblique";
+  t["Helvetica-Oblique"] = "Helvetica-Oblique";
+  t["Symbol-Bold"] = "Symbol";
+  t["Symbol-BoldItalic"] = "Symbol";
+  t["Symbol-Italic"] = "Symbol";
+  t["TimesNewRoman"] = "Times-Roman";
+  t["TimesNewRoman-Bold"] = "Times-Bold";
+  t["TimesNewRoman-BoldItalic"] = "Times-BoldItalic";
+  t["TimesNewRoman-Italic"] = "Times-Italic";
+  t["TimesNewRomanPS"] = "Times-Roman";
+  t["TimesNewRomanPS-Bold"] = "Times-Bold";
+  t["TimesNewRomanPS-BoldItalic"] = "Times-BoldItalic";
+  t["TimesNewRomanPS-BoldItalicMT"] = "Times-BoldItalic";
+  t["TimesNewRomanPS-BoldMT"] = "Times-Bold";
+  t["TimesNewRomanPS-Italic"] = "Times-Italic";
+  t["TimesNewRomanPS-ItalicMT"] = "Times-Italic";
+  t["TimesNewRomanPSMT"] = "Times-Roman";
+  t["TimesNewRomanPSMT-Bold"] = "Times-Bold";
+  t["TimesNewRomanPSMT-BoldItalic"] = "Times-BoldItalic";
+  t["TimesNewRomanPSMT-Italic"] = "Times-Italic";
 });
 exports.getStdFontMap = getStdFontMap;
-var getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t['Calibri'] = 'Helvetica';
-  t['Calibri-Bold'] = 'Helvetica-Bold';
-  t['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['Calibri-Italic'] = 'Helvetica-Oblique';
-  t['CenturyGothic'] = 'Helvetica';
-  t['CenturyGothic-Bold'] = 'Helvetica-Bold';
-  t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';
-  t['CenturyGothic-Italic'] = 'Helvetica-Oblique';
-  t['ComicSansMS'] = 'Comic Sans MS';
-  t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';
-  t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';
-  t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';
-  t['LucidaConsole'] = 'Courier';
-  t['LucidaConsole-Bold'] = 'Courier-Bold';
-  t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';
-  t['LucidaConsole-Italic'] = 'Courier-Oblique';
-  t['LucidaSans-Demi'] = 'Helvetica-Bold';
-  t['MS-Gothic'] = 'MS Gothic';
-  t['MS-Gothic-Bold'] = 'MS Gothic-Bold';
-  t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';
-  t['MS-Gothic-Italic'] = 'MS Gothic-Italic';
-  t['MS-Mincho'] = 'MS Mincho';
-  t['MS-Mincho-Bold'] = 'MS Mincho-Bold';
-  t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';
-  t['MS-Mincho-Italic'] = 'MS Mincho-Italic';
-  t['MS-PGothic'] = 'MS PGothic';
-  t['MS-PGothic-Bold'] = 'MS PGothic-Bold';
-  t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';
-  t['MS-PGothic-Italic'] = 'MS PGothic-Italic';
-  t['MS-PMincho'] = 'MS PMincho';
-  t['MS-PMincho-Bold'] = 'MS PMincho-Bold';
-  t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';
-  t['MS-PMincho-Italic'] = 'MS PMincho-Italic';
-  t['NuptialScript'] = 'Times-Italic';
-  t['Wingdings'] = 'ZapfDingbats';
+const getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
+  t["Calibri"] = "Helvetica";
+  t["Calibri-Bold"] = "Helvetica-Bold";
+  t["Calibri-BoldItalic"] = "Helvetica-BoldOblique";
+  t["Calibri-Italic"] = "Helvetica-Oblique";
+  t["CenturyGothic"] = "Helvetica";
+  t["CenturyGothic-Bold"] = "Helvetica-Bold";
+  t["CenturyGothic-BoldItalic"] = "Helvetica-BoldOblique";
+  t["CenturyGothic-Italic"] = "Helvetica-Oblique";
+  t["ComicSansMS"] = "Comic Sans MS";
+  t["ComicSansMS-Bold"] = "Comic Sans MS-Bold";
+  t["ComicSansMS-BoldItalic"] = "Comic Sans MS-BoldItalic";
+  t["ComicSansMS-Italic"] = "Comic Sans MS-Italic";
+  t["LucidaConsole"] = "Courier";
+  t["LucidaConsole-Bold"] = "Courier-Bold";
+  t["LucidaConsole-BoldItalic"] = "Courier-BoldOblique";
+  t["LucidaConsole-Italic"] = "Courier-Oblique";
+  t["LucidaSans-Demi"] = "Helvetica-Bold";
+  t["MS-Gothic"] = "MS Gothic";
+  t["MS-Gothic-Bold"] = "MS Gothic-Bold";
+  t["MS-Gothic-BoldItalic"] = "MS Gothic-BoldItalic";
+  t["MS-Gothic-Italic"] = "MS Gothic-Italic";
+  t["MS-Mincho"] = "MS Mincho";
+  t["MS-Mincho-Bold"] = "MS Mincho-Bold";
+  t["MS-Mincho-BoldItalic"] = "MS Mincho-BoldItalic";
+  t["MS-Mincho-Italic"] = "MS Mincho-Italic";
+  t["MS-PGothic"] = "MS PGothic";
+  t["MS-PGothic-Bold"] = "MS PGothic-Bold";
+  t["MS-PGothic-BoldItalic"] = "MS PGothic-BoldItalic";
+  t["MS-PGothic-Italic"] = "MS PGothic-Italic";
+  t["MS-PMincho"] = "MS PMincho";
+  t["MS-PMincho-Bold"] = "MS PMincho-Bold";
+  t["MS-PMincho-BoldItalic"] = "MS PMincho-BoldItalic";
+  t["MS-PMincho-Italic"] = "MS PMincho-Italic";
+  t["NuptialScript"] = "Times-Italic";
+  t["SegoeUISymbol"] = "Helvetica";
+  t["Wingdings"] = "ZapfDingbats";
+  t["Wingdings-Regular"] = "ZapfDingbats";
 });
 exports.getNonStdFontMap = getNonStdFontMap;
-var getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t['Adobe Jenson'] = true;
-  t['Adobe Text'] = true;
-  t['Albertus'] = true;
-  t['Aldus'] = true;
-  t['Alexandria'] = true;
-  t['Algerian'] = true;
-  t['American Typewriter'] = true;
-  t['Antiqua'] = true;
-  t['Apex'] = true;
-  t['Arno'] = true;
-  t['Aster'] = true;
-  t['Aurora'] = true;
-  t['Baskerville'] = true;
-  t['Bell'] = true;
-  t['Bembo'] = true;
-  t['Bembo Schoolbook'] = true;
-  t['Benguiat'] = true;
-  t['Berkeley Old Style'] = true;
-  t['Bernhard Modern'] = true;
-  t['Berthold City'] = true;
-  t['Bodoni'] = true;
-  t['Bauer Bodoni'] = true;
-  t['Book Antiqua'] = true;
-  t['Bookman'] = true;
-  t['Bordeaux Roman'] = true;
-  t['Californian FB'] = true;
-  t['Calisto'] = true;
-  t['Calvert'] = true;
-  t['Capitals'] = true;
-  t['Cambria'] = true;
-  t['Cartier'] = true;
-  t['Caslon'] = true;
-  t['Catull'] = true;
-  t['Centaur'] = true;
-  t['Century Old Style'] = true;
-  t['Century Schoolbook'] = true;
-  t['Chaparral'] = true;
-  t['Charis SIL'] = true;
-  t['Cheltenham'] = true;
-  t['Cholla Slab'] = true;
-  t['Clarendon'] = true;
-  t['Clearface'] = true;
-  t['Cochin'] = true;
-  t['Colonna'] = true;
-  t['Computer Modern'] = true;
-  t['Concrete Roman'] = true;
-  t['Constantia'] = true;
-  t['Cooper Black'] = true;
-  t['Corona'] = true;
-  t['Ecotype'] = true;
-  t['Egyptienne'] = true;
-  t['Elephant'] = true;
-  t['Excelsior'] = true;
-  t['Fairfield'] = true;
-  t['FF Scala'] = true;
-  t['Folkard'] = true;
-  t['Footlight'] = true;
-  t['FreeSerif'] = true;
-  t['Friz Quadrata'] = true;
-  t['Garamond'] = true;
-  t['Gentium'] = true;
-  t['Georgia'] = true;
-  t['Gloucester'] = true;
-  t['Goudy Old Style'] = true;
-  t['Goudy Schoolbook'] = true;
-  t['Goudy Pro Font'] = true;
-  t['Granjon'] = true;
-  t['Guardian Egyptian'] = true;
-  t['Heather'] = true;
-  t['Hercules'] = true;
-  t['High Tower Text'] = true;
-  t['Hiroshige'] = true;
-  t['Hoefler Text'] = true;
-  t['Humana Serif'] = true;
-  t['Imprint'] = true;
-  t['Ionic No. 5'] = true;
-  t['Janson'] = true;
-  t['Joanna'] = true;
-  t['Korinna'] = true;
-  t['Lexicon'] = true;
-  t['Liberation Serif'] = true;
-  t['Linux Libertine'] = true;
-  t['Literaturnaya'] = true;
-  t['Lucida'] = true;
-  t['Lucida Bright'] = true;
-  t['Melior'] = true;
-  t['Memphis'] = true;
-  t['Miller'] = true;
-  t['Minion'] = true;
-  t['Modern'] = true;
-  t['Mona Lisa'] = true;
-  t['Mrs Eaves'] = true;
-  t['MS Serif'] = true;
-  t['Museo Slab'] = true;
-  t['New York'] = true;
-  t['Nimbus Roman'] = true;
-  t['NPS Rawlinson Roadway'] = true;
-  t['NuptialScript'] = true;
-  t['Palatino'] = true;
-  t['Perpetua'] = true;
-  t['Plantin'] = true;
-  t['Plantin Schoolbook'] = true;
-  t['Playbill'] = true;
-  t['Poor Richard'] = true;
-  t['Rawlinson Roadway'] = true;
-  t['Renault'] = true;
-  t['Requiem'] = true;
-  t['Rockwell'] = true;
-  t['Roman'] = true;
-  t['Rotis Serif'] = true;
-  t['Sabon'] = true;
-  t['Scala'] = true;
-  t['Seagull'] = true;
-  t['Sistina'] = true;
-  t['Souvenir'] = true;
-  t['STIX'] = true;
-  t['Stone Informal'] = true;
-  t['Stone Serif'] = true;
-  t['Sylfaen'] = true;
-  t['Times'] = true;
-  t['Trajan'] = true;
-  t['Trinité'] = true;
-  t['Trump Mediaeval'] = true;
-  t['Utopia'] = true;
-  t['Vale Type'] = true;
-  t['Bitstream Vera'] = true;
-  t['Vera Serif'] = true;
-  t['Versailles'] = true;
-  t['Wanted'] = true;
-  t['Weiss'] = true;
-  t['Wide Latin'] = true;
-  t['Windsor'] = true;
-  t['XITS'] = true;
+const getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
+  t["Adobe Jenson"] = true;
+  t["Adobe Text"] = true;
+  t["Albertus"] = true;
+  t["Aldus"] = true;
+  t["Alexandria"] = true;
+  t["Algerian"] = true;
+  t["American Typewriter"] = true;
+  t["Antiqua"] = true;
+  t["Apex"] = true;
+  t["Arno"] = true;
+  t["Aster"] = true;
+  t["Aurora"] = true;
+  t["Baskerville"] = true;
+  t["Bell"] = true;
+  t["Bembo"] = true;
+  t["Bembo Schoolbook"] = true;
+  t["Benguiat"] = true;
+  t["Berkeley Old Style"] = true;
+  t["Bernhard Modern"] = true;
+  t["Berthold City"] = true;
+  t["Bodoni"] = true;
+  t["Bauer Bodoni"] = true;
+  t["Book Antiqua"] = true;
+  t["Bookman"] = true;
+  t["Bordeaux Roman"] = true;
+  t["Californian FB"] = true;
+  t["Calisto"] = true;
+  t["Calvert"] = true;
+  t["Capitals"] = true;
+  t["Cambria"] = true;
+  t["Cartier"] = true;
+  t["Caslon"] = true;
+  t["Catull"] = true;
+  t["Centaur"] = true;
+  t["Century Old Style"] = true;
+  t["Century Schoolbook"] = true;
+  t["Chaparral"] = true;
+  t["Charis SIL"] = true;
+  t["Cheltenham"] = true;
+  t["Cholla Slab"] = true;
+  t["Clarendon"] = true;
+  t["Clearface"] = true;
+  t["Cochin"] = true;
+  t["Colonna"] = true;
+  t["Computer Modern"] = true;
+  t["Concrete Roman"] = true;
+  t["Constantia"] = true;
+  t["Cooper Black"] = true;
+  t["Corona"] = true;
+  t["Ecotype"] = true;
+  t["Egyptienne"] = true;
+  t["Elephant"] = true;
+  t["Excelsior"] = true;
+  t["Fairfield"] = true;
+  t["FF Scala"] = true;
+  t["Folkard"] = true;
+  t["Footlight"] = true;
+  t["FreeSerif"] = true;
+  t["Friz Quadrata"] = true;
+  t["Garamond"] = true;
+  t["Gentium"] = true;
+  t["Georgia"] = true;
+  t["Gloucester"] = true;
+  t["Goudy Old Style"] = true;
+  t["Goudy Schoolbook"] = true;
+  t["Goudy Pro Font"] = true;
+  t["Granjon"] = true;
+  t["Guardian Egyptian"] = true;
+  t["Heather"] = true;
+  t["Hercules"] = true;
+  t["High Tower Text"] = true;
+  t["Hiroshige"] = true;
+  t["Hoefler Text"] = true;
+  t["Humana Serif"] = true;
+  t["Imprint"] = true;
+  t["Ionic No. 5"] = true;
+  t["Janson"] = true;
+  t["Joanna"] = true;
+  t["Korinna"] = true;
+  t["Lexicon"] = true;
+  t["Liberation Serif"] = true;
+  t["Linux Libertine"] = true;
+  t["Literaturnaya"] = true;
+  t["Lucida"] = true;
+  t["Lucida Bright"] = true;
+  t["Melior"] = true;
+  t["Memphis"] = true;
+  t["Miller"] = true;
+  t["Minion"] = true;
+  t["Modern"] = true;
+  t["Mona Lisa"] = true;
+  t["Mrs Eaves"] = true;
+  t["MS Serif"] = true;
+  t["Museo Slab"] = true;
+  t["New York"] = true;
+  t["Nimbus Roman"] = true;
+  t["NPS Rawlinson Roadway"] = true;
+  t["NuptialScript"] = true;
+  t["Palatino"] = true;
+  t["Perpetua"] = true;
+  t["Plantin"] = true;
+  t["Plantin Schoolbook"] = true;
+  t["Playbill"] = true;
+  t["Poor Richard"] = true;
+  t["Rawlinson Roadway"] = true;
+  t["Renault"] = true;
+  t["Requiem"] = true;
+  t["Rockwell"] = true;
+  t["Roman"] = true;
+  t["Rotis Serif"] = true;
+  t["Sabon"] = true;
+  t["Scala"] = true;
+  t["Seagull"] = true;
+  t["Sistina"] = true;
+  t["Souvenir"] = true;
+  t["STIX"] = true;
+  t["Stone Informal"] = true;
+  t["Stone Serif"] = true;
+  t["Sylfaen"] = true;
+  t["Times"] = true;
+  t["Trajan"] = true;
+  t["Trinité"] = true;
+  t["Trump Mediaeval"] = true;
+  t["Utopia"] = true;
+  t["Vale Type"] = true;
+  t["Bitstream Vera"] = true;
+  t["Vera Serif"] = true;
+  t["Versailles"] = true;
+  t["Wanted"] = true;
+  t["Weiss"] = true;
+  t["Wide Latin"] = true;
+  t["Windsor"] = true;
+  t["XITS"] = true;
 });
 exports.getSerifFonts = getSerifFonts;
-var getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t['Dingbats'] = true;
-  t['Symbol'] = true;
-  t['ZapfDingbats'] = true;
+const getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
+  t["Dingbats"] = true;
+  t["Symbol"] = true;
+  t["ZapfDingbats"] = true;
 });
 exports.getSymbolsFonts = getSymbolsFonts;
-var getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
+const getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
   t[2] = 10;
   t[3] = 32;
   t[4] = 33;
@@ -45255,13 +34800,13 @@ var getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(functio
   t[3416] = 8377;
 });
 exports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;
-var getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {
+const getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {
   t[227] = 322;
   t[264] = 261;
   t[291] = 346;
 });
 exports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;
-var getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {
+const getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {
   t[1] = 32;
   t[4] = 65;
   t[17] = 66;
@@ -45350,43 +34895,43 @@ var getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(f
 exports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;
 
 /***/ }),
-/* 212 */
+/* 33 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
-var getLookupTableFactory = __w_pdfjs_require__(186).getLookupTableFactory;
+var getLookupTableFactory = __w_pdfjs_require__(7).getLookupTableFactory;
 var getSpecialPUASymbols = getLookupTableFactory(function (t) {
- t[63721] = 0x00A9;
- t[63193] = 0x00A9;
- t[63720] = 0x00AE;
- t[63194] = 0x00AE;
+ t[63721] = 0x00a9;
+ t[63193] = 0x00a9;
+ t[63720] = 0x00ae;
+ t[63194] = 0x00ae;
  t[63722] = 0x2122;
  t[63195] = 0x2122;
- t[63729] = 0x23A7;
- t[63730] = 0x23A8;
- t[63731] = 0x23A9;
- t[63740] = 0x23AB;
- t[63741] = 0x23AC;
- t[63742] = 0x23AD;
- t[63726] = 0x23A1;
- t[63727] = 0x23A2;
- t[63728] = 0x23A3;
- t[63737] = 0x23A4;
- t[63738] = 0x23A5;
- t[63739] = 0x23A6;
- t[63723] = 0x239B;
- t[63724] = 0x239C;
- t[63725] = 0x239D;
- t[63734] = 0x239E;
- t[63735] = 0x239F;
- t[63736] = 0x23A0;
+ t[63729] = 0x23a7;
+ t[63730] = 0x23a8;
+ t[63731] = 0x23a9;
+ t[63740] = 0x23ab;
+ t[63741] = 0x23ac;
+ t[63742] = 0x23ad;
+ t[63726] = 0x23a1;
+ t[63727] = 0x23a2;
+ t[63728] = 0x23a3;
+ t[63737] = 0x23a4;
+ t[63738] = 0x23a5;
+ t[63739] = 0x23a6;
+ t[63723] = 0x239b;
+ t[63724] = 0x239c;
+ t[63725] = 0x239d;
+ t[63734] = 0x239e;
+ t[63735] = 0x239f;
+ t[63736] = 0x23a0;
 });
 function mapSpecialUnicodeValues(code) {
- if (code >= 0xFFF0 && code <= 0xFFFF) {
+ if (code >= 0xfff0 && code <= 0xffff) {
   return 0;
- } else if (code >= 0xF600 && code <= 0xF8FF) {
+ } else if (code >= 0xf600 && code <= 0xf8ff) {
   return getSpecialPUASymbols()[code] || code;
- } else if (code === 0x00AD) {
-  return 0x002D;
+ } else if (code === 0x00ad) {
+  return 0x002d;
  }
  return code;
 }
@@ -45398,9 +34943,9 @@ function getUnicodeForGlyph(name, glyphsUnicodeMap) {
  if (!name) {
   return -1;
  }
- if (name[0] === 'u') {
+ if (name[0] === "u") {
   var nameLen = name.length, hexStr;
-  if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') {
+  if (nameLen === 7 && name[1] === "n" && name[2] === "i") {
    hexStr = name.substring(3);
   } else if (nameLen >= 5 && nameLen <= 7) {
    hexStr = name.substring(1);
@@ -45418,496 +34963,496 @@ function getUnicodeForGlyph(name, glyphsUnicodeMap) {
 }
 var UnicodeRanges = [
  {
-  'begin': 0x0000,
-  'end': 0x007F
+  begin: 0x0000,
+  end: 0x007f
  },
  {
-  'begin': 0x0080,
-  'end': 0x00FF
+  begin: 0x0080,
+  end: 0x00ff
  },
  {
-  'begin': 0x0100,
-  'end': 0x017F
+  begin: 0x0100,
+  end: 0x017f
  },
  {
-  'begin': 0x0180,
-  'end': 0x024F
+  begin: 0x0180,
+  end: 0x024f
  },
  {
-  'begin': 0x0250,
-  'end': 0x02AF
+  begin: 0x0250,
+  end: 0x02af
  },
  {
-  'begin': 0x02B0,
-  'end': 0x02FF
+  begin: 0x02b0,
+  end: 0x02ff
  },
  {
-  'begin': 0x0300,
-  'end': 0x036F
+  begin: 0x0300,
+  end: 0x036f
  },
  {
-  'begin': 0x0370,
-  'end': 0x03FF
+  begin: 0x0370,
+  end: 0x03ff
  },
  {
-  'begin': 0x2C80,
-  'end': 0x2CFF
+  begin: 0x2c80,
+  end: 0x2cff
  },
  {
-  'begin': 0x0400,
-  'end': 0x04FF
+  begin: 0x0400,
+  end: 0x04ff
  },
  {
-  'begin': 0x0530,
-  'end': 0x058F
+  begin: 0x0530,
+  end: 0x058f
  },
  {
-  'begin': 0x0590,
-  'end': 0x05FF
+  begin: 0x0590,
+  end: 0x05ff
  },
  {
-  'begin': 0xA500,
-  'end': 0xA63F
+  begin: 0xa500,
+  end: 0xa63f
  },
  {
-  'begin': 0x0600,
-  'end': 0x06FF
+  begin: 0x0600,
+  end: 0x06ff
  },
  {
-  'begin': 0x07C0,
-  'end': 0x07FF
+  begin: 0x07c0,
+  end: 0x07ff
  },
  {
-  'begin': 0x0900,
-  'end': 0x097F
+  begin: 0x0900,
+  end: 0x097f
  },
  {
-  'begin': 0x0980,
-  'end': 0x09FF
+  begin: 0x0980,
+  end: 0x09ff
  },
  {
-  'begin': 0x0A00,
-  'end': 0x0A7F
+  begin: 0x0a00,
+  end: 0x0a7f
  },
  {
-  'begin': 0x0A80,
-  'end': 0x0AFF
+  begin: 0x0a80,
+  end: 0x0aff
  },
  {
-  'begin': 0x0B00,
-  'end': 0x0B7F
+  begin: 0x0b00,
+  end: 0x0b7f
  },
  {
-  'begin': 0x0B80,
-  'end': 0x0BFF
+  begin: 0x0b80,
+  end: 0x0bff
  },
  {
-  'begin': 0x0C00,
-  'end': 0x0C7F
+  begin: 0x0c00,
+  end: 0x0c7f
  },
  {
-  'begin': 0x0C80,
-  'end': 0x0CFF
+  begin: 0x0c80,
+  end: 0x0cff
  },
  {
-  'begin': 0x0D00,
-  'end': 0x0D7F
+  begin: 0x0d00,
+  end: 0x0d7f
  },
  {
-  'begin': 0x0E00,
-  'end': 0x0E7F
+  begin: 0x0e00,
+  end: 0x0e7f
  },
  {
-  'begin': 0x0E80,
-  'end': 0x0EFF
+  begin: 0x0e80,
+  end: 0x0eff
  },
  {
-  'begin': 0x10A0,
-  'end': 0x10FF
+  begin: 0x10a0,
+  end: 0x10ff
  },
  {
-  'begin': 0x1B00,
-  'end': 0x1B7F
+  begin: 0x1b00,
+  end: 0x1b7f
  },
  {
-  'begin': 0x1100,
-  'end': 0x11FF
+  begin: 0x1100,
+  end: 0x11ff
  },
  {
-  'begin': 0x1E00,
-  'end': 0x1EFF
+  begin: 0x1e00,
+  end: 0x1eff
  },
  {
-  'begin': 0x1F00,
-  'end': 0x1FFF
+  begin: 0x1f00,
+  end: 0x1fff
  },
  {
-  'begin': 0x2000,
-  'end': 0x206F
+  begin: 0x2000,
+  end: 0x206f
  },
  {
-  'begin': 0x2070,
-  'end': 0x209F
+  begin: 0x2070,
+  end: 0x209f
  },
  {
-  'begin': 0x20A0,
-  'end': 0x20CF
+  begin: 0x20a0,
+  end: 0x20cf
  },
  {
-  'begin': 0x20D0,
-  'end': 0x20FF
+  begin: 0x20d0,
+  end: 0x20ff
  },
  {
-  'begin': 0x2100,
-  'end': 0x214F
+  begin: 0x2100,
+  end: 0x214f
  },
  {
-  'begin': 0x2150,
-  'end': 0x218F
+  begin: 0x2150,
+  end: 0x218f
  },
  {
-  'begin': 0x2190,
-  'end': 0x21FF
+  begin: 0x2190,
+  end: 0x21ff
  },
  {
-  'begin': 0x2200,
-  'end': 0x22FF
+  begin: 0x2200,
+  end: 0x22ff
  },
  {
-  'begin': 0x2300,
-  'end': 0x23FF
+  begin: 0x2300,
+  end: 0x23ff
  },
  {
-  'begin': 0x2400,
-  'end': 0x243F
+  begin: 0x2400,
+  end: 0x243f
  },
  {
-  'begin': 0x2440,
-  'end': 0x245F
+  begin: 0x2440,
+  end: 0x245f
  },
  {
-  'begin': 0x2460,
-  'end': 0x24FF
+  begin: 0x2460,
+  end: 0x24ff
  },
  {
-  'begin': 0x2500,
-  'end': 0x257F
+  begin: 0x2500,
+  end: 0x257f
  },
  {
-  'begin': 0x2580,
-  'end': 0x259F
+  begin: 0x2580,
+  end: 0x259f
  },
  {
-  'begin': 0x25A0,
-  'end': 0x25FF
+  begin: 0x25a0,
+  end: 0x25ff
  },
  {
-  'begin': 0x2600,
-  'end': 0x26FF
+  begin: 0x2600,
+  end: 0x26ff
  },
  {
-  'begin': 0x2700,
-  'end': 0x27BF
+  begin: 0x2700,
+  end: 0x27bf
  },
  {
-  'begin': 0x3000,
-  'end': 0x303F
+  begin: 0x3000,
+  end: 0x303f
  },
  {
-  'begin': 0x3040,
-  'end': 0x309F
+  begin: 0x3040,
+  end: 0x309f
  },
  {
-  'begin': 0x30A0,
-  'end': 0x30FF
+  begin: 0x30a0,
+  end: 0x30ff
  },
  {
-  'begin': 0x3100,
-  'end': 0x312F
+  begin: 0x3100,
+  end: 0x312f
  },
  {
-  'begin': 0x3130,
-  'end': 0x318F
+  begin: 0x3130,
+  end: 0x318f
  },
  {
-  'begin': 0xA840,
-  'end': 0xA87F
+  begin: 0xa840,
+  end: 0xa87f
  },
  {
-  'begin': 0x3200,
-  'end': 0x32FF
+  begin: 0x3200,
+  end: 0x32ff
  },
  {
-  'begin': 0x3300,
-  'end': 0x33FF
+  begin: 0x3300,
+  end: 0x33ff
  },
  {
-  'begin': 0xAC00,
-  'end': 0xD7AF
+  begin: 0xac00,
+  end: 0xd7af
  },
  {
-  'begin': 0xD800,
-  'end': 0xDFFF
+  begin: 0xd800,
+  end: 0xdfff
  },
  {
-  'begin': 0x10900,
-  'end': 0x1091F
+  begin: 0x10900,
+  end: 0x1091f
  },
  {
-  'begin': 0x4E00,
-  'end': 0x9FFF
+  begin: 0x4e00,
+  end: 0x9fff
  },
  {
-  'begin': 0xE000,
-  'end': 0xF8FF
+  begin: 0xe000,
+  end: 0xf8ff
  },
  {
-  'begin': 0x31C0,
-  'end': 0x31EF
+  begin: 0x31c0,
+  end: 0x31ef
  },
  {
-  'begin': 0xFB00,
-  'end': 0xFB4F
+  begin: 0xfb00,
+  end: 0xfb4f
  },
  {
-  'begin': 0xFB50,
-  'end': 0xFDFF
+  begin: 0xfb50,
+  end: 0xfdff
  },
  {
-  'begin': 0xFE20,
-  'end': 0xFE2F
+  begin: 0xfe20,
+  end: 0xfe2f
  },
  {
-  'begin': 0xFE10,
-  'end': 0xFE1F
+  begin: 0xfe10,
+  end: 0xfe1f
  },
  {
-  'begin': 0xFE50,
-  'end': 0xFE6F
+  begin: 0xfe50,
+  end: 0xfe6f
  },
  {
-  'begin': 0xFE70,
-  'end': 0xFEFF
+  begin: 0xfe70,
+  end: 0xfeff
  },
  {
-  'begin': 0xFF00,
-  'end': 0xFFEF
+  begin: 0xff00,
+  end: 0xffef
  },
  {
-  'begin': 0xFFF0,
-  'end': 0xFFFF
+  begin: 0xfff0,
+  end: 0xffff
  },
  {
-  'begin': 0x0F00,
-  'end': 0x0FFF
+  begin: 0x0f00,
+  end: 0x0fff
  },
  {
-  'begin': 0x0700,
-  'end': 0x074F
+  begin: 0x0700,
+  end: 0x074f
  },
  {
-  'begin': 0x0780,
-  'end': 0x07BF
+  begin: 0x0780,
+  end: 0x07bf
  },
  {
-  'begin': 0x0D80,
-  'end': 0x0DFF
+  begin: 0x0d80,
+  end: 0x0dff
  },
  {
-  'begin': 0x1000,
-  'end': 0x109F
+  begin: 0x1000,
+  end: 0x109f
  },
  {
-  'begin': 0x1200,
-  'end': 0x137F
+  begin: 0x1200,
+  end: 0x137f
  },
  {
-  'begin': 0x13A0,
-  'end': 0x13FF
+  begin: 0x13a0,
+  end: 0x13ff
  },
  {
-  'begin': 0x1400,
-  'end': 0x167F
+  begin: 0x1400,
+  end: 0x167f
  },
  {
-  'begin': 0x1680,
-  'end': 0x169F
+  begin: 0x1680,
+  end: 0x169f
  },
  {
-  'begin': 0x16A0,
-  'end': 0x16FF
+  begin: 0x16a0,
+  end: 0x16ff
  },
  {
-  'begin': 0x1780,
-  'end': 0x17FF
+  begin: 0x1780,
+  end: 0x17ff
  },
  {
-  'begin': 0x1800,
-  'end': 0x18AF
+  begin: 0x1800,
+  end: 0x18af
  },
  {
-  'begin': 0x2800,
-  'end': 0x28FF
+  begin: 0x2800,
+  end: 0x28ff
  },
  {
-  'begin': 0xA000,
-  'end': 0xA48F
+  begin: 0xa000,
+  end: 0xa48f
  },
  {
-  'begin': 0x1700,
-  'end': 0x171F
+  begin: 0x1700,
+  end: 0x171f
  },
  {
-  'begin': 0x10300,
-  'end': 0x1032F
+  begin: 0x10300,
+  end: 0x1032f
  },
  {
-  'begin': 0x10330,
-  'end': 0x1034F
+  begin: 0x10330,
+  end: 0x1034f
  },
  {
-  'begin': 0x10400,
-  'end': 0x1044F
+  begin: 0x10400,
+  end: 0x1044f
  },
  {
-  'begin': 0x1D000,
-  'end': 0x1D0FF
+  begin: 0x1d000,
+  end: 0x1d0ff
  },
  {
-  'begin': 0x1D400,
-  'end': 0x1D7FF
+  begin: 0x1d400,
+  end: 0x1d7ff
  },
  {
-  'begin': 0xFF000,
-  'end': 0xFFFFD
+  begin: 0xff000,
+  end: 0xffffd
  },
  {
-  'begin': 0xFE00,
-  'end': 0xFE0F
+  begin: 0xfe00,
+  end: 0xfe0f
  },
  {
-  'begin': 0xE0000,
-  'end': 0xE007F
+  begin: 0xe0000,
+  end: 0xe007f
  },
  {
-  'begin': 0x1900,
-  'end': 0x194F
+  begin: 0x1900,
+  end: 0x194f
  },
  {
-  'begin': 0x1950,
-  'end': 0x197F
+  begin: 0x1950,
+  end: 0x197f
  },
  {
-  'begin': 0x1980,
-  'end': 0x19DF
+  begin: 0x1980,
+  end: 0x19df
  },
  {
-  'begin': 0x1A00,
-  'end': 0x1A1F
+  begin: 0x1a00,
+  end: 0x1a1f
  },
  {
-  'begin': 0x2C00,
-  'end': 0x2C5F
+  begin: 0x2c00,
+  end: 0x2c5f
  },
  {
-  'begin': 0x2D30,
-  'end': 0x2D7F
+  begin: 0x2d30,
+  end: 0x2d7f
  },
  {
-  'begin': 0x4DC0,
-  'end': 0x4DFF
+  begin: 0x4dc0,
+  end: 0x4dff
  },
  {
-  'begin': 0xA800,
-  'end': 0xA82F
+  begin: 0xa800,
+  end: 0xa82f
  },
  {
-  'begin': 0x10000,
-  'end': 0x1007F
+  begin: 0x10000,
+  end: 0x1007f
  },
  {
-  'begin': 0x10140,
-  'end': 0x1018F
+  begin: 0x10140,
+  end: 0x1018f
  },
  {
-  'begin': 0x10380,
-  'end': 0x1039F
+  begin: 0x10380,
+  end: 0x1039f
  },
  {
-  'begin': 0x103A0,
-  'end': 0x103DF
+  begin: 0x103a0,
+  end: 0x103df
  },
  {
-  'begin': 0x10450,
-  'end': 0x1047F
+  begin: 0x10450,
+  end: 0x1047f
  },
  {
-  'begin': 0x10480,
-  'end': 0x104AF
+  begin: 0x10480,
+  end: 0x104af
  },
  {
-  'begin': 0x10800,
-  'end': 0x1083F
+  begin: 0x10800,
+  end: 0x1083f
  },
  {
-  'begin': 0x10A00,
-  'end': 0x10A5F
+  begin: 0x10a00,
+  end: 0x10a5f
  },
  {
-  'begin': 0x1D300,
-  'end': 0x1D35F
+  begin: 0x1d300,
+  end: 0x1d35f
  },
  {
-  'begin': 0x12000,
-  'end': 0x123FF
+  begin: 0x12000,
+  end: 0x123ff
  },
  {
-  'begin': 0x1D360,
-  'end': 0x1D37F
+  begin: 0x1d360,
+  end: 0x1d37f
  },
  {
-  'begin': 0x1B80,
-  'end': 0x1BBF
+  begin: 0x1b80,
+  end: 0x1bbf
  },
  {
-  'begin': 0x1C00,
-  'end': 0x1C4F
+  begin: 0x1c00,
+  end: 0x1c4f
  },
  {
-  'begin': 0x1C50,
-  'end': 0x1C7F
+  begin: 0x1c50,
+  end: 0x1c7f
  },
  {
-  'begin': 0xA880,
-  'end': 0xA8DF
+  begin: 0xa880,
+  end: 0xa8df
  },
  {
-  'begin': 0xA900,
-  'end': 0xA92F
+  begin: 0xa900,
+  end: 0xa92f
  },
  {
-  'begin': 0xA930,
-  'end': 0xA95F
+  begin: 0xa930,
+  end: 0xa95f
  },
  {
-  'begin': 0xAA00,
-  'end': 0xAA5F
+  begin: 0xaa00,
+  end: 0xaa5f
  },
  {
-  'begin': 0x10190,
-  'end': 0x101CF
+  begin: 0x10190,
+  end: 0x101cf
  },
  {
-  'begin': 0x101D0,
-  'end': 0x101FF
+  begin: 0x101d0,
+  end: 0x101ff
  },
  {
-  'begin': 0x102A0,
-  'end': 0x102DF
+  begin: 0x102a0,
+  end: 0x102df
  },
  {
-  'begin': 0x1F030,
-  'end': 0x1F09F
+  begin: 0x1f030,
+  end: 0x1f09f
  }
 ];
 function getUnicodeRangeFor(value) {
@@ -45931,1390 +35476,1390 @@ function isRTLRangeFor(value) {
  return false;
 }
 var getNormalizedUnicodes = getLookupTableFactory(function (t) {
- t['\u00A8'] = '\u0020\u0308';
- t['\u00AF'] = '\u0020\u0304';
- t['\u00B4'] = '\u0020\u0301';
- t['\u00B5'] = '\u03BC';
- t['\u00B8'] = '\u0020\u0327';
- t['\u0132'] = '\u0049\u004A';
- t['\u0133'] = '\u0069\u006A';
- t['\u013F'] = '\u004C\u00B7';
- t['\u0140'] = '\u006C\u00B7';
- t['\u0149'] = '\u02BC\u006E';
- t['\u017F'] = '\u0073';
- t['\u01C4'] = '\u0044\u017D';
- t['\u01C5'] = '\u0044\u017E';
- t['\u01C6'] = '\u0064\u017E';
- t['\u01C7'] = '\u004C\u004A';
- t['\u01C8'] = '\u004C\u006A';
- t['\u01C9'] = '\u006C\u006A';
- t['\u01CA'] = '\u004E\u004A';
- t['\u01CB'] = '\u004E\u006A';
- t['\u01CC'] = '\u006E\u006A';
- t['\u01F1'] = '\u0044\u005A';
- t['\u01F2'] = '\u0044\u007A';
- t['\u01F3'] = '\u0064\u007A';
- t['\u02D8'] = '\u0020\u0306';
- t['\u02D9'] = '\u0020\u0307';
- t['\u02DA'] = '\u0020\u030A';
- t['\u02DB'] = '\u0020\u0328';
- t['\u02DC'] = '\u0020\u0303';
- t['\u02DD'] = '\u0020\u030B';
- t['\u037A'] = '\u0020\u0345';
- t['\u0384'] = '\u0020\u0301';
- t['\u03D0'] = '\u03B2';
- t['\u03D1'] = '\u03B8';
- t['\u03D2'] = '\u03A5';
- t['\u03D5'] = '\u03C6';
- t['\u03D6'] = '\u03C0';
- t['\u03F0'] = '\u03BA';
- t['\u03F1'] = '\u03C1';
- t['\u03F2'] = '\u03C2';
- t['\u03F4'] = '\u0398';
- t['\u03F5'] = '\u03B5';
- t['\u03F9'] = '\u03A3';
- t['\u0587'] = '\u0565\u0582';
- t['\u0675'] = '\u0627\u0674';
- t['\u0676'] = '\u0648\u0674';
- t['\u0677'] = '\u06C7\u0674';
- t['\u0678'] = '\u064A\u0674';
- t['\u0E33'] = '\u0E4D\u0E32';
- t['\u0EB3'] = '\u0ECD\u0EB2';
- t['\u0EDC'] = '\u0EAB\u0E99';
- t['\u0EDD'] = '\u0EAB\u0EA1';
- t['\u0F77'] = '\u0FB2\u0F81';
- t['\u0F79'] = '\u0FB3\u0F81';
- t['\u1E9A'] = '\u0061\u02BE';
- t['\u1FBD'] = '\u0020\u0313';
- t['\u1FBF'] = '\u0020\u0313';
- t['\u1FC0'] = '\u0020\u0342';
- t['\u1FFE'] = '\u0020\u0314';
- t['\u2002'] = '\u0020';
- t['\u2003'] = '\u0020';
- t['\u2004'] = '\u0020';
- t['\u2005'] = '\u0020';
- t['\u2006'] = '\u0020';
- t['\u2008'] = '\u0020';
- t['\u2009'] = '\u0020';
- t['\u200A'] = '\u0020';
- t['\u2017'] = '\u0020\u0333';
- t['\u2024'] = '\u002E';
- t['\u2025'] = '\u002E\u002E';
- t['\u2026'] = '\u002E\u002E\u002E';
- t['\u2033'] = '\u2032\u2032';
- t['\u2034'] = '\u2032\u2032\u2032';
- t['\u2036'] = '\u2035\u2035';
- t['\u2037'] = '\u2035\u2035\u2035';
- t['\u203C'] = '\u0021\u0021';
- t['\u203E'] = '\u0020\u0305';
- t['\u2047'] = '\u003F\u003F';
- t['\u2048'] = '\u003F\u0021';
- t['\u2049'] = '\u0021\u003F';
- t['\u2057'] = '\u2032\u2032\u2032\u2032';
- t['\u205F'] = '\u0020';
- t['\u20A8'] = '\u0052\u0073';
- t['\u2100'] = '\u0061\u002F\u0063';
- t['\u2101'] = '\u0061\u002F\u0073';
- t['\u2103'] = '\u00B0\u0043';
- t['\u2105'] = '\u0063\u002F\u006F';
- t['\u2106'] = '\u0063\u002F\u0075';
- t['\u2107'] = '\u0190';
- t['\u2109'] = '\u00B0\u0046';
- t['\u2116'] = '\u004E\u006F';
- t['\u2121'] = '\u0054\u0045\u004C';
- t['\u2135'] = '\u05D0';
- t['\u2136'] = '\u05D1';
- t['\u2137'] = '\u05D2';
- t['\u2138'] = '\u05D3';
- t['\u213B'] = '\u0046\u0041\u0058';
- t['\u2160'] = '\u0049';
- t['\u2161'] = '\u0049\u0049';
- t['\u2162'] = '\u0049\u0049\u0049';
- t['\u2163'] = '\u0049\u0056';
- t['\u2164'] = '\u0056';
- t['\u2165'] = '\u0056\u0049';
- t['\u2166'] = '\u0056\u0049\u0049';
- t['\u2167'] = '\u0056\u0049\u0049\u0049';
- t['\u2168'] = '\u0049\u0058';
- t['\u2169'] = '\u0058';
- t['\u216A'] = '\u0058\u0049';
- t['\u216B'] = '\u0058\u0049\u0049';
- t['\u216C'] = '\u004C';
- t['\u216D'] = '\u0043';
- t['\u216E'] = '\u0044';
- t['\u216F'] = '\u004D';
- t['\u2170'] = '\u0069';
- t['\u2171'] = '\u0069\u0069';
- t['\u2172'] = '\u0069\u0069\u0069';
- t['\u2173'] = '\u0069\u0076';
- t['\u2174'] = '\u0076';
- t['\u2175'] = '\u0076\u0069';
- t['\u2176'] = '\u0076\u0069\u0069';
- t['\u2177'] = '\u0076\u0069\u0069\u0069';
- t['\u2178'] = '\u0069\u0078';
- t['\u2179'] = '\u0078';
- t['\u217A'] = '\u0078\u0069';
- t['\u217B'] = '\u0078\u0069\u0069';
- t['\u217C'] = '\u006C';
- t['\u217D'] = '\u0063';
- t['\u217E'] = '\u0064';
- t['\u217F'] = '\u006D';
- t['\u222C'] = '\u222B\u222B';
- t['\u222D'] = '\u222B\u222B\u222B';
- t['\u222F'] = '\u222E\u222E';
- t['\u2230'] = '\u222E\u222E\u222E';
- t['\u2474'] = '\u0028\u0031\u0029';
- t['\u2475'] = '\u0028\u0032\u0029';
- t['\u2476'] = '\u0028\u0033\u0029';
- t['\u2477'] = '\u0028\u0034\u0029';
- t['\u2478'] = '\u0028\u0035\u0029';
- t['\u2479'] = '\u0028\u0036\u0029';
- t['\u247A'] = '\u0028\u0037\u0029';
- t['\u247B'] = '\u0028\u0038\u0029';
- t['\u247C'] = '\u0028\u0039\u0029';
- t['\u247D'] = '\u0028\u0031\u0030\u0029';
- t['\u247E'] = '\u0028\u0031\u0031\u0029';
- t['\u247F'] = '\u0028\u0031\u0032\u0029';
- t['\u2480'] = '\u0028\u0031\u0033\u0029';
- t['\u2481'] = '\u0028\u0031\u0034\u0029';
- t['\u2482'] = '\u0028\u0031\u0035\u0029';
- t['\u2483'] = '\u0028\u0031\u0036\u0029';
- t['\u2484'] = '\u0028\u0031\u0037\u0029';
- t['\u2485'] = '\u0028\u0031\u0038\u0029';
- t['\u2486'] = '\u0028\u0031\u0039\u0029';
- t['\u2487'] = '\u0028\u0032\u0030\u0029';
- t['\u2488'] = '\u0031\u002E';
- t['\u2489'] = '\u0032\u002E';
- t['\u248A'] = '\u0033\u002E';
- t['\u248B'] = '\u0034\u002E';
- t['\u248C'] = '\u0035\u002E';
- t['\u248D'] = '\u0036\u002E';
- t['\u248E'] = '\u0037\u002E';
- t['\u248F'] = '\u0038\u002E';
- t['\u2490'] = '\u0039\u002E';
- t['\u2491'] = '\u0031\u0030\u002E';
- t['\u2492'] = '\u0031\u0031\u002E';
- t['\u2493'] = '\u0031\u0032\u002E';
- t['\u2494'] = '\u0031\u0033\u002E';
- t['\u2495'] = '\u0031\u0034\u002E';
- t['\u2496'] = '\u0031\u0035\u002E';
- t['\u2497'] = '\u0031\u0036\u002E';
- t['\u2498'] = '\u0031\u0037\u002E';
- t['\u2499'] = '\u0031\u0038\u002E';
- t['\u249A'] = '\u0031\u0039\u002E';
- t['\u249B'] = '\u0032\u0030\u002E';
- t['\u249C'] = '\u0028\u0061\u0029';
- t['\u249D'] = '\u0028\u0062\u0029';
- t['\u249E'] = '\u0028\u0063\u0029';
- t['\u249F'] = '\u0028\u0064\u0029';
- t['\u24A0'] = '\u0028\u0065\u0029';
- t['\u24A1'] = '\u0028\u0066\u0029';
- t['\u24A2'] = '\u0028\u0067\u0029';
- t['\u24A3'] = '\u0028\u0068\u0029';
- t['\u24A4'] = '\u0028\u0069\u0029';
- t['\u24A5'] = '\u0028\u006A\u0029';
- t['\u24A6'] = '\u0028\u006B\u0029';
- t['\u24A7'] = '\u0028\u006C\u0029';
- t['\u24A8'] = '\u0028\u006D\u0029';
- t['\u24A9'] = '\u0028\u006E\u0029';
- t['\u24AA'] = '\u0028\u006F\u0029';
- t['\u24AB'] = '\u0028\u0070\u0029';
- t['\u24AC'] = '\u0028\u0071\u0029';
- t['\u24AD'] = '\u0028\u0072\u0029';
- t['\u24AE'] = '\u0028\u0073\u0029';
- t['\u24AF'] = '\u0028\u0074\u0029';
- t['\u24B0'] = '\u0028\u0075\u0029';
- t['\u24B1'] = '\u0028\u0076\u0029';
- t['\u24B2'] = '\u0028\u0077\u0029';
- t['\u24B3'] = '\u0028\u0078\u0029';
- t['\u24B4'] = '\u0028\u0079\u0029';
- t['\u24B5'] = '\u0028\u007A\u0029';
- t['\u2A0C'] = '\u222B\u222B\u222B\u222B';
- t['\u2A74'] = '\u003A\u003A\u003D';
- t['\u2A75'] = '\u003D\u003D';
- t['\u2A76'] = '\u003D\u003D\u003D';
- t['\u2E9F'] = '\u6BCD';
- t['\u2EF3'] = '\u9F9F';
- t['\u2F00'] = '\u4E00';
- t['\u2F01'] = '\u4E28';
- t['\u2F02'] = '\u4E36';
- t['\u2F03'] = '\u4E3F';
- t['\u2F04'] = '\u4E59';
- t['\u2F05'] = '\u4E85';
- t['\u2F06'] = '\u4E8C';
- t['\u2F07'] = '\u4EA0';
- t['\u2F08'] = '\u4EBA';
- t['\u2F09'] = '\u513F';
- t['\u2F0A'] = '\u5165';
- t['\u2F0B'] = '\u516B';
- t['\u2F0C'] = '\u5182';
- t['\u2F0D'] = '\u5196';
- t['\u2F0E'] = '\u51AB';
- t['\u2F0F'] = '\u51E0';
- t['\u2F10'] = '\u51F5';
- t['\u2F11'] = '\u5200';
- t['\u2F12'] = '\u529B';
- t['\u2F13'] = '\u52F9';
- t['\u2F14'] = '\u5315';
- t['\u2F15'] = '\u531A';
- t['\u2F16'] = '\u5338';
- t['\u2F17'] = '\u5341';
- t['\u2F18'] = '\u535C';
- t['\u2F19'] = '\u5369';
- t['\u2F1A'] = '\u5382';
- t['\u2F1B'] = '\u53B6';
- t['\u2F1C'] = '\u53C8';
- t['\u2F1D'] = '\u53E3';
- t['\u2F1E'] = '\u56D7';
- t['\u2F1F'] = '\u571F';
- t['\u2F20'] = '\u58EB';
- t['\u2F21'] = '\u5902';
- t['\u2F22'] = '\u590A';
- t['\u2F23'] = '\u5915';
- t['\u2F24'] = '\u5927';
- t['\u2F25'] = '\u5973';
- t['\u2F26'] = '\u5B50';
- t['\u2F27'] = '\u5B80';
- t['\u2F28'] = '\u5BF8';
- t['\u2F29'] = '\u5C0F';
- t['\u2F2A'] = '\u5C22';
- t['\u2F2B'] = '\u5C38';
- t['\u2F2C'] = '\u5C6E';
- t['\u2F2D'] = '\u5C71';
- t['\u2F2E'] = '\u5DDB';
- t['\u2F2F'] = '\u5DE5';
- t['\u2F30'] = '\u5DF1';
- t['\u2F31'] = '\u5DFE';
- t['\u2F32'] = '\u5E72';
- t['\u2F33'] = '\u5E7A';
- t['\u2F34'] = '\u5E7F';
- t['\u2F35'] = '\u5EF4';
- t['\u2F36'] = '\u5EFE';
- t['\u2F37'] = '\u5F0B';
- t['\u2F38'] = '\u5F13';
- t['\u2F39'] = '\u5F50';
- t['\u2F3A'] = '\u5F61';
- t['\u2F3B'] = '\u5F73';
- t['\u2F3C'] = '\u5FC3';
- t['\u2F3D'] = '\u6208';
- t['\u2F3E'] = '\u6236';
- t['\u2F3F'] = '\u624B';
- t['\u2F40'] = '\u652F';
- t['\u2F41'] = '\u6534';
- t['\u2F42'] = '\u6587';
- t['\u2F43'] = '\u6597';
- t['\u2F44'] = '\u65A4';
- t['\u2F45'] = '\u65B9';
- t['\u2F46'] = '\u65E0';
- t['\u2F47'] = '\u65E5';
- t['\u2F48'] = '\u66F0';
- t['\u2F49'] = '\u6708';
- t['\u2F4A'] = '\u6728';
- t['\u2F4B'] = '\u6B20';
- t['\u2F4C'] = '\u6B62';
- t['\u2F4D'] = '\u6B79';
- t['\u2F4E'] = '\u6BB3';
- t['\u2F4F'] = '\u6BCB';
- t['\u2F50'] = '\u6BD4';
- t['\u2F51'] = '\u6BDB';
- t['\u2F52'] = '\u6C0F';
- t['\u2F53'] = '\u6C14';
- t['\u2F54'] = '\u6C34';
- t['\u2F55'] = '\u706B';
- t['\u2F56'] = '\u722A';
- t['\u2F57'] = '\u7236';
- t['\u2F58'] = '\u723B';
- t['\u2F59'] = '\u723F';
- t['\u2F5A'] = '\u7247';
- t['\u2F5B'] = '\u7259';
- t['\u2F5C'] = '\u725B';
- t['\u2F5D'] = '\u72AC';
- t['\u2F5E'] = '\u7384';
- t['\u2F5F'] = '\u7389';
- t['\u2F60'] = '\u74DC';
- t['\u2F61'] = '\u74E6';
- t['\u2F62'] = '\u7518';
- t['\u2F63'] = '\u751F';
- t['\u2F64'] = '\u7528';
- t['\u2F65'] = '\u7530';
- t['\u2F66'] = '\u758B';
- t['\u2F67'] = '\u7592';
- t['\u2F68'] = '\u7676';
- t['\u2F69'] = '\u767D';
- t['\u2F6A'] = '\u76AE';
- t['\u2F6B'] = '\u76BF';
- t['\u2F6C'] = '\u76EE';
- t['\u2F6D'] = '\u77DB';
- t['\u2F6E'] = '\u77E2';
- t['\u2F6F'] = '\u77F3';
- t['\u2F70'] = '\u793A';
- t['\u2F71'] = '\u79B8';
- t['\u2F72'] = '\u79BE';
- t['\u2F73'] = '\u7A74';
- t['\u2F74'] = '\u7ACB';
- t['\u2F75'] = '\u7AF9';
- t['\u2F76'] = '\u7C73';
- t['\u2F77'] = '\u7CF8';
- t['\u2F78'] = '\u7F36';
- t['\u2F79'] = '\u7F51';
- t['\u2F7A'] = '\u7F8A';
- t['\u2F7B'] = '\u7FBD';
- t['\u2F7C'] = '\u8001';
- t['\u2F7D'] = '\u800C';
- t['\u2F7E'] = '\u8012';
- t['\u2F7F'] = '\u8033';
- t['\u2F80'] = '\u807F';
- t['\u2F81'] = '\u8089';
- t['\u2F82'] = '\u81E3';
- t['\u2F83'] = '\u81EA';
- t['\u2F84'] = '\u81F3';
- t['\u2F85'] = '\u81FC';
- t['\u2F86'] = '\u820C';
- t['\u2F87'] = '\u821B';
- t['\u2F88'] = '\u821F';
- t['\u2F89'] = '\u826E';
- t['\u2F8A'] = '\u8272';
- t['\u2F8B'] = '\u8278';
- t['\u2F8C'] = '\u864D';
- t['\u2F8D'] = '\u866B';
- t['\u2F8E'] = '\u8840';
- t['\u2F8F'] = '\u884C';
- t['\u2F90'] = '\u8863';
- t['\u2F91'] = '\u897E';
- t['\u2F92'] = '\u898B';
- t['\u2F93'] = '\u89D2';
- t['\u2F94'] = '\u8A00';
- t['\u2F95'] = '\u8C37';
- t['\u2F96'] = '\u8C46';
- t['\u2F97'] = '\u8C55';
- t['\u2F98'] = '\u8C78';
- t['\u2F99'] = '\u8C9D';
- t['\u2F9A'] = '\u8D64';
- t['\u2F9B'] = '\u8D70';
- t['\u2F9C'] = '\u8DB3';
- t['\u2F9D'] = '\u8EAB';
- t['\u2F9E'] = '\u8ECA';
- t['\u2F9F'] = '\u8F9B';
- t['\u2FA0'] = '\u8FB0';
- t['\u2FA1'] = '\u8FB5';
- t['\u2FA2'] = '\u9091';
- t['\u2FA3'] = '\u9149';
- t['\u2FA4'] = '\u91C6';
- t['\u2FA5'] = '\u91CC';
- t['\u2FA6'] = '\u91D1';
- t['\u2FA7'] = '\u9577';
- t['\u2FA8'] = '\u9580';
- t['\u2FA9'] = '\u961C';
- t['\u2FAA'] = '\u96B6';
- t['\u2FAB'] = '\u96B9';
- t['\u2FAC'] = '\u96E8';
- t['\u2FAD'] = '\u9751';
- t['\u2FAE'] = '\u975E';
- t['\u2FAF'] = '\u9762';
- t['\u2FB0'] = '\u9769';
- t['\u2FB1'] = '\u97CB';
- t['\u2FB2'] = '\u97ED';
- t['\u2FB3'] = '\u97F3';
- t['\u2FB4'] = '\u9801';
- t['\u2FB5'] = '\u98A8';
- t['\u2FB6'] = '\u98DB';
- t['\u2FB7'] = '\u98DF';
- t['\u2FB8'] = '\u9996';
- t['\u2FB9'] = '\u9999';
- t['\u2FBA'] = '\u99AC';
- t['\u2FBB'] = '\u9AA8';
- t['\u2FBC'] = '\u9AD8';
- t['\u2FBD'] = '\u9ADF';
- t['\u2FBE'] = '\u9B25';
- t['\u2FBF'] = '\u9B2F';
- t['\u2FC0'] = '\u9B32';
- t['\u2FC1'] = '\u9B3C';
- t['\u2FC2'] = '\u9B5A';
- t['\u2FC3'] = '\u9CE5';
- t['\u2FC4'] = '\u9E75';
- t['\u2FC5'] = '\u9E7F';
- t['\u2FC6'] = '\u9EA5';
- t['\u2FC7'] = '\u9EBB';
- t['\u2FC8'] = '\u9EC3';
- t['\u2FC9'] = '\u9ECD';
- t['\u2FCA'] = '\u9ED1';
- t['\u2FCB'] = '\u9EF9';
- t['\u2FCC'] = '\u9EFD';
- t['\u2FCD'] = '\u9F0E';
- t['\u2FCE'] = '\u9F13';
- t['\u2FCF'] = '\u9F20';
- t['\u2FD0'] = '\u9F3B';
- t['\u2FD1'] = '\u9F4A';
- t['\u2FD2'] = '\u9F52';
- t['\u2FD3'] = '\u9F8D';
- t['\u2FD4'] = '\u9F9C';
- t['\u2FD5'] = '\u9FA0';
- t['\u3036'] = '\u3012';
- t['\u3038'] = '\u5341';
- t['\u3039'] = '\u5344';
- t['\u303A'] = '\u5345';
- t['\u309B'] = '\u0020\u3099';
- t['\u309C'] = '\u0020\u309A';
- t['\u3131'] = '\u1100';
- t['\u3132'] = '\u1101';
- t['\u3133'] = '\u11AA';
- t['\u3134'] = '\u1102';
- t['\u3135'] = '\u11AC';
- t['\u3136'] = '\u11AD';
- t['\u3137'] = '\u1103';
- t['\u3138'] = '\u1104';
- t['\u3139'] = '\u1105';
- t['\u313A'] = '\u11B0';
- t['\u313B'] = '\u11B1';
- t['\u313C'] = '\u11B2';
- t['\u313D'] = '\u11B3';
- t['\u313E'] = '\u11B4';
- t['\u313F'] = '\u11B5';
- t['\u3140'] = '\u111A';
- t['\u3141'] = '\u1106';
- t['\u3142'] = '\u1107';
- t['\u3143'] = '\u1108';
- t['\u3144'] = '\u1121';
- t['\u3145'] = '\u1109';
- t['\u3146'] = '\u110A';
- t['\u3147'] = '\u110B';
- t['\u3148'] = '\u110C';
- t['\u3149'] = '\u110D';
- t['\u314A'] = '\u110E';
- t['\u314B'] = '\u110F';
- t['\u314C'] = '\u1110';
- t['\u314D'] = '\u1111';
- t['\u314E'] = '\u1112';
- t['\u314F'] = '\u1161';
- t['\u3150'] = '\u1162';
- t['\u3151'] = '\u1163';
- t['\u3152'] = '\u1164';
- t['\u3153'] = '\u1165';
- t['\u3154'] = '\u1166';
- t['\u3155'] = '\u1167';
- t['\u3156'] = '\u1168';
- t['\u3157'] = '\u1169';
- t['\u3158'] = '\u116A';
- t['\u3159'] = '\u116B';
- t['\u315A'] = '\u116C';
- t['\u315B'] = '\u116D';
- t['\u315C'] = '\u116E';
- t['\u315D'] = '\u116F';
- t['\u315E'] = '\u1170';
- t['\u315F'] = '\u1171';
- t['\u3160'] = '\u1172';
- t['\u3161'] = '\u1173';
- t['\u3162'] = '\u1174';
- t['\u3163'] = '\u1175';
- t['\u3164'] = '\u1160';
- t['\u3165'] = '\u1114';
- t['\u3166'] = '\u1115';
- t['\u3167'] = '\u11C7';
- t['\u3168'] = '\u11C8';
- t['\u3169'] = '\u11CC';
- t['\u316A'] = '\u11CE';
- t['\u316B'] = '\u11D3';
- t['\u316C'] = '\u11D7';
- t['\u316D'] = '\u11D9';
- t['\u316E'] = '\u111C';
- t['\u316F'] = '\u11DD';
- t['\u3170'] = '\u11DF';
- t['\u3171'] = '\u111D';
- t['\u3172'] = '\u111E';
- t['\u3173'] = '\u1120';
- t['\u3174'] = '\u1122';
- t['\u3175'] = '\u1123';
- t['\u3176'] = '\u1127';
- t['\u3177'] = '\u1129';
- t['\u3178'] = '\u112B';
- t['\u3179'] = '\u112C';
- t['\u317A'] = '\u112D';
- t['\u317B'] = '\u112E';
- t['\u317C'] = '\u112F';
- t['\u317D'] = '\u1132';
- t['\u317E'] = '\u1136';
- t['\u317F'] = '\u1140';
- t['\u3180'] = '\u1147';
- t['\u3181'] = '\u114C';
- t['\u3182'] = '\u11F1';
- t['\u3183'] = '\u11F2';
- t['\u3184'] = '\u1157';
- t['\u3185'] = '\u1158';
- t['\u3186'] = '\u1159';
- t['\u3187'] = '\u1184';
- t['\u3188'] = '\u1185';
- t['\u3189'] = '\u1188';
- t['\u318A'] = '\u1191';
- t['\u318B'] = '\u1192';
- t['\u318C'] = '\u1194';
- t['\u318D'] = '\u119E';
- t['\u318E'] = '\u11A1';
- t['\u3200'] = '\u0028\u1100\u0029';
- t['\u3201'] = '\u0028\u1102\u0029';
- t['\u3202'] = '\u0028\u1103\u0029';
- t['\u3203'] = '\u0028\u1105\u0029';
- t['\u3204'] = '\u0028\u1106\u0029';
- t['\u3205'] = '\u0028\u1107\u0029';
- t['\u3206'] = '\u0028\u1109\u0029';
- t['\u3207'] = '\u0028\u110B\u0029';
- t['\u3208'] = '\u0028\u110C\u0029';
- t['\u3209'] = '\u0028\u110E\u0029';
- t['\u320A'] = '\u0028\u110F\u0029';
- t['\u320B'] = '\u0028\u1110\u0029';
- t['\u320C'] = '\u0028\u1111\u0029';
- t['\u320D'] = '\u0028\u1112\u0029';
- t['\u320E'] = '\u0028\u1100\u1161\u0029';
- t['\u320F'] = '\u0028\u1102\u1161\u0029';
- t['\u3210'] = '\u0028\u1103\u1161\u0029';
- t['\u3211'] = '\u0028\u1105\u1161\u0029';
- t['\u3212'] = '\u0028\u1106\u1161\u0029';
- t['\u3213'] = '\u0028\u1107\u1161\u0029';
- t['\u3214'] = '\u0028\u1109\u1161\u0029';
- t['\u3215'] = '\u0028\u110B\u1161\u0029';
- t['\u3216'] = '\u0028\u110C\u1161\u0029';
- t['\u3217'] = '\u0028\u110E\u1161\u0029';
- t['\u3218'] = '\u0028\u110F\u1161\u0029';
- t['\u3219'] = '\u0028\u1110\u1161\u0029';
- t['\u321A'] = '\u0028\u1111\u1161\u0029';
- t['\u321B'] = '\u0028\u1112\u1161\u0029';
- t['\u321C'] = '\u0028\u110C\u116E\u0029';
- t['\u321D'] = '\u0028\u110B\u1169\u110C\u1165\u11AB\u0029';
- t['\u321E'] = '\u0028\u110B\u1169\u1112\u116E\u0029';
- t['\u3220'] = '\u0028\u4E00\u0029';
- t['\u3221'] = '\u0028\u4E8C\u0029';
- t['\u3222'] = '\u0028\u4E09\u0029';
- t['\u3223'] = '\u0028\u56DB\u0029';
- t['\u3224'] = '\u0028\u4E94\u0029';
- t['\u3225'] = '\u0028\u516D\u0029';
- t['\u3226'] = '\u0028\u4E03\u0029';
- t['\u3227'] = '\u0028\u516B\u0029';
- t['\u3228'] = '\u0028\u4E5D\u0029';
- t['\u3229'] = '\u0028\u5341\u0029';
- t['\u322A'] = '\u0028\u6708\u0029';
- t['\u322B'] = '\u0028\u706B\u0029';
- t['\u322C'] = '\u0028\u6C34\u0029';
- t['\u322D'] = '\u0028\u6728\u0029';
- t['\u322E'] = '\u0028\u91D1\u0029';
- t['\u322F'] = '\u0028\u571F\u0029';
- t['\u3230'] = '\u0028\u65E5\u0029';
- t['\u3231'] = '\u0028\u682A\u0029';
- t['\u3232'] = '\u0028\u6709\u0029';
- t['\u3233'] = '\u0028\u793E\u0029';
- t['\u3234'] = '\u0028\u540D\u0029';
- t['\u3235'] = '\u0028\u7279\u0029';
- t['\u3236'] = '\u0028\u8CA1\u0029';
- t['\u3237'] = '\u0028\u795D\u0029';
- t['\u3238'] = '\u0028\u52B4\u0029';
- t['\u3239'] = '\u0028\u4EE3\u0029';
- t['\u323A'] = '\u0028\u547C\u0029';
- t['\u323B'] = '\u0028\u5B66\u0029';
- t['\u323C'] = '\u0028\u76E3\u0029';
- t['\u323D'] = '\u0028\u4F01\u0029';
- t['\u323E'] = '\u0028\u8CC7\u0029';
- t['\u323F'] = '\u0028\u5354\u0029';
- t['\u3240'] = '\u0028\u796D\u0029';
- t['\u3241'] = '\u0028\u4F11\u0029';
- t['\u3242'] = '\u0028\u81EA\u0029';
- t['\u3243'] = '\u0028\u81F3\u0029';
- t['\u32C0'] = '\u0031\u6708';
- t['\u32C1'] = '\u0032\u6708';
- t['\u32C2'] = '\u0033\u6708';
- t['\u32C3'] = '\u0034\u6708';
- t['\u32C4'] = '\u0035\u6708';
- t['\u32C5'] = '\u0036\u6708';
- t['\u32C6'] = '\u0037\u6708';
- t['\u32C7'] = '\u0038\u6708';
- t['\u32C8'] = '\u0039\u6708';
- t['\u32C9'] = '\u0031\u0030\u6708';
- t['\u32CA'] = '\u0031\u0031\u6708';
- t['\u32CB'] = '\u0031\u0032\u6708';
- t['\u3358'] = '\u0030\u70B9';
- t['\u3359'] = '\u0031\u70B9';
- t['\u335A'] = '\u0032\u70B9';
- t['\u335B'] = '\u0033\u70B9';
- t['\u335C'] = '\u0034\u70B9';
- t['\u335D'] = '\u0035\u70B9';
- t['\u335E'] = '\u0036\u70B9';
- t['\u335F'] = '\u0037\u70B9';
- t['\u3360'] = '\u0038\u70B9';
- t['\u3361'] = '\u0039\u70B9';
- t['\u3362'] = '\u0031\u0030\u70B9';
- t['\u3363'] = '\u0031\u0031\u70B9';
- t['\u3364'] = '\u0031\u0032\u70B9';
- t['\u3365'] = '\u0031\u0033\u70B9';
- t['\u3366'] = '\u0031\u0034\u70B9';
- t['\u3367'] = '\u0031\u0035\u70B9';
- t['\u3368'] = '\u0031\u0036\u70B9';
- t['\u3369'] = '\u0031\u0037\u70B9';
- t['\u336A'] = '\u0031\u0038\u70B9';
- t['\u336B'] = '\u0031\u0039\u70B9';
- t['\u336C'] = '\u0032\u0030\u70B9';
- t['\u336D'] = '\u0032\u0031\u70B9';
- t['\u336E'] = '\u0032\u0032\u70B9';
- t['\u336F'] = '\u0032\u0033\u70B9';
- t['\u3370'] = '\u0032\u0034\u70B9';
- t['\u33E0'] = '\u0031\u65E5';
- t['\u33E1'] = '\u0032\u65E5';
- t['\u33E2'] = '\u0033\u65E5';
- t['\u33E3'] = '\u0034\u65E5';
- t['\u33E4'] = '\u0035\u65E5';
- t['\u33E5'] = '\u0036\u65E5';
- t['\u33E6'] = '\u0037\u65E5';
- t['\u33E7'] = '\u0038\u65E5';
- t['\u33E8'] = '\u0039\u65E5';
- t['\u33E9'] = '\u0031\u0030\u65E5';
- t['\u33EA'] = '\u0031\u0031\u65E5';
- t['\u33EB'] = '\u0031\u0032\u65E5';
- t['\u33EC'] = '\u0031\u0033\u65E5';
- t['\u33ED'] = '\u0031\u0034\u65E5';
- t['\u33EE'] = '\u0031\u0035\u65E5';
- t['\u33EF'] = '\u0031\u0036\u65E5';
- t['\u33F0'] = '\u0031\u0037\u65E5';
- t['\u33F1'] = '\u0031\u0038\u65E5';
- t['\u33F2'] = '\u0031\u0039\u65E5';
- t['\u33F3'] = '\u0032\u0030\u65E5';
- t['\u33F4'] = '\u0032\u0031\u65E5';
- t['\u33F5'] = '\u0032\u0032\u65E5';
- t['\u33F6'] = '\u0032\u0033\u65E5';
- t['\u33F7'] = '\u0032\u0034\u65E5';
- t['\u33F8'] = '\u0032\u0035\u65E5';
- t['\u33F9'] = '\u0032\u0036\u65E5';
- t['\u33FA'] = '\u0032\u0037\u65E5';
- t['\u33FB'] = '\u0032\u0038\u65E5';
- t['\u33FC'] = '\u0032\u0039\u65E5';
- t['\u33FD'] = '\u0033\u0030\u65E5';
- t['\u33FE'] = '\u0033\u0031\u65E5';
- t['\uFB00'] = '\u0066\u0066';
- t['\uFB01'] = '\u0066\u0069';
- t['\uFB02'] = '\u0066\u006C';
- t['\uFB03'] = '\u0066\u0066\u0069';
- t['\uFB04'] = '\u0066\u0066\u006C';
- t['\uFB05'] = '\u017F\u0074';
- t['\uFB06'] = '\u0073\u0074';
- t['\uFB13'] = '\u0574\u0576';
- t['\uFB14'] = '\u0574\u0565';
- t['\uFB15'] = '\u0574\u056B';
- t['\uFB16'] = '\u057E\u0576';
- t['\uFB17'] = '\u0574\u056D';
- t['\uFB4F'] = '\u05D0\u05DC';
- t['\uFB50'] = '\u0671';
- t['\uFB51'] = '\u0671';
- t['\uFB52'] = '\u067B';
- t['\uFB53'] = '\u067B';
- t['\uFB54'] = '\u067B';
- t['\uFB55'] = '\u067B';
- t['\uFB56'] = '\u067E';
- t['\uFB57'] = '\u067E';
- t['\uFB58'] = '\u067E';
- t['\uFB59'] = '\u067E';
- t['\uFB5A'] = '\u0680';
- t['\uFB5B'] = '\u0680';
- t['\uFB5C'] = '\u0680';
- t['\uFB5D'] = '\u0680';
- t['\uFB5E'] = '\u067A';
- t['\uFB5F'] = '\u067A';
- t['\uFB60'] = '\u067A';
- t['\uFB61'] = '\u067A';
- t['\uFB62'] = '\u067F';
- t['\uFB63'] = '\u067F';
- t['\uFB64'] = '\u067F';
- t['\uFB65'] = '\u067F';
- t['\uFB66'] = '\u0679';
- t['\uFB67'] = '\u0679';
- t['\uFB68'] = '\u0679';
- t['\uFB69'] = '\u0679';
- t['\uFB6A'] = '\u06A4';
- t['\uFB6B'] = '\u06A4';
- t['\uFB6C'] = '\u06A4';
- t['\uFB6D'] = '\u06A4';
- t['\uFB6E'] = '\u06A6';
- t['\uFB6F'] = '\u06A6';
- t['\uFB70'] = '\u06A6';
- t['\uFB71'] = '\u06A6';
- t['\uFB72'] = '\u0684';
- t['\uFB73'] = '\u0684';
- t['\uFB74'] = '\u0684';
- t['\uFB75'] = '\u0684';
- t['\uFB76'] = '\u0683';
- t['\uFB77'] = '\u0683';
- t['\uFB78'] = '\u0683';
- t['\uFB79'] = '\u0683';
- t['\uFB7A'] = '\u0686';
- t['\uFB7B'] = '\u0686';
- t['\uFB7C'] = '\u0686';
- t['\uFB7D'] = '\u0686';
- t['\uFB7E'] = '\u0687';
- t['\uFB7F'] = '\u0687';
- t['\uFB80'] = '\u0687';
- t['\uFB81'] = '\u0687';
- t['\uFB82'] = '\u068D';
- t['\uFB83'] = '\u068D';
- t['\uFB84'] = '\u068C';
- t['\uFB85'] = '\u068C';
- t['\uFB86'] = '\u068E';
- t['\uFB87'] = '\u068E';
- t['\uFB88'] = '\u0688';
- t['\uFB89'] = '\u0688';
- t['\uFB8A'] = '\u0698';
- t['\uFB8B'] = '\u0698';
- t['\uFB8C'] = '\u0691';
- t['\uFB8D'] = '\u0691';
- t['\uFB8E'] = '\u06A9';
- t['\uFB8F'] = '\u06A9';
- t['\uFB90'] = '\u06A9';
- t['\uFB91'] = '\u06A9';
- t['\uFB92'] = '\u06AF';
- t['\uFB93'] = '\u06AF';
- t['\uFB94'] = '\u06AF';
- t['\uFB95'] = '\u06AF';
- t['\uFB96'] = '\u06B3';
- t['\uFB97'] = '\u06B3';
- t['\uFB98'] = '\u06B3';
- t['\uFB99'] = '\u06B3';
- t['\uFB9A'] = '\u06B1';
- t['\uFB9B'] = '\u06B1';
- t['\uFB9C'] = '\u06B1';
- t['\uFB9D'] = '\u06B1';
- t['\uFB9E'] = '\u06BA';
- t['\uFB9F'] = '\u06BA';
- t['\uFBA0'] = '\u06BB';
- t['\uFBA1'] = '\u06BB';
- t['\uFBA2'] = '\u06BB';
- t['\uFBA3'] = '\u06BB';
- t['\uFBA4'] = '\u06C0';
- t['\uFBA5'] = '\u06C0';
- t['\uFBA6'] = '\u06C1';
- t['\uFBA7'] = '\u06C1';
- t['\uFBA8'] = '\u06C1';
- t['\uFBA9'] = '\u06C1';
- t['\uFBAA'] = '\u06BE';
- t['\uFBAB'] = '\u06BE';
- t['\uFBAC'] = '\u06BE';
- t['\uFBAD'] = '\u06BE';
- t['\uFBAE'] = '\u06D2';
- t['\uFBAF'] = '\u06D2';
- t['\uFBB0'] = '\u06D3';
- t['\uFBB1'] = '\u06D3';
- t['\uFBD3'] = '\u06AD';
- t['\uFBD4'] = '\u06AD';
- t['\uFBD5'] = '\u06AD';
- t['\uFBD6'] = '\u06AD';
- t['\uFBD7'] = '\u06C7';
- t['\uFBD8'] = '\u06C7';
- t['\uFBD9'] = '\u06C6';
- t['\uFBDA'] = '\u06C6';
- t['\uFBDB'] = '\u06C8';
- t['\uFBDC'] = '\u06C8';
- t['\uFBDD'] = '\u0677';
- t['\uFBDE'] = '\u06CB';
- t['\uFBDF'] = '\u06CB';
- t['\uFBE0'] = '\u06C5';
- t['\uFBE1'] = '\u06C5';
- t['\uFBE2'] = '\u06C9';
- t['\uFBE3'] = '\u06C9';
- t['\uFBE4'] = '\u06D0';
- t['\uFBE5'] = '\u06D0';
- t['\uFBE6'] = '\u06D0';
- t['\uFBE7'] = '\u06D0';
- t['\uFBE8'] = '\u0649';
- t['\uFBE9'] = '\u0649';
- t['\uFBEA'] = '\u0626\u0627';
- t['\uFBEB'] = '\u0626\u0627';
- t['\uFBEC'] = '\u0626\u06D5';
- t['\uFBED'] = '\u0626\u06D5';
- t['\uFBEE'] = '\u0626\u0648';
- t['\uFBEF'] = '\u0626\u0648';
- t['\uFBF0'] = '\u0626\u06C7';
- t['\uFBF1'] = '\u0626\u06C7';
- t['\uFBF2'] = '\u0626\u06C6';
- t['\uFBF3'] = '\u0626\u06C6';
- t['\uFBF4'] = '\u0626\u06C8';
- t['\uFBF5'] = '\u0626\u06C8';
- t['\uFBF6'] = '\u0626\u06D0';
- t['\uFBF7'] = '\u0626\u06D0';
- t['\uFBF8'] = '\u0626\u06D0';
- t['\uFBF9'] = '\u0626\u0649';
- t['\uFBFA'] = '\u0626\u0649';
- t['\uFBFB'] = '\u0626\u0649';
- t['\uFBFC'] = '\u06CC';
- t['\uFBFD'] = '\u06CC';
- t['\uFBFE'] = '\u06CC';
- t['\uFBFF'] = '\u06CC';
- t['\uFC00'] = '\u0626\u062C';
- t['\uFC01'] = '\u0626\u062D';
- t['\uFC02'] = '\u0626\u0645';
- t['\uFC03'] = '\u0626\u0649';
- t['\uFC04'] = '\u0626\u064A';
- t['\uFC05'] = '\u0628\u062C';
- t['\uFC06'] = '\u0628\u062D';
- t['\uFC07'] = '\u0628\u062E';
- t['\uFC08'] = '\u0628\u0645';
- t['\uFC09'] = '\u0628\u0649';
- t['\uFC0A'] = '\u0628\u064A';
- t['\uFC0B'] = '\u062A\u062C';
- t['\uFC0C'] = '\u062A\u062D';
- t['\uFC0D'] = '\u062A\u062E';
- t['\uFC0E'] = '\u062A\u0645';
- t['\uFC0F'] = '\u062A\u0649';
- t['\uFC10'] = '\u062A\u064A';
- t['\uFC11'] = '\u062B\u062C';
- t['\uFC12'] = '\u062B\u0645';
- t['\uFC13'] = '\u062B\u0649';
- t['\uFC14'] = '\u062B\u064A';
- t['\uFC15'] = '\u062C\u062D';
- t['\uFC16'] = '\u062C\u0645';
- t['\uFC17'] = '\u062D\u062C';
- t['\uFC18'] = '\u062D\u0645';
- t['\uFC19'] = '\u062E\u062C';
- t['\uFC1A'] = '\u062E\u062D';
- t['\uFC1B'] = '\u062E\u0645';
- t['\uFC1C'] = '\u0633\u062C';
- t['\uFC1D'] = '\u0633\u062D';
- t['\uFC1E'] = '\u0633\u062E';
- t['\uFC1F'] = '\u0633\u0645';
- t['\uFC20'] = '\u0635\u062D';
- t['\uFC21'] = '\u0635\u0645';
- t['\uFC22'] = '\u0636\u062C';
- t['\uFC23'] = '\u0636\u062D';
- t['\uFC24'] = '\u0636\u062E';
- t['\uFC25'] = '\u0636\u0645';
- t['\uFC26'] = '\u0637\u062D';
- t['\uFC27'] = '\u0637\u0645';
- t['\uFC28'] = '\u0638\u0645';
- t['\uFC29'] = '\u0639\u062C';
- t['\uFC2A'] = '\u0639\u0645';
- t['\uFC2B'] = '\u063A\u062C';
- t['\uFC2C'] = '\u063A\u0645';
- t['\uFC2D'] = '\u0641\u062C';
- t['\uFC2E'] = '\u0641\u062D';
- t['\uFC2F'] = '\u0641\u062E';
- t['\uFC30'] = '\u0641\u0645';
- t['\uFC31'] = '\u0641\u0649';
- t['\uFC32'] = '\u0641\u064A';
- t['\uFC33'] = '\u0642\u062D';
- t['\uFC34'] = '\u0642\u0645';
- t['\uFC35'] = '\u0642\u0649';
- t['\uFC36'] = '\u0642\u064A';
- t['\uFC37'] = '\u0643\u0627';
- t['\uFC38'] = '\u0643\u062C';
- t['\uFC39'] = '\u0643\u062D';
- t['\uFC3A'] = '\u0643\u062E';
- t['\uFC3B'] = '\u0643\u0644';
- t['\uFC3C'] = '\u0643\u0645';
- t['\uFC3D'] = '\u0643\u0649';
- t['\uFC3E'] = '\u0643\u064A';
- t['\uFC3F'] = '\u0644\u062C';
- t['\uFC40'] = '\u0644\u062D';
- t['\uFC41'] = '\u0644\u062E';
- t['\uFC42'] = '\u0644\u0645';
- t['\uFC43'] = '\u0644\u0649';
- t['\uFC44'] = '\u0644\u064A';
- t['\uFC45'] = '\u0645\u062C';
- t['\uFC46'] = '\u0645\u062D';
- t['\uFC47'] = '\u0645\u062E';
- t['\uFC48'] = '\u0645\u0645';
- t['\uFC49'] = '\u0645\u0649';
- t['\uFC4A'] = '\u0645\u064A';
- t['\uFC4B'] = '\u0646\u062C';
- t['\uFC4C'] = '\u0646\u062D';
- t['\uFC4D'] = '\u0646\u062E';
- t['\uFC4E'] = '\u0646\u0645';
- t['\uFC4F'] = '\u0646\u0649';
- t['\uFC50'] = '\u0646\u064A';
- t['\uFC51'] = '\u0647\u062C';
- t['\uFC52'] = '\u0647\u0645';
- t['\uFC53'] = '\u0647\u0649';
- t['\uFC54'] = '\u0647\u064A';
- t['\uFC55'] = '\u064A\u062C';
- t['\uFC56'] = '\u064A\u062D';
- t['\uFC57'] = '\u064A\u062E';
- t['\uFC58'] = '\u064A\u0645';
- t['\uFC59'] = '\u064A\u0649';
- t['\uFC5A'] = '\u064A\u064A';
- t['\uFC5B'] = '\u0630\u0670';
- t['\uFC5C'] = '\u0631\u0670';
- t['\uFC5D'] = '\u0649\u0670';
- t['\uFC5E'] = '\u0020\u064C\u0651';
- t['\uFC5F'] = '\u0020\u064D\u0651';
- t['\uFC60'] = '\u0020\u064E\u0651';
- t['\uFC61'] = '\u0020\u064F\u0651';
- t['\uFC62'] = '\u0020\u0650\u0651';
- t['\uFC63'] = '\u0020\u0651\u0670';
- t['\uFC64'] = '\u0626\u0631';
- t['\uFC65'] = '\u0626\u0632';
- t['\uFC66'] = '\u0626\u0645';
- t['\uFC67'] = '\u0626\u0646';
- t['\uFC68'] = '\u0626\u0649';
- t['\uFC69'] = '\u0626\u064A';
- t['\uFC6A'] = '\u0628\u0631';
- t['\uFC6B'] = '\u0628\u0632';
- t['\uFC6C'] = '\u0628\u0645';
- t['\uFC6D'] = '\u0628\u0646';
- t['\uFC6E'] = '\u0628\u0649';
- t['\uFC6F'] = '\u0628\u064A';
- t['\uFC70'] = '\u062A\u0631';
- t['\uFC71'] = '\u062A\u0632';
- t['\uFC72'] = '\u062A\u0645';
- t['\uFC73'] = '\u062A\u0646';
- t['\uFC74'] = '\u062A\u0649';
- t['\uFC75'] = '\u062A\u064A';
- t['\uFC76'] = '\u062B\u0631';
- t['\uFC77'] = '\u062B\u0632';
- t['\uFC78'] = '\u062B\u0645';
- t['\uFC79'] = '\u062B\u0646';
- t['\uFC7A'] = '\u062B\u0649';
- t['\uFC7B'] = '\u062B\u064A';
- t['\uFC7C'] = '\u0641\u0649';
- t['\uFC7D'] = '\u0641\u064A';
- t['\uFC7E'] = '\u0642\u0649';
- t['\uFC7F'] = '\u0642\u064A';
- t['\uFC80'] = '\u0643\u0627';
- t['\uFC81'] = '\u0643\u0644';
- t['\uFC82'] = '\u0643\u0645';
- t['\uFC83'] = '\u0643\u0649';
- t['\uFC84'] = '\u0643\u064A';
- t['\uFC85'] = '\u0644\u0645';
- t['\uFC86'] = '\u0644\u0649';
- t['\uFC87'] = '\u0644\u064A';
- t['\uFC88'] = '\u0645\u0627';
- t['\uFC89'] = '\u0645\u0645';
- t['\uFC8A'] = '\u0646\u0631';
- t['\uFC8B'] = '\u0646\u0632';
- t['\uFC8C'] = '\u0646\u0645';
- t['\uFC8D'] = '\u0646\u0646';
- t['\uFC8E'] = '\u0646\u0649';
- t['\uFC8F'] = '\u0646\u064A';
- t['\uFC90'] = '\u0649\u0670';
- t['\uFC91'] = '\u064A\u0631';
- t['\uFC92'] = '\u064A\u0632';
- t['\uFC93'] = '\u064A\u0645';
- t['\uFC94'] = '\u064A\u0646';
- t['\uFC95'] = '\u064A\u0649';
- t['\uFC96'] = '\u064A\u064A';
- t['\uFC97'] = '\u0626\u062C';
- t['\uFC98'] = '\u0626\u062D';
- t['\uFC99'] = '\u0626\u062E';
- t['\uFC9A'] = '\u0626\u0645';
- t['\uFC9B'] = '\u0626\u0647';
- t['\uFC9C'] = '\u0628\u062C';
- t['\uFC9D'] = '\u0628\u062D';
- t['\uFC9E'] = '\u0628\u062E';
- t['\uFC9F'] = '\u0628\u0645';
- t['\uFCA0'] = '\u0628\u0647';
- t['\uFCA1'] = '\u062A\u062C';
- t['\uFCA2'] = '\u062A\u062D';
- t['\uFCA3'] = '\u062A\u062E';
- t['\uFCA4'] = '\u062A\u0645';
- t['\uFCA5'] = '\u062A\u0647';
- t['\uFCA6'] = '\u062B\u0645';
- t['\uFCA7'] = '\u062C\u062D';
- t['\uFCA8'] = '\u062C\u0645';
- t['\uFCA9'] = '\u062D\u062C';
- t['\uFCAA'] = '\u062D\u0645';
- t['\uFCAB'] = '\u062E\u062C';
- t['\uFCAC'] = '\u062E\u0645';
- t['\uFCAD'] = '\u0633\u062C';
- t['\uFCAE'] = '\u0633\u062D';
- t['\uFCAF'] = '\u0633\u062E';
- t['\uFCB0'] = '\u0633\u0645';
- t['\uFCB1'] = '\u0635\u062D';
- t['\uFCB2'] = '\u0635\u062E';
- t['\uFCB3'] = '\u0635\u0645';
- t['\uFCB4'] = '\u0636\u062C';
- t['\uFCB5'] = '\u0636\u062D';
- t['\uFCB6'] = '\u0636\u062E';
- t['\uFCB7'] = '\u0636\u0645';
- t['\uFCB8'] = '\u0637\u062D';
- t['\uFCB9'] = '\u0638\u0645';
- t['\uFCBA'] = '\u0639\u062C';
- t['\uFCBB'] = '\u0639\u0645';
- t['\uFCBC'] = '\u063A\u062C';
- t['\uFCBD'] = '\u063A\u0645';
- t['\uFCBE'] = '\u0641\u062C';
- t['\uFCBF'] = '\u0641\u062D';
- t['\uFCC0'] = '\u0641\u062E';
- t['\uFCC1'] = '\u0641\u0645';
- t['\uFCC2'] = '\u0642\u062D';
- t['\uFCC3'] = '\u0642\u0645';
- t['\uFCC4'] = '\u0643\u062C';
- t['\uFCC5'] = '\u0643\u062D';
- t['\uFCC6'] = '\u0643\u062E';
- t['\uFCC7'] = '\u0643\u0644';
- t['\uFCC8'] = '\u0643\u0645';
- t['\uFCC9'] = '\u0644\u062C';
- t['\uFCCA'] = '\u0644\u062D';
- t['\uFCCB'] = '\u0644\u062E';
- t['\uFCCC'] = '\u0644\u0645';
- t['\uFCCD'] = '\u0644\u0647';
- t['\uFCCE'] = '\u0645\u062C';
- t['\uFCCF'] = '\u0645\u062D';
- t['\uFCD0'] = '\u0645\u062E';
- t['\uFCD1'] = '\u0645\u0645';
- t['\uFCD2'] = '\u0646\u062C';
- t['\uFCD3'] = '\u0646\u062D';
- t['\uFCD4'] = '\u0646\u062E';
- t['\uFCD5'] = '\u0646\u0645';
- t['\uFCD6'] = '\u0646\u0647';
- t['\uFCD7'] = '\u0647\u062C';
- t['\uFCD8'] = '\u0647\u0645';
- t['\uFCD9'] = '\u0647\u0670';
- t['\uFCDA'] = '\u064A\u062C';
- t['\uFCDB'] = '\u064A\u062D';
- t['\uFCDC'] = '\u064A\u062E';
- t['\uFCDD'] = '\u064A\u0645';
- t['\uFCDE'] = '\u064A\u0647';
- t['\uFCDF'] = '\u0626\u0645';
- t['\uFCE0'] = '\u0626\u0647';
- t['\uFCE1'] = '\u0628\u0645';
- t['\uFCE2'] = '\u0628\u0647';
- t['\uFCE3'] = '\u062A\u0645';
- t['\uFCE4'] = '\u062A\u0647';
- t['\uFCE5'] = '\u062B\u0645';
- t['\uFCE6'] = '\u062B\u0647';
- t['\uFCE7'] = '\u0633\u0645';
- t['\uFCE8'] = '\u0633\u0647';
- t['\uFCE9'] = '\u0634\u0645';
- t['\uFCEA'] = '\u0634\u0647';
- t['\uFCEB'] = '\u0643\u0644';
- t['\uFCEC'] = '\u0643\u0645';
- t['\uFCED'] = '\u0644\u0645';
- t['\uFCEE'] = '\u0646\u0645';
- t['\uFCEF'] = '\u0646\u0647';
- t['\uFCF0'] = '\u064A\u0645';
- t['\uFCF1'] = '\u064A\u0647';
- t['\uFCF2'] = '\u0640\u064E\u0651';
- t['\uFCF3'] = '\u0640\u064F\u0651';
- t['\uFCF4'] = '\u0640\u0650\u0651';
- t['\uFCF5'] = '\u0637\u0649';
- t['\uFCF6'] = '\u0637\u064A';
- t['\uFCF7'] = '\u0639\u0649';
- t['\uFCF8'] = '\u0639\u064A';
- t['\uFCF9'] = '\u063A\u0649';
- t['\uFCFA'] = '\u063A\u064A';
- t['\uFCFB'] = '\u0633\u0649';
- t['\uFCFC'] = '\u0633\u064A';
- t['\uFCFD'] = '\u0634\u0649';
- t['\uFCFE'] = '\u0634\u064A';
- t['\uFCFF'] = '\u062D\u0649';
- t['\uFD00'] = '\u062D\u064A';
- t['\uFD01'] = '\u062C\u0649';
- t['\uFD02'] = '\u062C\u064A';
- t['\uFD03'] = '\u062E\u0649';
- t['\uFD04'] = '\u062E\u064A';
- t['\uFD05'] = '\u0635\u0649';
- t['\uFD06'] = '\u0635\u064A';
- t['\uFD07'] = '\u0636\u0649';
- t['\uFD08'] = '\u0636\u064A';
- t['\uFD09'] = '\u0634\u062C';
- t['\uFD0A'] = '\u0634\u062D';
- t['\uFD0B'] = '\u0634\u062E';
- t['\uFD0C'] = '\u0634\u0645';
- t['\uFD0D'] = '\u0634\u0631';
- t['\uFD0E'] = '\u0633\u0631';
- t['\uFD0F'] = '\u0635\u0631';
- t['\uFD10'] = '\u0636\u0631';
- t['\uFD11'] = '\u0637\u0649';
- t['\uFD12'] = '\u0637\u064A';
- t['\uFD13'] = '\u0639\u0649';
- t['\uFD14'] = '\u0639\u064A';
- t['\uFD15'] = '\u063A\u0649';
- t['\uFD16'] = '\u063A\u064A';
- t['\uFD17'] = '\u0633\u0649';
- t['\uFD18'] = '\u0633\u064A';
- t['\uFD19'] = '\u0634\u0649';
- t['\uFD1A'] = '\u0634\u064A';
- t['\uFD1B'] = '\u062D\u0649';
- t['\uFD1C'] = '\u062D\u064A';
- t['\uFD1D'] = '\u062C\u0649';
- t['\uFD1E'] = '\u062C\u064A';
- t['\uFD1F'] = '\u062E\u0649';
- t['\uFD20'] = '\u062E\u064A';
- t['\uFD21'] = '\u0635\u0649';
- t['\uFD22'] = '\u0635\u064A';
- t['\uFD23'] = '\u0636\u0649';
- t['\uFD24'] = '\u0636\u064A';
- t['\uFD25'] = '\u0634\u062C';
- t['\uFD26'] = '\u0634\u062D';
- t['\uFD27'] = '\u0634\u062E';
- t['\uFD28'] = '\u0634\u0645';
- t['\uFD29'] = '\u0634\u0631';
- t['\uFD2A'] = '\u0633\u0631';
- t['\uFD2B'] = '\u0635\u0631';
- t['\uFD2C'] = '\u0636\u0631';
- t['\uFD2D'] = '\u0634\u062C';
- t['\uFD2E'] = '\u0634\u062D';
- t['\uFD2F'] = '\u0634\u062E';
- t['\uFD30'] = '\u0634\u0645';
- t['\uFD31'] = '\u0633\u0647';
- t['\uFD32'] = '\u0634\u0647';
- t['\uFD33'] = '\u0637\u0645';
- t['\uFD34'] = '\u0633\u062C';
- t['\uFD35'] = '\u0633\u062D';
- t['\uFD36'] = '\u0633\u062E';
- t['\uFD37'] = '\u0634\u062C';
- t['\uFD38'] = '\u0634\u062D';
- t['\uFD39'] = '\u0634\u062E';
- t['\uFD3A'] = '\u0637\u0645';
- t['\uFD3B'] = '\u0638\u0645';
- t['\uFD3C'] = '\u0627\u064B';
- t['\uFD3D'] = '\u0627\u064B';
- t['\uFD50'] = '\u062A\u062C\u0645';
- t['\uFD51'] = '\u062A\u062D\u062C';
- t['\uFD52'] = '\u062A\u062D\u062C';
- t['\uFD53'] = '\u062A\u062D\u0645';
- t['\uFD54'] = '\u062A\u062E\u0645';
- t['\uFD55'] = '\u062A\u0645\u062C';
- t['\uFD56'] = '\u062A\u0645\u062D';
- t['\uFD57'] = '\u062A\u0645\u062E';
- t['\uFD58'] = '\u062C\u0645\u062D';
- t['\uFD59'] = '\u062C\u0645\u062D';
- t['\uFD5A'] = '\u062D\u0645\u064A';
- t['\uFD5B'] = '\u062D\u0645\u0649';
- t['\uFD5C'] = '\u0633\u062D\u062C';
- t['\uFD5D'] = '\u0633\u062C\u062D';
- t['\uFD5E'] = '\u0633\u062C\u0649';
- t['\uFD5F'] = '\u0633\u0645\u062D';
- t['\uFD60'] = '\u0633\u0645\u062D';
- t['\uFD61'] = '\u0633\u0645\u062C';
- t['\uFD62'] = '\u0633\u0645\u0645';
- t['\uFD63'] = '\u0633\u0645\u0645';
- t['\uFD64'] = '\u0635\u062D\u062D';
- t['\uFD65'] = '\u0635\u062D\u062D';
- t['\uFD66'] = '\u0635\u0645\u0645';
- t['\uFD67'] = '\u0634\u062D\u0645';
- t['\uFD68'] = '\u0634\u062D\u0645';
- t['\uFD69'] = '\u0634\u062C\u064A';
- t['\uFD6A'] = '\u0634\u0645\u062E';
- t['\uFD6B'] = '\u0634\u0645\u062E';
- t['\uFD6C'] = '\u0634\u0645\u0645';
- t['\uFD6D'] = '\u0634\u0645\u0645';
- t['\uFD6E'] = '\u0636\u062D\u0649';
- t['\uFD6F'] = '\u0636\u062E\u0645';
- t['\uFD70'] = '\u0636\u062E\u0645';
- t['\uFD71'] = '\u0637\u0645\u062D';
- t['\uFD72'] = '\u0637\u0645\u062D';
- t['\uFD73'] = '\u0637\u0645\u0645';
- t['\uFD74'] = '\u0637\u0645\u064A';
- t['\uFD75'] = '\u0639\u062C\u0645';
- t['\uFD76'] = '\u0639\u0645\u0645';
- t['\uFD77'] = '\u0639\u0645\u0645';
- t['\uFD78'] = '\u0639\u0645\u0649';
- t['\uFD79'] = '\u063A\u0645\u0645';
- t['\uFD7A'] = '\u063A\u0645\u064A';
- t['\uFD7B'] = '\u063A\u0645\u0649';
- t['\uFD7C'] = '\u0641\u062E\u0645';
- t['\uFD7D'] = '\u0641\u062E\u0645';
- t['\uFD7E'] = '\u0642\u0645\u062D';
- t['\uFD7F'] = '\u0642\u0645\u0645';
- t['\uFD80'] = '\u0644\u062D\u0645';
- t['\uFD81'] = '\u0644\u062D\u064A';
- t['\uFD82'] = '\u0644\u062D\u0649';
- t['\uFD83'] = '\u0644\u062C\u062C';
- t['\uFD84'] = '\u0644\u062C\u062C';
- t['\uFD85'] = '\u0644\u062E\u0645';
- t['\uFD86'] = '\u0644\u062E\u0645';
- t['\uFD87'] = '\u0644\u0645\u062D';
- t['\uFD88'] = '\u0644\u0645\u062D';
- t['\uFD89'] = '\u0645\u062D\u062C';
- t['\uFD8A'] = '\u0645\u062D\u0645';
- t['\uFD8B'] = '\u0645\u062D\u064A';
- t['\uFD8C'] = '\u0645\u062C\u062D';
- t['\uFD8D'] = '\u0645\u062C\u0645';
- t['\uFD8E'] = '\u0645\u062E\u062C';
- t['\uFD8F'] = '\u0645\u062E\u0645';
- t['\uFD92'] = '\u0645\u062C\u062E';
- t['\uFD93'] = '\u0647\u0645\u062C';
- t['\uFD94'] = '\u0647\u0645\u0645';
- t['\uFD95'] = '\u0646\u062D\u0645';
- t['\uFD96'] = '\u0646\u062D\u0649';
- t['\uFD97'] = '\u0646\u062C\u0645';
- t['\uFD98'] = '\u0646\u062C\u0645';
- t['\uFD99'] = '\u0646\u062C\u0649';
- t['\uFD9A'] = '\u0646\u0645\u064A';
- t['\uFD9B'] = '\u0646\u0645\u0649';
- t['\uFD9C'] = '\u064A\u0645\u0645';
- t['\uFD9D'] = '\u064A\u0645\u0645';
- t['\uFD9E'] = '\u0628\u062E\u064A';
- t['\uFD9F'] = '\u062A\u062C\u064A';
- t['\uFDA0'] = '\u062A\u062C\u0649';
- t['\uFDA1'] = '\u062A\u062E\u064A';
- t['\uFDA2'] = '\u062A\u062E\u0649';
- t['\uFDA3'] = '\u062A\u0645\u064A';
- t['\uFDA4'] = '\u062A\u0645\u0649';
- t['\uFDA5'] = '\u062C\u0645\u064A';
- t['\uFDA6'] = '\u062C\u062D\u0649';
- t['\uFDA7'] = '\u062C\u0645\u0649';
- t['\uFDA8'] = '\u0633\u062E\u0649';
- t['\uFDA9'] = '\u0635\u062D\u064A';
- t['\uFDAA'] = '\u0634\u062D\u064A';
- t['\uFDAB'] = '\u0636\u062D\u064A';
- t['\uFDAC'] = '\u0644\u062C\u064A';
- t['\uFDAD'] = '\u0644\u0645\u064A';
- t['\uFDAE'] = '\u064A\u062D\u064A';
- t['\uFDAF'] = '\u064A\u062C\u064A';
- t['\uFDB0'] = '\u064A\u0645\u064A';
- t['\uFDB1'] = '\u0645\u0645\u064A';
- t['\uFDB2'] = '\u0642\u0645\u064A';
- t['\uFDB3'] = '\u0646\u062D\u064A';
- t['\uFDB4'] = '\u0642\u0645\u062D';
- t['\uFDB5'] = '\u0644\u062D\u0645';
- t['\uFDB6'] = '\u0639\u0645\u064A';
- t['\uFDB7'] = '\u0643\u0645\u064A';
- t['\uFDB8'] = '\u0646\u062C\u062D';
- t['\uFDB9'] = '\u0645\u062E\u064A';
- t['\uFDBA'] = '\u0644\u062C\u0645';
- t['\uFDBB'] = '\u0643\u0645\u0645';
- t['\uFDBC'] = '\u0644\u062C\u0645';
- t['\uFDBD'] = '\u0646\u062C\u062D';
- t['\uFDBE'] = '\u062C\u062D\u064A';
- t['\uFDBF'] = '\u062D\u062C\u064A';
- t['\uFDC0'] = '\u0645\u062C\u064A';
- t['\uFDC1'] = '\u0641\u0645\u064A';
- t['\uFDC2'] = '\u0628\u062D\u064A';
- t['\uFDC3'] = '\u0643\u0645\u0645';
- t['\uFDC4'] = '\u0639\u062C\u0645';
- t['\uFDC5'] = '\u0635\u0645\u0645';
- t['\uFDC6'] = '\u0633\u062E\u064A';
- t['\uFDC7'] = '\u0646\u062C\u064A';
- t['\uFE49'] = '\u203E';
- t['\uFE4A'] = '\u203E';
- t['\uFE4B'] = '\u203E';
- t['\uFE4C'] = '\u203E';
- t['\uFE4D'] = '\u005F';
- t['\uFE4E'] = '\u005F';
- t['\uFE4F'] = '\u005F';
- t['\uFE80'] = '\u0621';
- t['\uFE81'] = '\u0622';
- t['\uFE82'] = '\u0622';
- t['\uFE83'] = '\u0623';
- t['\uFE84'] = '\u0623';
- t['\uFE85'] = '\u0624';
- t['\uFE86'] = '\u0624';
- t['\uFE87'] = '\u0625';
- t['\uFE88'] = '\u0625';
- t['\uFE89'] = '\u0626';
- t['\uFE8A'] = '\u0626';
- t['\uFE8B'] = '\u0626';
- t['\uFE8C'] = '\u0626';
- t['\uFE8D'] = '\u0627';
- t['\uFE8E'] = '\u0627';
- t['\uFE8F'] = '\u0628';
- t['\uFE90'] = '\u0628';
- t['\uFE91'] = '\u0628';
- t['\uFE92'] = '\u0628';
- t['\uFE93'] = '\u0629';
- t['\uFE94'] = '\u0629';
- t['\uFE95'] = '\u062A';
- t['\uFE96'] = '\u062A';
- t['\uFE97'] = '\u062A';
- t['\uFE98'] = '\u062A';
- t['\uFE99'] = '\u062B';
- t['\uFE9A'] = '\u062B';
- t['\uFE9B'] = '\u062B';
- t['\uFE9C'] = '\u062B';
- t['\uFE9D'] = '\u062C';
- t['\uFE9E'] = '\u062C';
- t['\uFE9F'] = '\u062C';
- t['\uFEA0'] = '\u062C';
- t['\uFEA1'] = '\u062D';
- t['\uFEA2'] = '\u062D';
- t['\uFEA3'] = '\u062D';
- t['\uFEA4'] = '\u062D';
- t['\uFEA5'] = '\u062E';
- t['\uFEA6'] = '\u062E';
- t['\uFEA7'] = '\u062E';
- t['\uFEA8'] = '\u062E';
- t['\uFEA9'] = '\u062F';
- t['\uFEAA'] = '\u062F';
- t['\uFEAB'] = '\u0630';
- t['\uFEAC'] = '\u0630';
- t['\uFEAD'] = '\u0631';
- t['\uFEAE'] = '\u0631';
- t['\uFEAF'] = '\u0632';
- t['\uFEB0'] = '\u0632';
- t['\uFEB1'] = '\u0633';
- t['\uFEB2'] = '\u0633';
- t['\uFEB3'] = '\u0633';
- t['\uFEB4'] = '\u0633';
- t['\uFEB5'] = '\u0634';
- t['\uFEB6'] = '\u0634';
- t['\uFEB7'] = '\u0634';
- t['\uFEB8'] = '\u0634';
- t['\uFEB9'] = '\u0635';
- t['\uFEBA'] = '\u0635';
- t['\uFEBB'] = '\u0635';
- t['\uFEBC'] = '\u0635';
- t['\uFEBD'] = '\u0636';
- t['\uFEBE'] = '\u0636';
- t['\uFEBF'] = '\u0636';
- t['\uFEC0'] = '\u0636';
- t['\uFEC1'] = '\u0637';
- t['\uFEC2'] = '\u0637';
- t['\uFEC3'] = '\u0637';
- t['\uFEC4'] = '\u0637';
- t['\uFEC5'] = '\u0638';
- t['\uFEC6'] = '\u0638';
- t['\uFEC7'] = '\u0638';
- t['\uFEC8'] = '\u0638';
- t['\uFEC9'] = '\u0639';
- t['\uFECA'] = '\u0639';
- t['\uFECB'] = '\u0639';
- t['\uFECC'] = '\u0639';
- t['\uFECD'] = '\u063A';
- t['\uFECE'] = '\u063A';
- t['\uFECF'] = '\u063A';
- t['\uFED0'] = '\u063A';
- t['\uFED1'] = '\u0641';
- t['\uFED2'] = '\u0641';
- t['\uFED3'] = '\u0641';
- t['\uFED4'] = '\u0641';
- t['\uFED5'] = '\u0642';
- t['\uFED6'] = '\u0642';
- t['\uFED7'] = '\u0642';
- t['\uFED8'] = '\u0642';
- t['\uFED9'] = '\u0643';
- t['\uFEDA'] = '\u0643';
- t['\uFEDB'] = '\u0643';
- t['\uFEDC'] = '\u0643';
- t['\uFEDD'] = '\u0644';
- t['\uFEDE'] = '\u0644';
- t['\uFEDF'] = '\u0644';
- t['\uFEE0'] = '\u0644';
- t['\uFEE1'] = '\u0645';
- t['\uFEE2'] = '\u0645';
- t['\uFEE3'] = '\u0645';
- t['\uFEE4'] = '\u0645';
- t['\uFEE5'] = '\u0646';
- t['\uFEE6'] = '\u0646';
- t['\uFEE7'] = '\u0646';
- t['\uFEE8'] = '\u0646';
- t['\uFEE9'] = '\u0647';
- t['\uFEEA'] = '\u0647';
- t['\uFEEB'] = '\u0647';
- t['\uFEEC'] = '\u0647';
- t['\uFEED'] = '\u0648';
- t['\uFEEE'] = '\u0648';
- t['\uFEEF'] = '\u0649';
- t['\uFEF0'] = '\u0649';
- t['\uFEF1'] = '\u064A';
- t['\uFEF2'] = '\u064A';
- t['\uFEF3'] = '\u064A';
- t['\uFEF4'] = '\u064A';
- t['\uFEF5'] = '\u0644\u0622';
- t['\uFEF6'] = '\u0644\u0622';
- t['\uFEF7'] = '\u0644\u0623';
- t['\uFEF8'] = '\u0644\u0623';
- t['\uFEF9'] = '\u0644\u0625';
- t['\uFEFA'] = '\u0644\u0625';
- t['\uFEFB'] = '\u0644\u0627';
- t['\uFEFC'] = '\u0644\u0627';
+ t["\u00A8"] = "\u0020\u0308";
+ t["\u00AF"] = "\u0020\u0304";
+ t["\u00B4"] = "\u0020\u0301";
+ t["\u00B5"] = "\u03BC";
+ t["\u00B8"] = "\u0020\u0327";
+ t["\u0132"] = "\u0049\u004A";
+ t["\u0133"] = "\u0069\u006A";
+ t["\u013F"] = "\u004C\u00B7";
+ t["\u0140"] = "\u006C\u00B7";
+ t["\u0149"] = "\u02BC\u006E";
+ t["\u017F"] = "\u0073";
+ t["\u01C4"] = "\u0044\u017D";
+ t["\u01C5"] = "\u0044\u017E";
+ t["\u01C6"] = "\u0064\u017E";
+ t["\u01C7"] = "\u004C\u004A";
+ t["\u01C8"] = "\u004C\u006A";
+ t["\u01C9"] = "\u006C\u006A";
+ t["\u01CA"] = "\u004E\u004A";
+ t["\u01CB"] = "\u004E\u006A";
+ t["\u01CC"] = "\u006E\u006A";
+ t["\u01F1"] = "\u0044\u005A";
+ t["\u01F2"] = "\u0044\u007A";
+ t["\u01F3"] = "\u0064\u007A";
+ t["\u02D8"] = "\u0020\u0306";
+ t["\u02D9"] = "\u0020\u0307";
+ t["\u02DA"] = "\u0020\u030A";
+ t["\u02DB"] = "\u0020\u0328";
+ t["\u02DC"] = "\u0020\u0303";
+ t["\u02DD"] = "\u0020\u030B";
+ t["\u037A"] = "\u0020\u0345";
+ t["\u0384"] = "\u0020\u0301";
+ t["\u03D0"] = "\u03B2";
+ t["\u03D1"] = "\u03B8";
+ t["\u03D2"] = "\u03A5";
+ t["\u03D5"] = "\u03C6";
+ t["\u03D6"] = "\u03C0";
+ t["\u03F0"] = "\u03BA";
+ t["\u03F1"] = "\u03C1";
+ t["\u03F2"] = "\u03C2";
+ t["\u03F4"] = "\u0398";
+ t["\u03F5"] = "\u03B5";
+ t["\u03F9"] = "\u03A3";
+ t["\u0587"] = "\u0565\u0582";
+ t["\u0675"] = "\u0627\u0674";
+ t["\u0676"] = "\u0648\u0674";
+ t["\u0677"] = "\u06C7\u0674";
+ t["\u0678"] = "\u064A\u0674";
+ t["\u0E33"] = "\u0E4D\u0E32";
+ t["\u0EB3"] = "\u0ECD\u0EB2";
+ t["\u0EDC"] = "\u0EAB\u0E99";
+ t["\u0EDD"] = "\u0EAB\u0EA1";
+ t["\u0F77"] = "\u0FB2\u0F81";
+ t["\u0F79"] = "\u0FB3\u0F81";
+ t["\u1E9A"] = "\u0061\u02BE";
+ t["\u1FBD"] = "\u0020\u0313";
+ t["\u1FBF"] = "\u0020\u0313";
+ t["\u1FC0"] = "\u0020\u0342";
+ t["\u1FFE"] = "\u0020\u0314";
+ t["\u2002"] = "\u0020";
+ t["\u2003"] = "\u0020";
+ t["\u2004"] = "\u0020";
+ t["\u2005"] = "\u0020";
+ t["\u2006"] = "\u0020";
+ t["\u2008"] = "\u0020";
+ t["\u2009"] = "\u0020";
+ t["\u200A"] = "\u0020";
+ t["\u2017"] = "\u0020\u0333";
+ t["\u2024"] = "\u002E";
+ t["\u2025"] = "\u002E\u002E";
+ t["\u2026"] = "\u002E\u002E\u002E";
+ t["\u2033"] = "\u2032\u2032";
+ t["\u2034"] = "\u2032\u2032\u2032";
+ t["\u2036"] = "\u2035\u2035";
+ t["\u2037"] = "\u2035\u2035\u2035";
+ t["\u203C"] = "\u0021\u0021";
+ t["\u203E"] = "\u0020\u0305";
+ t["\u2047"] = "\u003F\u003F";
+ t["\u2048"] = "\u003F\u0021";
+ t["\u2049"] = "\u0021\u003F";
+ t["\u2057"] = "\u2032\u2032\u2032\u2032";
+ t["\u205F"] = "\u0020";
+ t["\u20A8"] = "\u0052\u0073";
+ t["\u2100"] = "\u0061\u002F\u0063";
+ t["\u2101"] = "\u0061\u002F\u0073";
+ t["\u2103"] = "\u00B0\u0043";
+ t["\u2105"] = "\u0063\u002F\u006F";
+ t["\u2106"] = "\u0063\u002F\u0075";
+ t["\u2107"] = "\u0190";
+ t["\u2109"] = "\u00B0\u0046";
+ t["\u2116"] = "\u004E\u006F";
+ t["\u2121"] = "\u0054\u0045\u004C";
+ t["\u2135"] = "\u05D0";
+ t["\u2136"] = "\u05D1";
+ t["\u2137"] = "\u05D2";
+ t["\u2138"] = "\u05D3";
+ t["\u213B"] = "\u0046\u0041\u0058";
+ t["\u2160"] = "\u0049";
+ t["\u2161"] = "\u0049\u0049";
+ t["\u2162"] = "\u0049\u0049\u0049";
+ t["\u2163"] = "\u0049\u0056";
+ t["\u2164"] = "\u0056";
+ t["\u2165"] = "\u0056\u0049";
+ t["\u2166"] = "\u0056\u0049\u0049";
+ t["\u2167"] = "\u0056\u0049\u0049\u0049";
+ t["\u2168"] = "\u0049\u0058";
+ t["\u2169"] = "\u0058";
+ t["\u216A"] = "\u0058\u0049";
+ t["\u216B"] = "\u0058\u0049\u0049";
+ t["\u216C"] = "\u004C";
+ t["\u216D"] = "\u0043";
+ t["\u216E"] = "\u0044";
+ t["\u216F"] = "\u004D";
+ t["\u2170"] = "\u0069";
+ t["\u2171"] = "\u0069\u0069";
+ t["\u2172"] = "\u0069\u0069\u0069";
+ t["\u2173"] = "\u0069\u0076";
+ t["\u2174"] = "\u0076";
+ t["\u2175"] = "\u0076\u0069";
+ t["\u2176"] = "\u0076\u0069\u0069";
+ t["\u2177"] = "\u0076\u0069\u0069\u0069";
+ t["\u2178"] = "\u0069\u0078";
+ t["\u2179"] = "\u0078";
+ t["\u217A"] = "\u0078\u0069";
+ t["\u217B"] = "\u0078\u0069\u0069";
+ t["\u217C"] = "\u006C";
+ t["\u217D"] = "\u0063";
+ t["\u217E"] = "\u0064";
+ t["\u217F"] = "\u006D";
+ t["\u222C"] = "\u222B\u222B";
+ t["\u222D"] = "\u222B\u222B\u222B";
+ t["\u222F"] = "\u222E\u222E";
+ t["\u2230"] = "\u222E\u222E\u222E";
+ t["\u2474"] = "\u0028\u0031\u0029";
+ t["\u2475"] = "\u0028\u0032\u0029";
+ t["\u2476"] = "\u0028\u0033\u0029";
+ t["\u2477"] = "\u0028\u0034\u0029";
+ t["\u2478"] = "\u0028\u0035\u0029";
+ t["\u2479"] = "\u0028\u0036\u0029";
+ t["\u247A"] = "\u0028\u0037\u0029";
+ t["\u247B"] = "\u0028\u0038\u0029";
+ t["\u247C"] = "\u0028\u0039\u0029";
+ t["\u247D"] = "\u0028\u0031\u0030\u0029";
+ t["\u247E"] = "\u0028\u0031\u0031\u0029";
+ t["\u247F"] = "\u0028\u0031\u0032\u0029";
+ t["\u2480"] = "\u0028\u0031\u0033\u0029";
+ t["\u2481"] = "\u0028\u0031\u0034\u0029";
+ t["\u2482"] = "\u0028\u0031\u0035\u0029";
+ t["\u2483"] = "\u0028\u0031\u0036\u0029";
+ t["\u2484"] = "\u0028\u0031\u0037\u0029";
+ t["\u2485"] = "\u0028\u0031\u0038\u0029";
+ t["\u2486"] = "\u0028\u0031\u0039\u0029";
+ t["\u2487"] = "\u0028\u0032\u0030\u0029";
+ t["\u2488"] = "\u0031\u002E";
+ t["\u2489"] = "\u0032\u002E";
+ t["\u248A"] = "\u0033\u002E";
+ t["\u248B"] = "\u0034\u002E";
+ t["\u248C"] = "\u0035\u002E";
+ t["\u248D"] = "\u0036\u002E";
+ t["\u248E"] = "\u0037\u002E";
+ t["\u248F"] = "\u0038\u002E";
+ t["\u2490"] = "\u0039\u002E";
+ t["\u2491"] = "\u0031\u0030\u002E";
+ t["\u2492"] = "\u0031\u0031\u002E";
+ t["\u2493"] = "\u0031\u0032\u002E";
+ t["\u2494"] = "\u0031\u0033\u002E";
+ t["\u2495"] = "\u0031\u0034\u002E";
+ t["\u2496"] = "\u0031\u0035\u002E";
+ t["\u2497"] = "\u0031\u0036\u002E";
+ t["\u2498"] = "\u0031\u0037\u002E";
+ t["\u2499"] = "\u0031\u0038\u002E";
+ t["\u249A"] = "\u0031\u0039\u002E";
+ t["\u249B"] = "\u0032\u0030\u002E";
+ t["\u249C"] = "\u0028\u0061\u0029";
+ t["\u249D"] = "\u0028\u0062\u0029";
+ t["\u249E"] = "\u0028\u0063\u0029";
+ t["\u249F"] = "\u0028\u0064\u0029";
+ t["\u24A0"] = "\u0028\u0065\u0029";
+ t["\u24A1"] = "\u0028\u0066\u0029";
+ t["\u24A2"] = "\u0028\u0067\u0029";
+ t["\u24A3"] = "\u0028\u0068\u0029";
+ t["\u24A4"] = "\u0028\u0069\u0029";
+ t["\u24A5"] = "\u0028\u006A\u0029";
+ t["\u24A6"] = "\u0028\u006B\u0029";
+ t["\u24A7"] = "\u0028\u006C\u0029";
+ t["\u24A8"] = "\u0028\u006D\u0029";
+ t["\u24A9"] = "\u0028\u006E\u0029";
+ t["\u24AA"] = "\u0028\u006F\u0029";
+ t["\u24AB"] = "\u0028\u0070\u0029";
+ t["\u24AC"] = "\u0028\u0071\u0029";
+ t["\u24AD"] = "\u0028\u0072\u0029";
+ t["\u24AE"] = "\u0028\u0073\u0029";
+ t["\u24AF"] = "\u0028\u0074\u0029";
+ t["\u24B0"] = "\u0028\u0075\u0029";
+ t["\u24B1"] = "\u0028\u0076\u0029";
+ t["\u24B2"] = "\u0028\u0077\u0029";
+ t["\u24B3"] = "\u0028\u0078\u0029";
+ t["\u24B4"] = "\u0028\u0079\u0029";
+ t["\u24B5"] = "\u0028\u007A\u0029";
+ t["\u2A0C"] = "\u222B\u222B\u222B\u222B";
+ t["\u2A74"] = "\u003A\u003A\u003D";
+ t["\u2A75"] = "\u003D\u003D";
+ t["\u2A76"] = "\u003D\u003D\u003D";
+ t["\u2E9F"] = "\u6BCD";
+ t["\u2EF3"] = "\u9F9F";
+ t["\u2F00"] = "\u4E00";
+ t["\u2F01"] = "\u4E28";
+ t["\u2F02"] = "\u4E36";
+ t["\u2F03"] = "\u4E3F";
+ t["\u2F04"] = "\u4E59";
+ t["\u2F05"] = "\u4E85";
+ t["\u2F06"] = "\u4E8C";
+ t["\u2F07"] = "\u4EA0";
+ t["\u2F08"] = "\u4EBA";
+ t["\u2F09"] = "\u513F";
+ t["\u2F0A"] = "\u5165";
+ t["\u2F0B"] = "\u516B";
+ t["\u2F0C"] = "\u5182";
+ t["\u2F0D"] = "\u5196";
+ t["\u2F0E"] = "\u51AB";
+ t["\u2F0F"] = "\u51E0";
+ t["\u2F10"] = "\u51F5";
+ t["\u2F11"] = "\u5200";
+ t["\u2F12"] = "\u529B";
+ t["\u2F13"] = "\u52F9";
+ t["\u2F14"] = "\u5315";
+ t["\u2F15"] = "\u531A";
+ t["\u2F16"] = "\u5338";
+ t["\u2F17"] = "\u5341";
+ t["\u2F18"] = "\u535C";
+ t["\u2F19"] = "\u5369";
+ t["\u2F1A"] = "\u5382";
+ t["\u2F1B"] = "\u53B6";
+ t["\u2F1C"] = "\u53C8";
+ t["\u2F1D"] = "\u53E3";
+ t["\u2F1E"] = "\u56D7";
+ t["\u2F1F"] = "\u571F";
+ t["\u2F20"] = "\u58EB";
+ t["\u2F21"] = "\u5902";
+ t["\u2F22"] = "\u590A";
+ t["\u2F23"] = "\u5915";
+ t["\u2F24"] = "\u5927";
+ t["\u2F25"] = "\u5973";
+ t["\u2F26"] = "\u5B50";
+ t["\u2F27"] = "\u5B80";
+ t["\u2F28"] = "\u5BF8";
+ t["\u2F29"] = "\u5C0F";
+ t["\u2F2A"] = "\u5C22";
+ t["\u2F2B"] = "\u5C38";
+ t["\u2F2C"] = "\u5C6E";
+ t["\u2F2D"] = "\u5C71";
+ t["\u2F2E"] = "\u5DDB";
+ t["\u2F2F"] = "\u5DE5";
+ t["\u2F30"] = "\u5DF1";
+ t["\u2F31"] = "\u5DFE";
+ t["\u2F32"] = "\u5E72";
+ t["\u2F33"] = "\u5E7A";
+ t["\u2F34"] = "\u5E7F";
+ t["\u2F35"] = "\u5EF4";
+ t["\u2F36"] = "\u5EFE";
+ t["\u2F37"] = "\u5F0B";
+ t["\u2F38"] = "\u5F13";
+ t["\u2F39"] = "\u5F50";
+ t["\u2F3A"] = "\u5F61";
+ t["\u2F3B"] = "\u5F73";
+ t["\u2F3C"] = "\u5FC3";
+ t["\u2F3D"] = "\u6208";
+ t["\u2F3E"] = "\u6236";
+ t["\u2F3F"] = "\u624B";
+ t["\u2F40"] = "\u652F";
+ t["\u2F41"] = "\u6534";
+ t["\u2F42"] = "\u6587";
+ t["\u2F43"] = "\u6597";
+ t["\u2F44"] = "\u65A4";
+ t["\u2F45"] = "\u65B9";
+ t["\u2F46"] = "\u65E0";
+ t["\u2F47"] = "\u65E5";
+ t["\u2F48"] = "\u66F0";
+ t["\u2F49"] = "\u6708";
+ t["\u2F4A"] = "\u6728";
+ t["\u2F4B"] = "\u6B20";
+ t["\u2F4C"] = "\u6B62";
+ t["\u2F4D"] = "\u6B79";
+ t["\u2F4E"] = "\u6BB3";
+ t["\u2F4F"] = "\u6BCB";
+ t["\u2F50"] = "\u6BD4";
+ t["\u2F51"] = "\u6BDB";
+ t["\u2F52"] = "\u6C0F";
+ t["\u2F53"] = "\u6C14";
+ t["\u2F54"] = "\u6C34";
+ t["\u2F55"] = "\u706B";
+ t["\u2F56"] = "\u722A";
+ t["\u2F57"] = "\u7236";
+ t["\u2F58"] = "\u723B";
+ t["\u2F59"] = "\u723F";
+ t["\u2F5A"] = "\u7247";
+ t["\u2F5B"] = "\u7259";
+ t["\u2F5C"] = "\u725B";
+ t["\u2F5D"] = "\u72AC";
+ t["\u2F5E"] = "\u7384";
+ t["\u2F5F"] = "\u7389";
+ t["\u2F60"] = "\u74DC";
+ t["\u2F61"] = "\u74E6";
+ t["\u2F62"] = "\u7518";
+ t["\u2F63"] = "\u751F";
+ t["\u2F64"] = "\u7528";
+ t["\u2F65"] = "\u7530";
+ t["\u2F66"] = "\u758B";
+ t["\u2F67"] = "\u7592";
+ t["\u2F68"] = "\u7676";
+ t["\u2F69"] = "\u767D";
+ t["\u2F6A"] = "\u76AE";
+ t["\u2F6B"] = "\u76BF";
+ t["\u2F6C"] = "\u76EE";
+ t["\u2F6D"] = "\u77DB";
+ t["\u2F6E"] = "\u77E2";
+ t["\u2F6F"] = "\u77F3";
+ t["\u2F70"] = "\u793A";
+ t["\u2F71"] = "\u79B8";
+ t["\u2F72"] = "\u79BE";
+ t["\u2F73"] = "\u7A74";
+ t["\u2F74"] = "\u7ACB";
+ t["\u2F75"] = "\u7AF9";
+ t["\u2F76"] = "\u7C73";
+ t["\u2F77"] = "\u7CF8";
+ t["\u2F78"] = "\u7F36";
+ t["\u2F79"] = "\u7F51";
+ t["\u2F7A"] = "\u7F8A";
+ t["\u2F7B"] = "\u7FBD";
+ t["\u2F7C"] = "\u8001";
+ t["\u2F7D"] = "\u800C";
+ t["\u2F7E"] = "\u8012";
+ t["\u2F7F"] = "\u8033";
+ t["\u2F80"] = "\u807F";
+ t["\u2F81"] = "\u8089";
+ t["\u2F82"] = "\u81E3";
+ t["\u2F83"] = "\u81EA";
+ t["\u2F84"] = "\u81F3";
+ t["\u2F85"] = "\u81FC";
+ t["\u2F86"] = "\u820C";
+ t["\u2F87"] = "\u821B";
+ t["\u2F88"] = "\u821F";
+ t["\u2F89"] = "\u826E";
+ t["\u2F8A"] = "\u8272";
+ t["\u2F8B"] = "\u8278";
+ t["\u2F8C"] = "\u864D";
+ t["\u2F8D"] = "\u866B";
+ t["\u2F8E"] = "\u8840";
+ t["\u2F8F"] = "\u884C";
+ t["\u2F90"] = "\u8863";
+ t["\u2F91"] = "\u897E";
+ t["\u2F92"] = "\u898B";
+ t["\u2F93"] = "\u89D2";
+ t["\u2F94"] = "\u8A00";
+ t["\u2F95"] = "\u8C37";
+ t["\u2F96"] = "\u8C46";
+ t["\u2F97"] = "\u8C55";
+ t["\u2F98"] = "\u8C78";
+ t["\u2F99"] = "\u8C9D";
+ t["\u2F9A"] = "\u8D64";
+ t["\u2F9B"] = "\u8D70";
+ t["\u2F9C"] = "\u8DB3";
+ t["\u2F9D"] = "\u8EAB";
+ t["\u2F9E"] = "\u8ECA";
+ t["\u2F9F"] = "\u8F9B";
+ t["\u2FA0"] = "\u8FB0";
+ t["\u2FA1"] = "\u8FB5";
+ t["\u2FA2"] = "\u9091";
+ t["\u2FA3"] = "\u9149";
+ t["\u2FA4"] = "\u91C6";
+ t["\u2FA5"] = "\u91CC";
+ t["\u2FA6"] = "\u91D1";
+ t["\u2FA7"] = "\u9577";
+ t["\u2FA8"] = "\u9580";
+ t["\u2FA9"] = "\u961C";
+ t["\u2FAA"] = "\u96B6";
+ t["\u2FAB"] = "\u96B9";
+ t["\u2FAC"] = "\u96E8";
+ t["\u2FAD"] = "\u9751";
+ t["\u2FAE"] = "\u975E";
+ t["\u2FAF"] = "\u9762";
+ t["\u2FB0"] = "\u9769";
+ t["\u2FB1"] = "\u97CB";
+ t["\u2FB2"] = "\u97ED";
+ t["\u2FB3"] = "\u97F3";
+ t["\u2FB4"] = "\u9801";
+ t["\u2FB5"] = "\u98A8";
+ t["\u2FB6"] = "\u98DB";
+ t["\u2FB7"] = "\u98DF";
+ t["\u2FB8"] = "\u9996";
+ t["\u2FB9"] = "\u9999";
+ t["\u2FBA"] = "\u99AC";
+ t["\u2FBB"] = "\u9AA8";
+ t["\u2FBC"] = "\u9AD8";
+ t["\u2FBD"] = "\u9ADF";
+ t["\u2FBE"] = "\u9B25";
+ t["\u2FBF"] = "\u9B2F";
+ t["\u2FC0"] = "\u9B32";
+ t["\u2FC1"] = "\u9B3C";
+ t["\u2FC2"] = "\u9B5A";
+ t["\u2FC3"] = "\u9CE5";
+ t["\u2FC4"] = "\u9E75";
+ t["\u2FC5"] = "\u9E7F";
+ t["\u2FC6"] = "\u9EA5";
+ t["\u2FC7"] = "\u9EBB";
+ t["\u2FC8"] = "\u9EC3";
+ t["\u2FC9"] = "\u9ECD";
+ t["\u2FCA"] = "\u9ED1";
+ t["\u2FCB"] = "\u9EF9";
+ t["\u2FCC"] = "\u9EFD";
+ t["\u2FCD"] = "\u9F0E";
+ t["\u2FCE"] = "\u9F13";
+ t["\u2FCF"] = "\u9F20";
+ t["\u2FD0"] = "\u9F3B";
+ t["\u2FD1"] = "\u9F4A";
+ t["\u2FD2"] = "\u9F52";
+ t["\u2FD3"] = "\u9F8D";
+ t["\u2FD4"] = "\u9F9C";
+ t["\u2FD5"] = "\u9FA0";
+ t["\u3036"] = "\u3012";
+ t["\u3038"] = "\u5341";
+ t["\u3039"] = "\u5344";
+ t["\u303A"] = "\u5345";
+ t["\u309B"] = "\u0020\u3099";
+ t["\u309C"] = "\u0020\u309A";
+ t["\u3131"] = "\u1100";
+ t["\u3132"] = "\u1101";
+ t["\u3133"] = "\u11AA";
+ t["\u3134"] = "\u1102";
+ t["\u3135"] = "\u11AC";
+ t["\u3136"] = "\u11AD";
+ t["\u3137"] = "\u1103";
+ t["\u3138"] = "\u1104";
+ t["\u3139"] = "\u1105";
+ t["\u313A"] = "\u11B0";
+ t["\u313B"] = "\u11B1";
+ t["\u313C"] = "\u11B2";
+ t["\u313D"] = "\u11B3";
+ t["\u313E"] = "\u11B4";
+ t["\u313F"] = "\u11B5";
+ t["\u3140"] = "\u111A";
+ t["\u3141"] = "\u1106";
+ t["\u3142"] = "\u1107";
+ t["\u3143"] = "\u1108";
+ t["\u3144"] = "\u1121";
+ t["\u3145"] = "\u1109";
+ t["\u3146"] = "\u110A";
+ t["\u3147"] = "\u110B";
+ t["\u3148"] = "\u110C";
+ t["\u3149"] = "\u110D";
+ t["\u314A"] = "\u110E";
+ t["\u314B"] = "\u110F";
+ t["\u314C"] = "\u1110";
+ t["\u314D"] = "\u1111";
+ t["\u314E"] = "\u1112";
+ t["\u314F"] = "\u1161";
+ t["\u3150"] = "\u1162";
+ t["\u3151"] = "\u1163";
+ t["\u3152"] = "\u1164";
+ t["\u3153"] = "\u1165";
+ t["\u3154"] = "\u1166";
+ t["\u3155"] = "\u1167";
+ t["\u3156"] = "\u1168";
+ t["\u3157"] = "\u1169";
+ t["\u3158"] = "\u116A";
+ t["\u3159"] = "\u116B";
+ t["\u315A"] = "\u116C";
+ t["\u315B"] = "\u116D";
+ t["\u315C"] = "\u116E";
+ t["\u315D"] = "\u116F";
+ t["\u315E"] = "\u1170";
+ t["\u315F"] = "\u1171";
+ t["\u3160"] = "\u1172";
+ t["\u3161"] = "\u1173";
+ t["\u3162"] = "\u1174";
+ t["\u3163"] = "\u1175";
+ t["\u3164"] = "\u1160";
+ t["\u3165"] = "\u1114";
+ t["\u3166"] = "\u1115";
+ t["\u3167"] = "\u11C7";
+ t["\u3168"] = "\u11C8";
+ t["\u3169"] = "\u11CC";
+ t["\u316A"] = "\u11CE";
+ t["\u316B"] = "\u11D3";
+ t["\u316C"] = "\u11D7";
+ t["\u316D"] = "\u11D9";
+ t["\u316E"] = "\u111C";
+ t["\u316F"] = "\u11DD";
+ t["\u3170"] = "\u11DF";
+ t["\u3171"] = "\u111D";
+ t["\u3172"] = "\u111E";
+ t["\u3173"] = "\u1120";
+ t["\u3174"] = "\u1122";
+ t["\u3175"] = "\u1123";
+ t["\u3176"] = "\u1127";
+ t["\u3177"] = "\u1129";
+ t["\u3178"] = "\u112B";
+ t["\u3179"] = "\u112C";
+ t["\u317A"] = "\u112D";
+ t["\u317B"] = "\u112E";
+ t["\u317C"] = "\u112F";
+ t["\u317D"] = "\u1132";
+ t["\u317E"] = "\u1136";
+ t["\u317F"] = "\u1140";
+ t["\u3180"] = "\u1147";
+ t["\u3181"] = "\u114C";
+ t["\u3182"] = "\u11F1";
+ t["\u3183"] = "\u11F2";
+ t["\u3184"] = "\u1157";
+ t["\u3185"] = "\u1158";
+ t["\u3186"] = "\u1159";
+ t["\u3187"] = "\u1184";
+ t["\u3188"] = "\u1185";
+ t["\u3189"] = "\u1188";
+ t["\u318A"] = "\u1191";
+ t["\u318B"] = "\u1192";
+ t["\u318C"] = "\u1194";
+ t["\u318D"] = "\u119E";
+ t["\u318E"] = "\u11A1";
+ t["\u3200"] = "\u0028\u1100\u0029";
+ t["\u3201"] = "\u0028\u1102\u0029";
+ t["\u3202"] = "\u0028\u1103\u0029";
+ t["\u3203"] = "\u0028\u1105\u0029";
+ t["\u3204"] = "\u0028\u1106\u0029";
+ t["\u3205"] = "\u0028\u1107\u0029";
+ t["\u3206"] = "\u0028\u1109\u0029";
+ t["\u3207"] = "\u0028\u110B\u0029";
+ t["\u3208"] = "\u0028\u110C\u0029";
+ t["\u3209"] = "\u0028\u110E\u0029";
+ t["\u320A"] = "\u0028\u110F\u0029";
+ t["\u320B"] = "\u0028\u1110\u0029";
+ t["\u320C"] = "\u0028\u1111\u0029";
+ t["\u320D"] = "\u0028\u1112\u0029";
+ t["\u320E"] = "\u0028\u1100\u1161\u0029";
+ t["\u320F"] = "\u0028\u1102\u1161\u0029";
+ t["\u3210"] = "\u0028\u1103\u1161\u0029";
+ t["\u3211"] = "\u0028\u1105\u1161\u0029";
+ t["\u3212"] = "\u0028\u1106\u1161\u0029";
+ t["\u3213"] = "\u0028\u1107\u1161\u0029";
+ t["\u3214"] = "\u0028\u1109\u1161\u0029";
+ t["\u3215"] = "\u0028\u110B\u1161\u0029";
+ t["\u3216"] = "\u0028\u110C\u1161\u0029";
+ t["\u3217"] = "\u0028\u110E\u1161\u0029";
+ t["\u3218"] = "\u0028\u110F\u1161\u0029";
+ t["\u3219"] = "\u0028\u1110\u1161\u0029";
+ t["\u321A"] = "\u0028\u1111\u1161\u0029";
+ t["\u321B"] = "\u0028\u1112\u1161\u0029";
+ t["\u321C"] = "\u0028\u110C\u116E\u0029";
+ t["\u321D"] = "\u0028\u110B\u1169\u110C\u1165\u11AB\u0029";
+ t["\u321E"] = "\u0028\u110B\u1169\u1112\u116E\u0029";
+ t["\u3220"] = "\u0028\u4E00\u0029";
+ t["\u3221"] = "\u0028\u4E8C\u0029";
+ t["\u3222"] = "\u0028\u4E09\u0029";
+ t["\u3223"] = "\u0028\u56DB\u0029";
+ t["\u3224"] = "\u0028\u4E94\u0029";
+ t["\u3225"] = "\u0028\u516D\u0029";
+ t["\u3226"] = "\u0028\u4E03\u0029";
+ t["\u3227"] = "\u0028\u516B\u0029";
+ t["\u3228"] = "\u0028\u4E5D\u0029";
+ t["\u3229"] = "\u0028\u5341\u0029";
+ t["\u322A"] = "\u0028\u6708\u0029";
+ t["\u322B"] = "\u0028\u706B\u0029";
+ t["\u322C"] = "\u0028\u6C34\u0029";
+ t["\u322D"] = "\u0028\u6728\u0029";
+ t["\u322E"] = "\u0028\u91D1\u0029";
+ t["\u322F"] = "\u0028\u571F\u0029";
+ t["\u3230"] = "\u0028\u65E5\u0029";
+ t["\u3231"] = "\u0028\u682A\u0029";
+ t["\u3232"] = "\u0028\u6709\u0029";
+ t["\u3233"] = "\u0028\u793E\u0029";
+ t["\u3234"] = "\u0028\u540D\u0029";
+ t["\u3235"] = "\u0028\u7279\u0029";
+ t["\u3236"] = "\u0028\u8CA1\u0029";
+ t["\u3237"] = "\u0028\u795D\u0029";
+ t["\u3238"] = "\u0028\u52B4\u0029";
+ t["\u3239"] = "\u0028\u4EE3\u0029";
+ t["\u323A"] = "\u0028\u547C\u0029";
+ t["\u323B"] = "\u0028\u5B66\u0029";
+ t["\u323C"] = "\u0028\u76E3\u0029";
+ t["\u323D"] = "\u0028\u4F01\u0029";
+ t["\u323E"] = "\u0028\u8CC7\u0029";
+ t["\u323F"] = "\u0028\u5354\u0029";
+ t["\u3240"] = "\u0028\u796D\u0029";
+ t["\u3241"] = "\u0028\u4F11\u0029";
+ t["\u3242"] = "\u0028\u81EA\u0029";
+ t["\u3243"] = "\u0028\u81F3\u0029";
+ t["\u32C0"] = "\u0031\u6708";
+ t["\u32C1"] = "\u0032\u6708";
+ t["\u32C2"] = "\u0033\u6708";
+ t["\u32C3"] = "\u0034\u6708";
+ t["\u32C4"] = "\u0035\u6708";
+ t["\u32C5"] = "\u0036\u6708";
+ t["\u32C6"] = "\u0037\u6708";
+ t["\u32C7"] = "\u0038\u6708";
+ t["\u32C8"] = "\u0039\u6708";
+ t["\u32C9"] = "\u0031\u0030\u6708";
+ t["\u32CA"] = "\u0031\u0031\u6708";
+ t["\u32CB"] = "\u0031\u0032\u6708";
+ t["\u3358"] = "\u0030\u70B9";
+ t["\u3359"] = "\u0031\u70B9";
+ t["\u335A"] = "\u0032\u70B9";
+ t["\u335B"] = "\u0033\u70B9";
+ t["\u335C"] = "\u0034\u70B9";
+ t["\u335D"] = "\u0035\u70B9";
+ t["\u335E"] = "\u0036\u70B9";
+ t["\u335F"] = "\u0037\u70B9";
+ t["\u3360"] = "\u0038\u70B9";
+ t["\u3361"] = "\u0039\u70B9";
+ t["\u3362"] = "\u0031\u0030\u70B9";
+ t["\u3363"] = "\u0031\u0031\u70B9";
+ t["\u3364"] = "\u0031\u0032\u70B9";
+ t["\u3365"] = "\u0031\u0033\u70B9";
+ t["\u3366"] = "\u0031\u0034\u70B9";
+ t["\u3367"] = "\u0031\u0035\u70B9";
+ t["\u3368"] = "\u0031\u0036\u70B9";
+ t["\u3369"] = "\u0031\u0037\u70B9";
+ t["\u336A"] = "\u0031\u0038\u70B9";
+ t["\u336B"] = "\u0031\u0039\u70B9";
+ t["\u336C"] = "\u0032\u0030\u70B9";
+ t["\u336D"] = "\u0032\u0031\u70B9";
+ t["\u336E"] = "\u0032\u0032\u70B9";
+ t["\u336F"] = "\u0032\u0033\u70B9";
+ t["\u3370"] = "\u0032\u0034\u70B9";
+ t["\u33E0"] = "\u0031\u65E5";
+ t["\u33E1"] = "\u0032\u65E5";
+ t["\u33E2"] = "\u0033\u65E5";
+ t["\u33E3"] = "\u0034\u65E5";
+ t["\u33E4"] = "\u0035\u65E5";
+ t["\u33E5"] = "\u0036\u65E5";
+ t["\u33E6"] = "\u0037\u65E5";
+ t["\u33E7"] = "\u0038\u65E5";
+ t["\u33E8"] = "\u0039\u65E5";
+ t["\u33E9"] = "\u0031\u0030\u65E5";
+ t["\u33EA"] = "\u0031\u0031\u65E5";
+ t["\u33EB"] = "\u0031\u0032\u65E5";
+ t["\u33EC"] = "\u0031\u0033\u65E5";
+ t["\u33ED"] = "\u0031\u0034\u65E5";
+ t["\u33EE"] = "\u0031\u0035\u65E5";
+ t["\u33EF"] = "\u0031\u0036\u65E5";
+ t["\u33F0"] = "\u0031\u0037\u65E5";
+ t["\u33F1"] = "\u0031\u0038\u65E5";
+ t["\u33F2"] = "\u0031\u0039\u65E5";
+ t["\u33F3"] = "\u0032\u0030\u65E5";
+ t["\u33F4"] = "\u0032\u0031\u65E5";
+ t["\u33F5"] = "\u0032\u0032\u65E5";
+ t["\u33F6"] = "\u0032\u0033\u65E5";
+ t["\u33F7"] = "\u0032\u0034\u65E5";
+ t["\u33F8"] = "\u0032\u0035\u65E5";
+ t["\u33F9"] = "\u0032\u0036\u65E5";
+ t["\u33FA"] = "\u0032\u0037\u65E5";
+ t["\u33FB"] = "\u0032\u0038\u65E5";
+ t["\u33FC"] = "\u0032\u0039\u65E5";
+ t["\u33FD"] = "\u0033\u0030\u65E5";
+ t["\u33FE"] = "\u0033\u0031\u65E5";
+ t["\uFB00"] = "\u0066\u0066";
+ t["\uFB01"] = "\u0066\u0069";
+ t["\uFB02"] = "\u0066\u006C";
+ t["\uFB03"] = "\u0066\u0066\u0069";
+ t["\uFB04"] = "\u0066\u0066\u006C";
+ t["\uFB05"] = "\u017F\u0074";
+ t["\uFB06"] = "\u0073\u0074";
+ t["\uFB13"] = "\u0574\u0576";
+ t["\uFB14"] = "\u0574\u0565";
+ t["\uFB15"] = "\u0574\u056B";
+ t["\uFB16"] = "\u057E\u0576";
+ t["\uFB17"] = "\u0574\u056D";
+ t["\uFB4F"] = "\u05D0\u05DC";
+ t["\uFB50"] = "\u0671";
+ t["\uFB51"] = "\u0671";
+ t["\uFB52"] = "\u067B";
+ t["\uFB53"] = "\u067B";
+ t["\uFB54"] = "\u067B";
+ t["\uFB55"] = "\u067B";
+ t["\uFB56"] = "\u067E";
+ t["\uFB57"] = "\u067E";
+ t["\uFB58"] = "\u067E";
+ t["\uFB59"] = "\u067E";
+ t["\uFB5A"] = "\u0680";
+ t["\uFB5B"] = "\u0680";
+ t["\uFB5C"] = "\u0680";
+ t["\uFB5D"] = "\u0680";
+ t["\uFB5E"] = "\u067A";
+ t["\uFB5F"] = "\u067A";
+ t["\uFB60"] = "\u067A";
+ t["\uFB61"] = "\u067A";
+ t["\uFB62"] = "\u067F";
+ t["\uFB63"] = "\u067F";
+ t["\uFB64"] = "\u067F";
+ t["\uFB65"] = "\u067F";
+ t["\uFB66"] = "\u0679";
+ t["\uFB67"] = "\u0679";
+ t["\uFB68"] = "\u0679";
+ t["\uFB69"] = "\u0679";
+ t["\uFB6A"] = "\u06A4";
+ t["\uFB6B"] = "\u06A4";
+ t["\uFB6C"] = "\u06A4";
+ t["\uFB6D"] = "\u06A4";
+ t["\uFB6E"] = "\u06A6";
+ t["\uFB6F"] = "\u06A6";
+ t["\uFB70"] = "\u06A6";
+ t["\uFB71"] = "\u06A6";
+ t["\uFB72"] = "\u0684";
+ t["\uFB73"] = "\u0684";
+ t["\uFB74"] = "\u0684";
+ t["\uFB75"] = "\u0684";
+ t["\uFB76"] = "\u0683";
+ t["\uFB77"] = "\u0683";
+ t["\uFB78"] = "\u0683";
+ t["\uFB79"] = "\u0683";
+ t["\uFB7A"] = "\u0686";
+ t["\uFB7B"] = "\u0686";
+ t["\uFB7C"] = "\u0686";
+ t["\uFB7D"] = "\u0686";
+ t["\uFB7E"] = "\u0687";
+ t["\uFB7F"] = "\u0687";
+ t["\uFB80"] = "\u0687";
+ t["\uFB81"] = "\u0687";
+ t["\uFB82"] = "\u068D";
+ t["\uFB83"] = "\u068D";
+ t["\uFB84"] = "\u068C";
+ t["\uFB85"] = "\u068C";
+ t["\uFB86"] = "\u068E";
+ t["\uFB87"] = "\u068E";
+ t["\uFB88"] = "\u0688";
+ t["\uFB89"] = "\u0688";
+ t["\uFB8A"] = "\u0698";
+ t["\uFB8B"] = "\u0698";
+ t["\uFB8C"] = "\u0691";
+ t["\uFB8D"] = "\u0691";
+ t["\uFB8E"] = "\u06A9";
+ t["\uFB8F"] = "\u06A9";
+ t["\uFB90"] = "\u06A9";
+ t["\uFB91"] = "\u06A9";
+ t["\uFB92"] = "\u06AF";
+ t["\uFB93"] = "\u06AF";
+ t["\uFB94"] = "\u06AF";
+ t["\uFB95"] = "\u06AF";
+ t["\uFB96"] = "\u06B3";
+ t["\uFB97"] = "\u06B3";
+ t["\uFB98"] = "\u06B3";
+ t["\uFB99"] = "\u06B3";
+ t["\uFB9A"] = "\u06B1";
+ t["\uFB9B"] = "\u06B1";
+ t["\uFB9C"] = "\u06B1";
+ t["\uFB9D"] = "\u06B1";
+ t["\uFB9E"] = "\u06BA";
+ t["\uFB9F"] = "\u06BA";
+ t["\uFBA0"] = "\u06BB";
+ t["\uFBA1"] = "\u06BB";
+ t["\uFBA2"] = "\u06BB";
+ t["\uFBA3"] = "\u06BB";
+ t["\uFBA4"] = "\u06C0";
+ t["\uFBA5"] = "\u06C0";
+ t["\uFBA6"] = "\u06C1";
+ t["\uFBA7"] = "\u06C1";
+ t["\uFBA8"] = "\u06C1";
+ t["\uFBA9"] = "\u06C1";
+ t["\uFBAA"] = "\u06BE";
+ t["\uFBAB"] = "\u06BE";
+ t["\uFBAC"] = "\u06BE";
+ t["\uFBAD"] = "\u06BE";
+ t["\uFBAE"] = "\u06D2";
+ t["\uFBAF"] = "\u06D2";
+ t["\uFBB0"] = "\u06D3";
+ t["\uFBB1"] = "\u06D3";
+ t["\uFBD3"] = "\u06AD";
+ t["\uFBD4"] = "\u06AD";
+ t["\uFBD5"] = "\u06AD";
+ t["\uFBD6"] = "\u06AD";
+ t["\uFBD7"] = "\u06C7";
+ t["\uFBD8"] = "\u06C7";
+ t["\uFBD9"] = "\u06C6";
+ t["\uFBDA"] = "\u06C6";
+ t["\uFBDB"] = "\u06C8";
+ t["\uFBDC"] = "\u06C8";
+ t["\uFBDD"] = "\u0677";
+ t["\uFBDE"] = "\u06CB";
+ t["\uFBDF"] = "\u06CB";
+ t["\uFBE0"] = "\u06C5";
+ t["\uFBE1"] = "\u06C5";
+ t["\uFBE2"] = "\u06C9";
+ t["\uFBE3"] = "\u06C9";
+ t["\uFBE4"] = "\u06D0";
+ t["\uFBE5"] = "\u06D0";
+ t["\uFBE6"] = "\u06D0";
+ t["\uFBE7"] = "\u06D0";
+ t["\uFBE8"] = "\u0649";
+ t["\uFBE9"] = "\u0649";
+ t["\uFBEA"] = "\u0626\u0627";
+ t["\uFBEB"] = "\u0626\u0627";
+ t["\uFBEC"] = "\u0626\u06D5";
+ t["\uFBED"] = "\u0626\u06D5";
+ t["\uFBEE"] = "\u0626\u0648";
+ t["\uFBEF"] = "\u0626\u0648";
+ t["\uFBF0"] = "\u0626\u06C7";
+ t["\uFBF1"] = "\u0626\u06C7";
+ t["\uFBF2"] = "\u0626\u06C6";
+ t["\uFBF3"] = "\u0626\u06C6";
+ t["\uFBF4"] = "\u0626\u06C8";
+ t["\uFBF5"] = "\u0626\u06C8";
+ t["\uFBF6"] = "\u0626\u06D0";
+ t["\uFBF7"] = "\u0626\u06D0";
+ t["\uFBF8"] = "\u0626\u06D0";
+ t["\uFBF9"] = "\u0626\u0649";
+ t["\uFBFA"] = "\u0626\u0649";
+ t["\uFBFB"] = "\u0626\u0649";
+ t["\uFBFC"] = "\u06CC";
+ t["\uFBFD"] = "\u06CC";
+ t["\uFBFE"] = "\u06CC";
+ t["\uFBFF"] = "\u06CC";
+ t["\uFC00"] = "\u0626\u062C";
+ t["\uFC01"] = "\u0626\u062D";
+ t["\uFC02"] = "\u0626\u0645";
+ t["\uFC03"] = "\u0626\u0649";
+ t["\uFC04"] = "\u0626\u064A";
+ t["\uFC05"] = "\u0628\u062C";
+ t["\uFC06"] = "\u0628\u062D";
+ t["\uFC07"] = "\u0628\u062E";
+ t["\uFC08"] = "\u0628\u0645";
+ t["\uFC09"] = "\u0628\u0649";
+ t["\uFC0A"] = "\u0628\u064A";
+ t["\uFC0B"] = "\u062A\u062C";
+ t["\uFC0C"] = "\u062A\u062D";
+ t["\uFC0D"] = "\u062A\u062E";
+ t["\uFC0E"] = "\u062A\u0645";
+ t["\uFC0F"] = "\u062A\u0649";
+ t["\uFC10"] = "\u062A\u064A";
+ t["\uFC11"] = "\u062B\u062C";
+ t["\uFC12"] = "\u062B\u0645";
+ t["\uFC13"] = "\u062B\u0649";
+ t["\uFC14"] = "\u062B\u064A";
+ t["\uFC15"] = "\u062C\u062D";
+ t["\uFC16"] = "\u062C\u0645";
+ t["\uFC17"] = "\u062D\u062C";
+ t["\uFC18"] = "\u062D\u0645";
+ t["\uFC19"] = "\u062E\u062C";
+ t["\uFC1A"] = "\u062E\u062D";
+ t["\uFC1B"] = "\u062E\u0645";
+ t["\uFC1C"] = "\u0633\u062C";
+ t["\uFC1D"] = "\u0633\u062D";
+ t["\uFC1E"] = "\u0633\u062E";
+ t["\uFC1F"] = "\u0633\u0645";
+ t["\uFC20"] = "\u0635\u062D";
+ t["\uFC21"] = "\u0635\u0645";
+ t["\uFC22"] = "\u0636\u062C";
+ t["\uFC23"] = "\u0636\u062D";
+ t["\uFC24"] = "\u0636\u062E";
+ t["\uFC25"] = "\u0636\u0645";
+ t["\uFC26"] = "\u0637\u062D";
+ t["\uFC27"] = "\u0637\u0645";
+ t["\uFC28"] = "\u0638\u0645";
+ t["\uFC29"] = "\u0639\u062C";
+ t["\uFC2A"] = "\u0639\u0645";
+ t["\uFC2B"] = "\u063A\u062C";
+ t["\uFC2C"] = "\u063A\u0645";
+ t["\uFC2D"] = "\u0641\u062C";
+ t["\uFC2E"] = "\u0641\u062D";
+ t["\uFC2F"] = "\u0641\u062E";
+ t["\uFC30"] = "\u0641\u0645";
+ t["\uFC31"] = "\u0641\u0649";
+ t["\uFC32"] = "\u0641\u064A";
+ t["\uFC33"] = "\u0642\u062D";
+ t["\uFC34"] = "\u0642\u0645";
+ t["\uFC35"] = "\u0642\u0649";
+ t["\uFC36"] = "\u0642\u064A";
+ t["\uFC37"] = "\u0643\u0627";
+ t["\uFC38"] = "\u0643\u062C";
+ t["\uFC39"] = "\u0643\u062D";
+ t["\uFC3A"] = "\u0643\u062E";
+ t["\uFC3B"] = "\u0643\u0644";
+ t["\uFC3C"] = "\u0643\u0645";
+ t["\uFC3D"] = "\u0643\u0649";
+ t["\uFC3E"] = "\u0643\u064A";
+ t["\uFC3F"] = "\u0644\u062C";
+ t["\uFC40"] = "\u0644\u062D";
+ t["\uFC41"] = "\u0644\u062E";
+ t["\uFC42"] = "\u0644\u0645";
+ t["\uFC43"] = "\u0644\u0649";
+ t["\uFC44"] = "\u0644\u064A";
+ t["\uFC45"] = "\u0645\u062C";
+ t["\uFC46"] = "\u0645\u062D";
+ t["\uFC47"] = "\u0645\u062E";
+ t["\uFC48"] = "\u0645\u0645";
+ t["\uFC49"] = "\u0645\u0649";
+ t["\uFC4A"] = "\u0645\u064A";
+ t["\uFC4B"] = "\u0646\u062C";
+ t["\uFC4C"] = "\u0646\u062D";
+ t["\uFC4D"] = "\u0646\u062E";
+ t["\uFC4E"] = "\u0646\u0645";
+ t["\uFC4F"] = "\u0646\u0649";
+ t["\uFC50"] = "\u0646\u064A";
+ t["\uFC51"] = "\u0647\u062C";
+ t["\uFC52"] = "\u0647\u0645";
+ t["\uFC53"] = "\u0647\u0649";
+ t["\uFC54"] = "\u0647\u064A";
+ t["\uFC55"] = "\u064A\u062C";
+ t["\uFC56"] = "\u064A\u062D";
+ t["\uFC57"] = "\u064A\u062E";
+ t["\uFC58"] = "\u064A\u0645";
+ t["\uFC59"] = "\u064A\u0649";
+ t["\uFC5A"] = "\u064A\u064A";
+ t["\uFC5B"] = "\u0630\u0670";
+ t["\uFC5C"] = "\u0631\u0670";
+ t["\uFC5D"] = "\u0649\u0670";
+ t["\uFC5E"] = "\u0020\u064C\u0651";
+ t["\uFC5F"] = "\u0020\u064D\u0651";
+ t["\uFC60"] = "\u0020\u064E\u0651";
+ t["\uFC61"] = "\u0020\u064F\u0651";
+ t["\uFC62"] = "\u0020\u0650\u0651";
+ t["\uFC63"] = "\u0020\u0651\u0670";
+ t["\uFC64"] = "\u0626\u0631";
+ t["\uFC65"] = "\u0626\u0632";
+ t["\uFC66"] = "\u0626\u0645";
+ t["\uFC67"] = "\u0626\u0646";
+ t["\uFC68"] = "\u0626\u0649";
+ t["\uFC69"] = "\u0626\u064A";
+ t["\uFC6A"] = "\u0628\u0631";
+ t["\uFC6B"] = "\u0628\u0632";
+ t["\uFC6C"] = "\u0628\u0645";
+ t["\uFC6D"] = "\u0628\u0646";
+ t["\uFC6E"] = "\u0628\u0649";
+ t["\uFC6F"] = "\u0628\u064A";
+ t["\uFC70"] = "\u062A\u0631";
+ t["\uFC71"] = "\u062A\u0632";
+ t["\uFC72"] = "\u062A\u0645";
+ t["\uFC73"] = "\u062A\u0646";
+ t["\uFC74"] = "\u062A\u0649";
+ t["\uFC75"] = "\u062A\u064A";
+ t["\uFC76"] = "\u062B\u0631";
+ t["\uFC77"] = "\u062B\u0632";
+ t["\uFC78"] = "\u062B\u0645";
+ t["\uFC79"] = "\u062B\u0646";
+ t["\uFC7A"] = "\u062B\u0649";
+ t["\uFC7B"] = "\u062B\u064A";
+ t["\uFC7C"] = "\u0641\u0649";
+ t["\uFC7D"] = "\u0641\u064A";
+ t["\uFC7E"] = "\u0642\u0649";
+ t["\uFC7F"] = "\u0642\u064A";
+ t["\uFC80"] = "\u0643\u0627";
+ t["\uFC81"] = "\u0643\u0644";
+ t["\uFC82"] = "\u0643\u0645";
+ t["\uFC83"] = "\u0643\u0649";
+ t["\uFC84"] = "\u0643\u064A";
+ t["\uFC85"] = "\u0644\u0645";
+ t["\uFC86"] = "\u0644\u0649";
+ t["\uFC87"] = "\u0644\u064A";
+ t["\uFC88"] = "\u0645\u0627";
+ t["\uFC89"] = "\u0645\u0645";
+ t["\uFC8A"] = "\u0646\u0631";
+ t["\uFC8B"] = "\u0646\u0632";
+ t["\uFC8C"] = "\u0646\u0645";
+ t["\uFC8D"] = "\u0646\u0646";
+ t["\uFC8E"] = "\u0646\u0649";
+ t["\uFC8F"] = "\u0646\u064A";
+ t["\uFC90"] = "\u0649\u0670";
+ t["\uFC91"] = "\u064A\u0631";
+ t["\uFC92"] = "\u064A\u0632";
+ t["\uFC93"] = "\u064A\u0645";
+ t["\uFC94"] = "\u064A\u0646";
+ t["\uFC95"] = "\u064A\u0649";
+ t["\uFC96"] = "\u064A\u064A";
+ t["\uFC97"] = "\u0626\u062C";
+ t["\uFC98"] = "\u0626\u062D";
+ t["\uFC99"] = "\u0626\u062E";
+ t["\uFC9A"] = "\u0626\u0645";
+ t["\uFC9B"] = "\u0626\u0647";
+ t["\uFC9C"] = "\u0628\u062C";
+ t["\uFC9D"] = "\u0628\u062D";
+ t["\uFC9E"] = "\u0628\u062E";
+ t["\uFC9F"] = "\u0628\u0645";
+ t["\uFCA0"] = "\u0628\u0647";
+ t["\uFCA1"] = "\u062A\u062C";
+ t["\uFCA2"] = "\u062A\u062D";
+ t["\uFCA3"] = "\u062A\u062E";
+ t["\uFCA4"] = "\u062A\u0645";
+ t["\uFCA5"] = "\u062A\u0647";
+ t["\uFCA6"] = "\u062B\u0645";
+ t["\uFCA7"] = "\u062C\u062D";
+ t["\uFCA8"] = "\u062C\u0645";
+ t["\uFCA9"] = "\u062D\u062C";
+ t["\uFCAA"] = "\u062D\u0645";
+ t["\uFCAB"] = "\u062E\u062C";
+ t["\uFCAC"] = "\u062E\u0645";
+ t["\uFCAD"] = "\u0633\u062C";
+ t["\uFCAE"] = "\u0633\u062D";
+ t["\uFCAF"] = "\u0633\u062E";
+ t["\uFCB0"] = "\u0633\u0645";
+ t["\uFCB1"] = "\u0635\u062D";
+ t["\uFCB2"] = "\u0635\u062E";
+ t["\uFCB3"] = "\u0635\u0645";
+ t["\uFCB4"] = "\u0636\u062C";
+ t["\uFCB5"] = "\u0636\u062D";
+ t["\uFCB6"] = "\u0636\u062E";
+ t["\uFCB7"] = "\u0636\u0645";
+ t["\uFCB8"] = "\u0637\u062D";
+ t["\uFCB9"] = "\u0638\u0645";
+ t["\uFCBA"] = "\u0639\u062C";
+ t["\uFCBB"] = "\u0639\u0645";
+ t["\uFCBC"] = "\u063A\u062C";
+ t["\uFCBD"] = "\u063A\u0645";
+ t["\uFCBE"] = "\u0641\u062C";
+ t["\uFCBF"] = "\u0641\u062D";
+ t["\uFCC0"] = "\u0641\u062E";
+ t["\uFCC1"] = "\u0641\u0645";
+ t["\uFCC2"] = "\u0642\u062D";
+ t["\uFCC3"] = "\u0642\u0645";
+ t["\uFCC4"] = "\u0643\u062C";
+ t["\uFCC5"] = "\u0643\u062D";
+ t["\uFCC6"] = "\u0643\u062E";
+ t["\uFCC7"] = "\u0643\u0644";
+ t["\uFCC8"] = "\u0643\u0645";
+ t["\uFCC9"] = "\u0644\u062C";
+ t["\uFCCA"] = "\u0644\u062D";
+ t["\uFCCB"] = "\u0644\u062E";
+ t["\uFCCC"] = "\u0644\u0645";
+ t["\uFCCD"] = "\u0644\u0647";
+ t["\uFCCE"] = "\u0645\u062C";
+ t["\uFCCF"] = "\u0645\u062D";
+ t["\uFCD0"] = "\u0645\u062E";
+ t["\uFCD1"] = "\u0645\u0645";
+ t["\uFCD2"] = "\u0646\u062C";
+ t["\uFCD3"] = "\u0646\u062D";
+ t["\uFCD4"] = "\u0646\u062E";
+ t["\uFCD5"] = "\u0646\u0645";
+ t["\uFCD6"] = "\u0646\u0647";
+ t["\uFCD7"] = "\u0647\u062C";
+ t["\uFCD8"] = "\u0647\u0645";
+ t["\uFCD9"] = "\u0647\u0670";
+ t["\uFCDA"] = "\u064A\u062C";
+ t["\uFCDB"] = "\u064A\u062D";
+ t["\uFCDC"] = "\u064A\u062E";
+ t["\uFCDD"] = "\u064A\u0645";
+ t["\uFCDE"] = "\u064A\u0647";
+ t["\uFCDF"] = "\u0626\u0645";
+ t["\uFCE0"] = "\u0626\u0647";
+ t["\uFCE1"] = "\u0628\u0645";
+ t["\uFCE2"] = "\u0628\u0647";
+ t["\uFCE3"] = "\u062A\u0645";
+ t["\uFCE4"] = "\u062A\u0647";
+ t["\uFCE5"] = "\u062B\u0645";
+ t["\uFCE6"] = "\u062B\u0647";
+ t["\uFCE7"] = "\u0633\u0645";
+ t["\uFCE8"] = "\u0633\u0647";
+ t["\uFCE9"] = "\u0634\u0645";
+ t["\uFCEA"] = "\u0634\u0647";
+ t["\uFCEB"] = "\u0643\u0644";
+ t["\uFCEC"] = "\u0643\u0645";
+ t["\uFCED"] = "\u0644\u0645";
+ t["\uFCEE"] = "\u0646\u0645";
+ t["\uFCEF"] = "\u0646\u0647";
+ t["\uFCF0"] = "\u064A\u0645";
+ t["\uFCF1"] = "\u064A\u0647";
+ t["\uFCF2"] = "\u0640\u064E\u0651";
+ t["\uFCF3"] = "\u0640\u064F\u0651";
+ t["\uFCF4"] = "\u0640\u0650\u0651";
+ t["\uFCF5"] = "\u0637\u0649";
+ t["\uFCF6"] = "\u0637\u064A";
+ t["\uFCF7"] = "\u0639\u0649";
+ t["\uFCF8"] = "\u0639\u064A";
+ t["\uFCF9"] = "\u063A\u0649";
+ t["\uFCFA"] = "\u063A\u064A";
+ t["\uFCFB"] = "\u0633\u0649";
+ t["\uFCFC"] = "\u0633\u064A";
+ t["\uFCFD"] = "\u0634\u0649";
+ t["\uFCFE"] = "\u0634\u064A";
+ t["\uFCFF"] = "\u062D\u0649";
+ t["\uFD00"] = "\u062D\u064A";
+ t["\uFD01"] = "\u062C\u0649";
+ t["\uFD02"] = "\u062C\u064A";
+ t["\uFD03"] = "\u062E\u0649";
+ t["\uFD04"] = "\u062E\u064A";
+ t["\uFD05"] = "\u0635\u0649";
+ t["\uFD06"] = "\u0635\u064A";
+ t["\uFD07"] = "\u0636\u0649";
+ t["\uFD08"] = "\u0636\u064A";
+ t["\uFD09"] = "\u0634\u062C";
+ t["\uFD0A"] = "\u0634\u062D";
+ t["\uFD0B"] = "\u0634\u062E";
+ t["\uFD0C"] = "\u0634\u0645";
+ t["\uFD0D"] = "\u0634\u0631";
+ t["\uFD0E"] = "\u0633\u0631";
+ t["\uFD0F"] = "\u0635\u0631";
+ t["\uFD10"] = "\u0636\u0631";
+ t["\uFD11"] = "\u0637\u0649";
+ t["\uFD12"] = "\u0637\u064A";
+ t["\uFD13"] = "\u0639\u0649";
+ t["\uFD14"] = "\u0639\u064A";
+ t["\uFD15"] = "\u063A\u0649";
+ t["\uFD16"] = "\u063A\u064A";
+ t["\uFD17"] = "\u0633\u0649";
+ t["\uFD18"] = "\u0633\u064A";
+ t["\uFD19"] = "\u0634\u0649";
+ t["\uFD1A"] = "\u0634\u064A";
+ t["\uFD1B"] = "\u062D\u0649";
+ t["\uFD1C"] = "\u062D\u064A";
+ t["\uFD1D"] = "\u062C\u0649";
+ t["\uFD1E"] = "\u062C\u064A";
+ t["\uFD1F"] = "\u062E\u0649";
+ t["\uFD20"] = "\u062E\u064A";
+ t["\uFD21"] = "\u0635\u0649";
+ t["\uFD22"] = "\u0635\u064A";
+ t["\uFD23"] = "\u0636\u0649";
+ t["\uFD24"] = "\u0636\u064A";
+ t["\uFD25"] = "\u0634\u062C";
+ t["\uFD26"] = "\u0634\u062D";
+ t["\uFD27"] = "\u0634\u062E";
+ t["\uFD28"] = "\u0634\u0645";
+ t["\uFD29"] = "\u0634\u0631";
+ t["\uFD2A"] = "\u0633\u0631";
+ t["\uFD2B"] = "\u0635\u0631";
+ t["\uFD2C"] = "\u0636\u0631";
+ t["\uFD2D"] = "\u0634\u062C";
+ t["\uFD2E"] = "\u0634\u062D";
+ t["\uFD2F"] = "\u0634\u062E";
+ t["\uFD30"] = "\u0634\u0645";
+ t["\uFD31"] = "\u0633\u0647";
+ t["\uFD32"] = "\u0634\u0647";
+ t["\uFD33"] = "\u0637\u0645";
+ t["\uFD34"] = "\u0633\u062C";
+ t["\uFD35"] = "\u0633\u062D";
+ t["\uFD36"] = "\u0633\u062E";
+ t["\uFD37"] = "\u0634\u062C";
+ t["\uFD38"] = "\u0634\u062D";
+ t["\uFD39"] = "\u0634\u062E";
+ t["\uFD3A"] = "\u0637\u0645";
+ t["\uFD3B"] = "\u0638\u0645";
+ t["\uFD3C"] = "\u0627\u064B";
+ t["\uFD3D"] = "\u0627\u064B";
+ t["\uFD50"] = "\u062A\u062C\u0645";
+ t["\uFD51"] = "\u062A\u062D\u062C";
+ t["\uFD52"] = "\u062A\u062D\u062C";
+ t["\uFD53"] = "\u062A\u062D\u0645";
+ t["\uFD54"] = "\u062A\u062E\u0645";
+ t["\uFD55"] = "\u062A\u0645\u062C";
+ t["\uFD56"] = "\u062A\u0645\u062D";
+ t["\uFD57"] = "\u062A\u0645\u062E";
+ t["\uFD58"] = "\u062C\u0645\u062D";
+ t["\uFD59"] = "\u062C\u0645\u062D";
+ t["\uFD5A"] = "\u062D\u0645\u064A";
+ t["\uFD5B"] = "\u062D\u0645\u0649";
+ t["\uFD5C"] = "\u0633\u062D\u062C";
+ t["\uFD5D"] = "\u0633\u062C\u062D";
+ t["\uFD5E"] = "\u0633\u062C\u0649";
+ t["\uFD5F"] = "\u0633\u0645\u062D";
+ t["\uFD60"] = "\u0633\u0645\u062D";
+ t["\uFD61"] = "\u0633\u0645\u062C";
+ t["\uFD62"] = "\u0633\u0645\u0645";
+ t["\uFD63"] = "\u0633\u0645\u0645";
+ t["\uFD64"] = "\u0635\u062D\u062D";
+ t["\uFD65"] = "\u0635\u062D\u062D";
+ t["\uFD66"] = "\u0635\u0645\u0645";
+ t["\uFD67"] = "\u0634\u062D\u0645";
+ t["\uFD68"] = "\u0634\u062D\u0645";
+ t["\uFD69"] = "\u0634\u062C\u064A";
+ t["\uFD6A"] = "\u0634\u0645\u062E";
+ t["\uFD6B"] = "\u0634\u0645\u062E";
+ t["\uFD6C"] = "\u0634\u0645\u0645";
+ t["\uFD6D"] = "\u0634\u0645\u0645";
+ t["\uFD6E"] = "\u0636\u062D\u0649";
+ t["\uFD6F"] = "\u0636\u062E\u0645";
+ t["\uFD70"] = "\u0636\u062E\u0645";
+ t["\uFD71"] = "\u0637\u0645\u062D";
+ t["\uFD72"] = "\u0637\u0645\u062D";
+ t["\uFD73"] = "\u0637\u0645\u0645";
+ t["\uFD74"] = "\u0637\u0645\u064A";
+ t["\uFD75"] = "\u0639\u062C\u0645";
+ t["\uFD76"] = "\u0639\u0645\u0645";
+ t["\uFD77"] = "\u0639\u0645\u0645";
+ t["\uFD78"] = "\u0639\u0645\u0649";
+ t["\uFD79"] = "\u063A\u0645\u0645";
+ t["\uFD7A"] = "\u063A\u0645\u064A";
+ t["\uFD7B"] = "\u063A\u0645\u0649";
+ t["\uFD7C"] = "\u0641\u062E\u0645";
+ t["\uFD7D"] = "\u0641\u062E\u0645";
+ t["\uFD7E"] = "\u0642\u0645\u062D";
+ t["\uFD7F"] = "\u0642\u0645\u0645";
+ t["\uFD80"] = "\u0644\u062D\u0645";
+ t["\uFD81"] = "\u0644\u062D\u064A";
+ t["\uFD82"] = "\u0644\u062D\u0649";
+ t["\uFD83"] = "\u0644\u062C\u062C";
+ t["\uFD84"] = "\u0644\u062C\u062C";
+ t["\uFD85"] = "\u0644\u062E\u0645";
+ t["\uFD86"] = "\u0644\u062E\u0645";
+ t["\uFD87"] = "\u0644\u0645\u062D";
+ t["\uFD88"] = "\u0644\u0645\u062D";
+ t["\uFD89"] = "\u0645\u062D\u062C";
+ t["\uFD8A"] = "\u0645\u062D\u0645";
+ t["\uFD8B"] = "\u0645\u062D\u064A";
+ t["\uFD8C"] = "\u0645\u062C\u062D";
+ t["\uFD8D"] = "\u0645\u062C\u0645";
+ t["\uFD8E"] = "\u0645\u062E\u062C";
+ t["\uFD8F"] = "\u0645\u062E\u0645";
+ t["\uFD92"] = "\u0645\u062C\u062E";
+ t["\uFD93"] = "\u0647\u0645\u062C";
+ t["\uFD94"] = "\u0647\u0645\u0645";
+ t["\uFD95"] = "\u0646\u062D\u0645";
+ t["\uFD96"] = "\u0646\u062D\u0649";
+ t["\uFD97"] = "\u0646\u062C\u0645";
+ t["\uFD98"] = "\u0646\u062C\u0645";
+ t["\uFD99"] = "\u0646\u062C\u0649";
+ t["\uFD9A"] = "\u0646\u0645\u064A";
+ t["\uFD9B"] = "\u0646\u0645\u0649";
+ t["\uFD9C"] = "\u064A\u0645\u0645";
+ t["\uFD9D"] = "\u064A\u0645\u0645";
+ t["\uFD9E"] = "\u0628\u062E\u064A";
+ t["\uFD9F"] = "\u062A\u062C\u064A";
+ t["\uFDA0"] = "\u062A\u062C\u0649";
+ t["\uFDA1"] = "\u062A\u062E\u064A";
+ t["\uFDA2"] = "\u062A\u062E\u0649";
+ t["\uFDA3"] = "\u062A\u0645\u064A";
+ t["\uFDA4"] = "\u062A\u0645\u0649";
+ t["\uFDA5"] = "\u062C\u0645\u064A";
+ t["\uFDA6"] = "\u062C\u062D\u0649";
+ t["\uFDA7"] = "\u062C\u0645\u0649";
+ t["\uFDA8"] = "\u0633\u062E\u0649";
+ t["\uFDA9"] = "\u0635\u062D\u064A";
+ t["\uFDAA"] = "\u0634\u062D\u064A";
+ t["\uFDAB"] = "\u0636\u062D\u064A";
+ t["\uFDAC"] = "\u0644\u062C\u064A";
+ t["\uFDAD"] = "\u0644\u0645\u064A";
+ t["\uFDAE"] = "\u064A\u062D\u064A";
+ t["\uFDAF"] = "\u064A\u062C\u064A";
+ t["\uFDB0"] = "\u064A\u0645\u064A";
+ t["\uFDB1"] = "\u0645\u0645\u064A";
+ t["\uFDB2"] = "\u0642\u0645\u064A";
+ t["\uFDB3"] = "\u0646\u062D\u064A";
+ t["\uFDB4"] = "\u0642\u0645\u062D";
+ t["\uFDB5"] = "\u0644\u062D\u0645";
+ t["\uFDB6"] = "\u0639\u0645\u064A";
+ t["\uFDB7"] = "\u0643\u0645\u064A";
+ t["\uFDB8"] = "\u0646\u062C\u062D";
+ t["\uFDB9"] = "\u0645\u062E\u064A";
+ t["\uFDBA"] = "\u0644\u062C\u0645";
+ t["\uFDBB"] = "\u0643\u0645\u0645";
+ t["\uFDBC"] = "\u0644\u062C\u0645";
+ t["\uFDBD"] = "\u0646\u062C\u062D";
+ t["\uFDBE"] = "\u062C\u062D\u064A";
+ t["\uFDBF"] = "\u062D\u062C\u064A";
+ t["\uFDC0"] = "\u0645\u062C\u064A";
+ t["\uFDC1"] = "\u0641\u0645\u064A";
+ t["\uFDC2"] = "\u0628\u062D\u064A";
+ t["\uFDC3"] = "\u0643\u0645\u0645";
+ t["\uFDC4"] = "\u0639\u062C\u0645";
+ t["\uFDC5"] = "\u0635\u0645\u0645";
+ t["\uFDC6"] = "\u0633\u062E\u064A";
+ t["\uFDC7"] = "\u0646\u062C\u064A";
+ t["\uFE49"] = "\u203E";
+ t["\uFE4A"] = "\u203E";
+ t["\uFE4B"] = "\u203E";
+ t["\uFE4C"] = "\u203E";
+ t["\uFE4D"] = "\u005F";
+ t["\uFE4E"] = "\u005F";
+ t["\uFE4F"] = "\u005F";
+ t["\uFE80"] = "\u0621";
+ t["\uFE81"] = "\u0622";
+ t["\uFE82"] = "\u0622";
+ t["\uFE83"] = "\u0623";
+ t["\uFE84"] = "\u0623";
+ t["\uFE85"] = "\u0624";
+ t["\uFE86"] = "\u0624";
+ t["\uFE87"] = "\u0625";
+ t["\uFE88"] = "\u0625";
+ t["\uFE89"] = "\u0626";
+ t["\uFE8A"] = "\u0626";
+ t["\uFE8B"] = "\u0626";
+ t["\uFE8C"] = "\u0626";
+ t["\uFE8D"] = "\u0627";
+ t["\uFE8E"] = "\u0627";
+ t["\uFE8F"] = "\u0628";
+ t["\uFE90"] = "\u0628";
+ t["\uFE91"] = "\u0628";
+ t["\uFE92"] = "\u0628";
+ t["\uFE93"] = "\u0629";
+ t["\uFE94"] = "\u0629";
+ t["\uFE95"] = "\u062A";
+ t["\uFE96"] = "\u062A";
+ t["\uFE97"] = "\u062A";
+ t["\uFE98"] = "\u062A";
+ t["\uFE99"] = "\u062B";
+ t["\uFE9A"] = "\u062B";
+ t["\uFE9B"] = "\u062B";
+ t["\uFE9C"] = "\u062B";
+ t["\uFE9D"] = "\u062C";
+ t["\uFE9E"] = "\u062C";
+ t["\uFE9F"] = "\u062C";
+ t["\uFEA0"] = "\u062C";
+ t["\uFEA1"] = "\u062D";
+ t["\uFEA2"] = "\u062D";
+ t["\uFEA3"] = "\u062D";
+ t["\uFEA4"] = "\u062D";
+ t["\uFEA5"] = "\u062E";
+ t["\uFEA6"] = "\u062E";
+ t["\uFEA7"] = "\u062E";
+ t["\uFEA8"] = "\u062E";
+ t["\uFEA9"] = "\u062F";
+ t["\uFEAA"] = "\u062F";
+ t["\uFEAB"] = "\u0630";
+ t["\uFEAC"] = "\u0630";
+ t["\uFEAD"] = "\u0631";
+ t["\uFEAE"] = "\u0631";
+ t["\uFEAF"] = "\u0632";
+ t["\uFEB0"] = "\u0632";
+ t["\uFEB1"] = "\u0633";
+ t["\uFEB2"] = "\u0633";
+ t["\uFEB3"] = "\u0633";
+ t["\uFEB4"] = "\u0633";
+ t["\uFEB5"] = "\u0634";
+ t["\uFEB6"] = "\u0634";
+ t["\uFEB7"] = "\u0634";
+ t["\uFEB8"] = "\u0634";
+ t["\uFEB9"] = "\u0635";
+ t["\uFEBA"] = "\u0635";
+ t["\uFEBB"] = "\u0635";
+ t["\uFEBC"] = "\u0635";
+ t["\uFEBD"] = "\u0636";
+ t["\uFEBE"] = "\u0636";
+ t["\uFEBF"] = "\u0636";
+ t["\uFEC0"] = "\u0636";
+ t["\uFEC1"] = "\u0637";
+ t["\uFEC2"] = "\u0637";
+ t["\uFEC3"] = "\u0637";
+ t["\uFEC4"] = "\u0637";
+ t["\uFEC5"] = "\u0638";
+ t["\uFEC6"] = "\u0638";
+ t["\uFEC7"] = "\u0638";
+ t["\uFEC8"] = "\u0638";
+ t["\uFEC9"] = "\u0639";
+ t["\uFECA"] = "\u0639";
+ t["\uFECB"] = "\u0639";
+ t["\uFECC"] = "\u0639";
+ t["\uFECD"] = "\u063A";
+ t["\uFECE"] = "\u063A";
+ t["\uFECF"] = "\u063A";
+ t["\uFED0"] = "\u063A";
+ t["\uFED1"] = "\u0641";
+ t["\uFED2"] = "\u0641";
+ t["\uFED3"] = "\u0641";
+ t["\uFED4"] = "\u0641";
+ t["\uFED5"] = "\u0642";
+ t["\uFED6"] = "\u0642";
+ t["\uFED7"] = "\u0642";
+ t["\uFED8"] = "\u0642";
+ t["\uFED9"] = "\u0643";
+ t["\uFEDA"] = "\u0643";
+ t["\uFEDB"] = "\u0643";
+ t["\uFEDC"] = "\u0643";
+ t["\uFEDD"] = "\u0644";
+ t["\uFEDE"] = "\u0644";
+ t["\uFEDF"] = "\u0644";
+ t["\uFEE0"] = "\u0644";
+ t["\uFEE1"] = "\u0645";
+ t["\uFEE2"] = "\u0645";
+ t["\uFEE3"] = "\u0645";
+ t["\uFEE4"] = "\u0645";
+ t["\uFEE5"] = "\u0646";
+ t["\uFEE6"] = "\u0646";
+ t["\uFEE7"] = "\u0646";
+ t["\uFEE8"] = "\u0646";
+ t["\uFEE9"] = "\u0647";
+ t["\uFEEA"] = "\u0647";
+ t["\uFEEB"] = "\u0647";
+ t["\uFEEC"] = "\u0647";
+ t["\uFEED"] = "\u0648";
+ t["\uFEEE"] = "\u0648";
+ t["\uFEEF"] = "\u0649";
+ t["\uFEF0"] = "\u0649";
+ t["\uFEF1"] = "\u064A";
+ t["\uFEF2"] = "\u064A";
+ t["\uFEF3"] = "\u064A";
+ t["\uFEF4"] = "\u064A";
+ t["\uFEF5"] = "\u0644\u0622";
+ t["\uFEF6"] = "\u0644\u0622";
+ t["\uFEF7"] = "\u0644\u0623";
+ t["\uFEF8"] = "\u0644\u0623";
+ t["\uFEF9"] = "\u0644\u0625";
+ t["\uFEFA"] = "\u0644\u0625";
+ t["\uFEFB"] = "\u0644\u0627";
+ t["\uFEFC"] = "\u0644\u0627";
 });
 function reverseIfRtl(chars) {
  var charsLength = chars.length;
  if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {
   return chars;
  }
- var s = '';
+ var s = "";
  for (var ii = charsLength - 1; ii >= 0; ii--) {
   s += chars[ii];
  }
@@ -47327,7 +36872,7 @@ exports.getNormalizedUnicodes = getNormalizedUnicodes;
 exports.getUnicodeForGlyph = getUnicodeForGlyph;
 
 /***/ }),
-/* 213 */
+/* 34 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -47338,33 +36883,15 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.FontRendererFactory = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _cff_parser = __w_pdfjs_require__(207);
-
-var _glyphlist = __w_pdfjs_require__(210);
-
-var _encodings = __w_pdfjs_require__(209);
-
-var _stream = __w_pdfjs_require__(190);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } return _assertThisInitialized(self); }
+var _util = __w_pdfjs_require__(2);
 
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been 
initialised - super() hasn't been called"); } return self; }
+var _cff_parser = __w_pdfjs_require__(28);
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+var _glyphlist = __w_pdfjs_require__(31);
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+var _encodings = __w_pdfjs_require__(30);
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-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); return Constructor; }
+var _stream = __w_pdfjs_require__(11);
 
 var FontRendererFactory = function FontRendererFactoryClosure() {
   function getLong(data, offset) {
@@ -47375,6 +36902,19 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
     return data[offset] << 8 | data[offset + 1];
   }
 
+  function getSubroutineBias(subrs) {
+    const numSubrs = subrs.length;
+    let bias = 32768;
+
+    if (numSubrs < 1240) {
+      bias = 107;
+    } else if (numSubrs < 33900) {
+      bias = 1131;
+    }
+
+    return bias;
+  }
+
   function parseCmap(data, start, end) {
     var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);
     var format = getUshort(data, start + offset);
@@ -47436,7 +36976,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
       return ranges;
     }
 
-    throw new _util.FormatError("unsupported cmap: ".concat(format));
+    throw new _util.FormatError(`unsupported cmap: ${format}`);
   }
 
   function parseCff(data, start, end, seacAnalysisEnabled) {
@@ -47499,7 +37039,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
     }
 
     if (ranges[l].start <= code && code <= ranges[l].end) {
-      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF;
+      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;
     }
 
     return {
@@ -47511,21 +37051,21 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
   function compileGlyf(code, cmds, font) {
     function moveTo(x, y) {
       cmds.push({
-        cmd: 'moveTo',
+        cmd: "moveTo",
         args: [x, y]
       });
     }
 
     function lineTo(x, y) {
       cmds.push({
-        cmd: 'lineTo',
+        cmd: "lineTo",
         args: [x, y]
       });
     }
 
     function quadraticCurveTo(xa, ya, x, y) {
       cmds.push({
-        cmd: 'quadraticCurveTo',
+        cmd: "quadraticCurveTo",
         args: [xa, ya, x, y]
       });
     }
@@ -47585,15 +37125,15 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
 
         if (subglyph) {
           cmds.push({
-            cmd: 'save'
+            cmd: "save"
           });
           cmds.push({
-            cmd: 'transform',
+            cmd: "transform",
             args: [scaleX, scale01, scale10, scaleY, x, y]
           });
           compileGlyf(subglyph, cmds, font);
           cmds.push({
-            cmd: 'restore'
+            cmd: "restore"
           });
         }
       } while (flags & 0x20);
@@ -47621,7 +37161,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
 
         while (repeat-- > 0) {
           points.push({
-            flags: flags
+            flags
           });
         }
       }
@@ -47710,21 +37250,21 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
 
     function moveTo(x, y) {
       cmds.push({
-        cmd: 'moveTo',
+        cmd: "moveTo",
         args: [x, y]
       });
     }
 
     function lineTo(x, y) {
       cmds.push({
-        cmd: 'lineTo',
+        cmd: "lineTo",
         args: [x, y]
       });
     }
 
     function bezierCurveTo(x1, y1, x2, y2, x, y) {
       cmds.push({
-        cmd: 'bezierCurveTo',
+        cmd: "bezierCurveTo",
         args: [x1, y1, x2, y2, x, y]
       });
     }
@@ -47811,23 +37351,22 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
             subrCode = null;
 
             if (font.isCFFCIDFont) {
-              var fdIndex = font.fdSelect.getFDIndex(glyphId);
+              const fdIndex = font.fdSelect.getFDIndex(glyphId);
 
               if (fdIndex >= 0 && fdIndex < font.fdArray.length) {
-                var fontDict = font.fdArray[fdIndex],
-                    subrs = void 0;
+                const fontDict = font.fdArray[fdIndex];
+                let subrs;
 
                 if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {
                   subrs = fontDict.privateDict.subrsIndex.objects;
                 }
 
                 if (subrs) {
-                  var numSubrs = subrs.length;
-                  n += numSubrs < 1240 ? 107 : numSubrs < 33900 ? 1131 : 32768;
+                  n += getSubroutineBias(subrs);
                   subrCode = subrs[n];
                 }
               } else {
-                (0, _util.warn)('Invalid fd index for glyph index.');
+                (0, _util.warn)("Invalid fd index for glyph index.");
               }
             } else {
               subrCode = font.subrs[n + font.subrsBias];
@@ -47917,7 +37456,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
                 break;
 
               default:
-                throw new _util.FormatError("unknown operator: 12 ".concat(v));
+                throw new _util.FormatError(`unknown operator: 12 ${v}`);
             }
 
             break;
@@ -47929,16 +37468,16 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
               y = stack.pop();
               x = stack.pop();
               cmds.push({
-                cmd: 'save'
+                cmd: "save"
               });
               cmds.push({
-                cmd: 'translate',
+                cmd: "translate",
                 args: [x, y]
               });
               var cmap = lookupCmap(font.cmap, 
String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));
               compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);
               cmds.push({
-                cmd: 'restore'
+                cmd: "restore"
               });
               cmap = lookupCmap(font.cmap, 
String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));
               compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);
@@ -48114,7 +37653,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
 
           default:
             if (v < 32) {
-              throw new _util.FormatError("unknown operator: ".concat(v));
+              throw new _util.FormatError(`unknown operator: ${v}`);
             }
 
             if (v < 247) {
@@ -48140,16 +37679,12 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
     parse(code);
   }
 
-  var NOOP = [];
-
-  var CompiledFont =
-  /*#__PURE__*/
-  function () {
-    function CompiledFont(fontMatrix) {
-      _classCallCheck(this, CompiledFont);
+  const NOOP = [];
 
+  class CompiledFont {
+    constructor(fontMatrix) {
       if (this.constructor === CompiledFont) {
-        (0, _util.unreachable)('Cannot initialize CompiledFont.');
+        (0, _util.unreachable)("Cannot initialize CompiledFont.");
       }
 
       this.fontMatrix = fontMatrix;
@@ -48157,136 +37692,103 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
       this.compiledCharCodeToGlyphId = Object.create(null);
     }
 
-    _createClass(CompiledFont, [{
-      key: "getPathJs",
-      value: function getPathJs(unicode) {
-        var cmap = lookupCmap(this.cmap, unicode);
-        var fn = this.compiledGlyphs[cmap.glyphId];
-
-        if (!fn) {
-          fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);
-          this.compiledGlyphs[cmap.glyphId] = fn;
-        }
-
-        if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {
-          this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;
-        }
+    getPathJs(unicode) {
+      const cmap = lookupCmap(this.cmap, unicode);
+      let fn = this.compiledGlyphs[cmap.glyphId];
 
-        return fn;
+      if (!fn) {
+        fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);
+        this.compiledGlyphs[cmap.glyphId] = fn;
       }
-    }, {
-      key: "compileGlyph",
-      value: function compileGlyph(code, glyphId) {
-        if (!code || code.length === 0 || code[0] === 14) {
-          return NOOP;
-        }
-
-        var fontMatrix = this.fontMatrix;
 
-        if (this.isCFFCIDFont) {
-          var fdIndex = this.fdSelect.getFDIndex(glyphId);
+      if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {
+        this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;
+      }
 
-          if (fdIndex >= 0 && fdIndex < this.fdArray.length) {
-            var fontDict = this.fdArray[fdIndex];
-            fontMatrix = fontDict.getByName('FontMatrix') || _util.FONT_IDENTITY_MATRIX;
-          } else {
-            (0, _util.warn)('Invalid fd index for glyph index.');
-          }
-        }
+      return fn;
+    }
 
-        var cmds = [];
-        cmds.push({
-          cmd: 'save'
-        });
-        cmds.push({
-          cmd: 'transform',
-          args: fontMatrix.slice()
-        });
-        cmds.push({
-          cmd: 'scale',
-          args: ['size', '-size']
-        });
-        this.compileGlyphImpl(code, cmds, glyphId);
-        cmds.push({
-          cmd: 'restore'
-        });
-        return cmds;
-      }
-    }, {
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl() {
-        (0, _util.unreachable)('Children classes should implement this.');
-      }
-    }, {
-      key: "hasBuiltPath",
-      value: function hasBuiltPath(unicode) {
-        var cmap = lookupCmap(this.cmap, unicode);
-        return this.compiledGlyphs[cmap.glyphId] !== undefined && 
this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;
+    compileGlyph(code, glyphId) {
+      if (!code || code.length === 0 || code[0] === 14) {
+        return NOOP;
       }
-    }]);
 
-    return CompiledFont;
-  }();
+      let fontMatrix = this.fontMatrix;
 
-  var TrueTypeCompiled =
-  /*#__PURE__*/
-  function (_CompiledFont) {
-    _inherits(TrueTypeCompiled, _CompiledFont);
+      if (this.isCFFCIDFont) {
+        const fdIndex = this.fdSelect.getFDIndex(glyphId);
 
-    function TrueTypeCompiled(glyphs, cmap, fontMatrix) {
-      var _this;
+        if (fdIndex >= 0 && fdIndex < this.fdArray.length) {
+          const fontDict = this.fdArray[fdIndex];
+          fontMatrix = fontDict.getByName("FontMatrix") || _util.FONT_IDENTITY_MATRIX;
+        } else {
+          (0, _util.warn)("Invalid fd index for glyph index.");
+        }
+      }
 
-      _classCallCheck(this, TrueTypeCompiled);
+      const cmds = [];
+      cmds.push({
+        cmd: "save"
+      });
+      cmds.push({
+        cmd: "transform",
+        args: fontMatrix.slice()
+      });
+      cmds.push({
+        cmd: "scale",
+        args: ["size", "-size"]
+      });
+      this.compileGlyphImpl(code, cmds, glyphId);
+      cmds.push({
+        cmd: "restore"
+      });
+      return cmds;
+    }
 
-      _this = _possibleConstructorReturn(this, _getPrototypeOf(TrueTypeCompiled).call(this, fontMatrix || 
[0.000488, 0, 0, 0.000488, 0, 0]));
-      _this.glyphs = glyphs;
-      _this.cmap = cmap;
-      return _this;
+    compileGlyphImpl() {
+      (0, _util.unreachable)("Children classes should implement this.");
     }
 
-    _createClass(TrueTypeCompiled, [{
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl(code, cmds) {
-        compileGlyf(code, cmds, this);
-      }
-    }]);
+    hasBuiltPath(unicode) {
+      const cmap = lookupCmap(this.cmap, unicode);
+      return this.compiledGlyphs[cmap.glyphId] !== undefined && 
this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;
+    }
 
-    return TrueTypeCompiled;
-  }(CompiledFont);
+  }
 
-  var Type2Compiled =
-  /*#__PURE__*/
-  function (_CompiledFont2) {
-    _inherits(Type2Compiled, _CompiledFont2);
+  class TrueTypeCompiled extends CompiledFont {
+    constructor(glyphs, cmap, fontMatrix) {
+      super(fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);
+      this.glyphs = glyphs;
+      this.cmap = cmap;
+    }
 
-    function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {
-      var _this2;
+    compileGlyphImpl(code, cmds) {
+      compileGlyf(code, cmds, this);
+    }
 
-      _classCallCheck(this, Type2Compiled);
+  }
 
-      _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Type2Compiled).call(this, fontMatrix || 
[0.001, 0, 0, 0.001, 0, 0]));
-      _this2.glyphs = cffInfo.glyphs;
-      _this2.gsubrs = cffInfo.gsubrs || [];
-      _this2.subrs = cffInfo.subrs || [];
-      _this2.cmap = cmap;
-      _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();
-      _this2.gsubrsBias = _this2.gsubrs.length < 1240 ? 107 : _this2.gsubrs.length < 33900 ? 1131 : 32768;
-      _this2.subrsBias = _this2.subrs.length < 1240 ? 107 : _this2.subrs.length < 33900 ? 1131 : 32768;
-      _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;
-      _this2.fdSelect = cffInfo.fdSelect;
-      _this2.fdArray = cffInfo.fdArray;
-      return _this2;
+  class Type2Compiled extends CompiledFont {
+    constructor(cffInfo, cmap, fontMatrix, glyphNameMap) {
+      super(fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);
+      this.glyphs = cffInfo.glyphs;
+      this.gsubrs = cffInfo.gsubrs || [];
+      this.subrs = cffInfo.subrs || [];
+      this.cmap = cmap;
+      this.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();
+      this.gsubrsBias = getSubroutineBias(this.gsubrs);
+      this.subrsBias = getSubroutineBias(this.subrs);
+      this.isCFFCIDFont = cffInfo.isCFFCIDFont;
+      this.fdSelect = cffInfo.fdSelect;
+      this.fdArray = cffInfo.fdArray;
     }
 
-    _createClass(Type2Compiled, [{
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl(code, cmds, glyphId) {
-        compileCharString(code, cmds, this, glyphId);
-      }
-    }]);
+    compileGlyphImpl(code, cmds, glyphId) {
+      compileCharString(code, cmds, this, glyphId);
+    }
 
-    return Type2Compiled;
-  }(CompiledFont);
+  }
 
   return {
     create: function FontRendererFactory_create(font, seacAnalysisEnabled) {
@@ -48300,24 +37802,24 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
         var length = getLong(data, p + 12);
 
         switch (tag) {
-          case 'cmap':
+          case "cmap":
             cmap = parseCmap(data, offset, offset + length);
             break;
 
-          case 'glyf':
+          case "glyf":
             glyf = data.subarray(offset, offset + length);
             break;
 
-          case 'loca':
+          case "loca":
             loca = data.subarray(offset, offset + length);
             break;
 
-          case 'head':
+          case "head":
             unitsPerEm = getUshort(data, offset + 18);
             indexToLocFormat = getUshort(data, offset + 50);
             break;
 
-          case 'CFF ':
+          case "CFF ":
             cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);
             break;
         }
@@ -48336,7 +37838,7 @@ var FontRendererFactory = function FontRendererFactoryClosure() {
 exports.FontRendererFactory = FontRendererFactory;
 
 /***/ }),
-/* 214 */
+/* 35 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -48347,31 +37849,33 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.Type1Parser = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _encodings = __w_pdfjs_require__(30);
 
-var _encodings = __w_pdfjs_require__(209);
+var _core_utils = __w_pdfjs_require__(7);
 
-var _stream = __w_pdfjs_require__(190);
+var _stream = __w_pdfjs_require__(11);
+
+var _util = __w_pdfjs_require__(2);
 
 var HINTING_ENABLED = false;
 
 var Type1CharString = function Type1CharStringClosure() {
   var COMMAND_MAP = {
-    'hstem': [1],
-    'vstem': [3],
-    'vmoveto': [4],
-    'rlineto': [5],
-    'hlineto': [6],
-    'vlineto': [7],
-    'rrcurveto': [8],
-    'callsubr': [10],
-    'flex': [12, 35],
-    'drop': [12, 18],
-    'endchar': [14],
-    'rmoveto': [21],
-    'hmoveto': [22],
-    'vhcurveto': [30],
-    'hvcurveto': [31]
+    hstem: [1],
+    vstem: [3],
+    vmoveto: [4],
+    rlineto: [5],
+    hlineto: [6],
+    vlineto: [7],
+    rrcurveto: [8],
+    callsubr: [10],
+    flex: [12, 35],
+    drop: [12, 18],
+    endchar: [14],
+    rmoveto: [21],
+    hmoveto: [22],
+    vhcurveto: [30],
+    hvcurveto: [31]
   };
 
   function Type1CharString() {
@@ -48624,7 +38128,8 @@ var Type1CharString = function Type1CharStringClosure() {
 
       return error;
     },
-    executeCommand: function executeCommand(howManyArgs, command, keepStack) {
+
+    executeCommand(howManyArgs, command, keepStack) {
       var stackLength = this.stack.length;
 
       if (howManyArgs > stackLength) {
@@ -48640,7 +38145,7 @@ var Type1CharString = function Type1CharStringClosure() {
           this.output.push(28, value >> 8 & 0xff, value & 0xff);
         } else {
           value = 65536 * value | 0;
-          this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);
+          this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
         }
       }
 
@@ -48654,6 +38159,7 @@ var Type1CharString = function Type1CharStringClosure() {
 
       return false;
     }
+
   };
   return Type1CharString;
 }();
@@ -48727,7 +38233,7 @@ var Type1Parser = function Type1ParserClosure() {
   }
 
   function isSpecial(c) {
-    return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;
+    return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;
   }
 
   function Type1Parser(stream, encrypted, seacAnalysisEnabled) {
@@ -48750,7 +38256,7 @@ var Type1Parser = function Type1ParserClosure() {
       while (true) {
         var token = this.getToken();
 
-        if (token === null || token === ']' || token === '}') {
+        if (token === null || token === "]" || token === "}") {
           break;
         }
 
@@ -48769,7 +38275,7 @@ var Type1Parser = function Type1ParserClosure() {
     },
     readBoolean: function Type1Parser_readBoolean() {
       var token = this.getToken();
-      return token === 'true' ? 1 : 0;
+      return token === "true" ? 1 : 0;
     },
     nextChar: function Type1_nextChar() {
       return this.currentChar = this.stream.getByte();
@@ -48784,12 +38290,12 @@ var Type1Parser = function Type1ParserClosure() {
         }
 
         if (comment) {
-          if (ch === 0x0A || ch === 0x0D) {
+          if (ch === 0x0a || ch === 0x0d) {
             comment = false;
           }
         } else if (ch === 0x25) {
           comment = true;
-        } else if (!(0, _util.isSpace)(ch)) {
+        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {
           break;
         }
 
@@ -48801,12 +38307,12 @@ var Type1Parser = function Type1ParserClosure() {
         return String.fromCharCode(ch);
       }
 
-      var token = '';
+      var token = "";
 
       do {
         token += String.fromCharCode(ch);
         ch = this.nextChar();
-      } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));
+      } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));
 
       return token;
     },
@@ -48822,25 +38328,25 @@ var Type1Parser = function Type1ParserClosure() {
       var subrs = [],
           charstrings = [];
       var privateData = Object.create(null);
-      privateData['lenIV'] = 4;
+      privateData["lenIV"] = 4;
       var program = {
         subrs: [],
         charstrings: [],
         properties: {
-          'privateData': privateData
+          privateData
         }
       };
       var token, length, data, lenIV, encoded;
 
       while ((token = this.getToken()) !== null) {
-        if (token !== '/') {
+        if (token !== "/") {
           continue;
         }
 
         token = this.getToken();
 
         switch (token) {
-          case 'CharStrings':
+          case "CharStrings":
             this.getToken();
             this.getToken();
             this.getToken();
@@ -48849,11 +38355,11 @@ var Type1Parser = function Type1ParserClosure() {
             while (true) {
               token = this.getToken();
 
-              if (token === null || token === 'end') {
+              if (token === null || token === "end") {
                 break;
               }
 
-              if (token !== '/') {
+              if (token !== "/") {
                 continue;
               }
 
@@ -48861,38 +38367,38 @@ var Type1Parser = function Type1ParserClosure() {
               length = this.readInt();
               this.getToken();
               data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
-              lenIV = program.properties.privateData['lenIV'];
+              lenIV = program.properties.privateData["lenIV"];
               encoded = this.readCharStrings(data, lenIV);
               this.nextChar();
               token = this.getToken();
 
-              if (token === 'noaccess') {
+              if (token === "noaccess") {
                 this.getToken();
               }
 
               charstrings.push({
-                glyph: glyph,
-                encoded: encoded
+                glyph,
+                encoded
               });
             }
 
             break;
 
-          case 'Subrs':
+          case "Subrs":
             this.readInt();
             this.getToken();
 
-            while (this.getToken() === 'dup') {
+            while (this.getToken() === "dup") {
               var index = this.readInt();
               length = this.readInt();
               this.getToken();
               data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
-              lenIV = program.properties.privateData['lenIV'];
+              lenIV = program.properties.privateData["lenIV"];
               encoded = this.readCharStrings(data, lenIV);
               this.nextChar();
               token = this.getToken();
 
-              if (token === 'noaccess') {
+              if (token === "noaccess") {
                 this.getToken();
               }
 
@@ -48901,10 +38407,10 @@ var Type1Parser = function Type1ParserClosure() {
 
             break;
 
-          case 'BlueValues':
-          case 'OtherBlues':
-          case 'FamilyBlues':
-          case 'FamilyOtherBlues':
+          case "BlueValues":
+          case "OtherBlues":
+          case "FamilyBlues":
+          case "FamilyOtherBlues":
             var blueArray = this.readNumberArray();
 
             if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {
@@ -48913,26 +38419,26 @@ var Type1Parser = function Type1ParserClosure() {
 
             break;
 
-          case 'StemSnapH':
-          case 'StemSnapV':
+          case "StemSnapH":
+          case "StemSnapV":
             program.properties.privateData[token] = this.readNumberArray();
             break;
 
-          case 'StdHW':
-          case 'StdVW':
+          case "StdHW":
+          case "StdVW":
             program.properties.privateData[token] = this.readNumberArray()[0];
             break;
 
-          case 'BlueShift':
-          case 'lenIV':
-          case 'BlueFuzz':
-          case 'BlueScale':
-          case 'LanguageGroup':
-          case 'ExpansionFactor':
+          case "BlueShift":
+          case "lenIV":
+          case "BlueFuzz":
+          case "BlueScale":
+          case "LanguageGroup":
+          case "ExpansionFactor":
             program.properties.privateData[token] = this.readNumber();
             break;
 
-          case 'ForceBold':
+          case "ForceBold":
             program.properties.privateData[token] = this.readBoolean();
             break;
         }
@@ -48949,19 +38455,25 @@ var Type1Parser = function Type1ParserClosure() {
           output = [14];
         }
 
-        program.charstrings.push({
+        const charStringObject = {
           glyphName: glyph,
           charstring: output,
           width: charString.width,
           lsb: charString.lsb,
           seac: charString.seac
-        });
+        };
+
+        if (glyph === ".notdef") {
+          program.charstrings.unshift(charStringObject);
+        } else {
+          program.charstrings.push(charStringObject);
+        }
 
         if (properties.builtInEncoding) {
-          var _index = properties.builtInEncoding.indexOf(glyph);
+          const index = properties.builtInEncoding.indexOf(glyph);
 
-          if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && 
_index <= properties.lastChar) {
-            properties.widths[_index] = charString.width;
+          if (index > -1 && properties.widths[index] === undefined && index >= properties.firstChar && index 
<= properties.lastChar) {
+            properties.widths[index] = charString.width;
           }
         }
       }
@@ -48972,19 +38484,19 @@ var Type1Parser = function Type1ParserClosure() {
       var token;
 
       while ((token = this.getToken()) !== null) {
-        if (token !== '/') {
+        if (token !== "/") {
           continue;
         }
 
         token = this.getToken();
 
         switch (token) {
-          case 'FontMatrix':
+          case "FontMatrix":
             var matrix = this.readNumberArray();
             properties.fontMatrix = matrix;
             break;
 
-          case 'Encoding':
+          case "Encoding":
             var encodingArg = this.getToken();
             var encoding;
 
@@ -48998,7 +38510,7 @@ var Type1Parser = function Type1ParserClosure() {
               for (var j = 0; j < size; j++) {
                 token = this.getToken();
 
-                while (token !== 'dup' && token !== 'def') {
+                while (token !== "dup" && token !== "def") {
                   token = this.getToken();
 
                   if (token === null) {
@@ -49006,7 +38518,7 @@ var Type1Parser = function Type1ParserClosure() {
                   }
                 }
 
-                if (token === 'def') {
+                if (token === "def") {
                   break;
                 }
 
@@ -49021,7 +38533,7 @@ var Type1Parser = function Type1ParserClosure() {
             properties.builtInEncoding = encoding;
             break;
 
-          case 'FontBBox':
+          case "FontBBox":
             var fontBBox = this.readNumberArray();
             properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
             properties.descent = Math.min(fontBBox[1], fontBBox[3]);
@@ -49037,7 +38549,7 @@ var Type1Parser = function Type1ParserClosure() {
 exports.Type1Parser = Type1Parser;
 
 /***/ }),
-/* 215 */
+/* 36 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -49049,13 +38561,13 @@ Object.defineProperty(exports, "__esModule", {
 exports.getTilingPatternIR = getTilingPatternIR;
 exports.Pattern = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var _colorspace = __w_pdfjs_require__(201);
+var _colorspace = __w_pdfjs_require__(22);
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-var _core_utils = __w_pdfjs_require__(186);
+var _core_utils = __w_pdfjs_require__(7);
 
 var ShadingType = {
   FUNCTION_BASED: 1,
@@ -49069,18 +38581,18 @@ var ShadingType = {
 
 var Pattern = function PatternClosure() {
   function Pattern() {
-    (0, _util.unreachable)('should not call Pattern constructor');
+    (0, _util.unreachable)("should not call Pattern constructor");
   }
 
   Pattern.prototype = {
     getPattern: function Pattern_getPattern(ctx) {
-      (0, _util.unreachable)("Should not call Pattern.getStyle: ".concat(ctx));
+      (0, _util.unreachable)(`Should not call Pattern.getStyle: ${ctx}`);
     }
   };
 
   Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {
     var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;
-    var type = dict.get('ShadingType');
+    var type = dict.get("ShadingType");
 
     try {
       switch (type) {
@@ -49095,14 +38607,14 @@ var Pattern = function PatternClosure() {
           return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);
 
         default:
-          throw new _util.FormatError('Unsupported ShadingType: ' + type);
+          throw new _util.FormatError("Unsupported ShadingType: " + type);
       }
     } catch (ex) {
       if (ex instanceof _core_utils.MissingDataException) {
         throw ex;
       }
 
-      handler.send('UnsupportedFeature', {
+      handler.send("UnsupportedFeature", {
         featureId: _util.UNSUPPORTED_FEATURES.shadingPattern
       });
       (0, _util.warn)(ex);
@@ -49120,13 +38632,13 @@ Shadings.SMALL_NUMBER = 1e-6;
 Shadings.RadialAxial = function RadialAxialClosure() {
   function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {
     this.matrix = matrix;
-    this.coordsArr = dict.getArray('Coords');
-    this.shadingType = dict.get('ShadingType');
-    this.type = 'Pattern';
-    var cs = dict.get('ColorSpace', 'CS');
+    this.coordsArr = dict.getArray("Coords");
+    this.shadingType = dict.get("ShadingType");
+    this.type = "Pattern";
+    var cs = dict.get("ColorSpace", "CS");
     cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);
     this.cs = cs;
-    var bbox = dict.getArray('BBox');
+    const bbox = dict.getArray("BBox");
 
     if (Array.isArray(bbox) && bbox.length === 4) {
       this.bbox = _util.Util.normalizeRect(bbox);
@@ -49137,8 +38649,8 @@ Shadings.RadialAxial = function RadialAxialClosure() {
     var t0 = 0.0,
         t1 = 1.0;
 
-    if (dict.has('Domain')) {
-      var domainArr = dict.getArray('Domain');
+    if (dict.has("Domain")) {
+      var domainArr = dict.getArray("Domain");
       t0 = domainArr[0];
       t1 = domainArr[1];
     }
@@ -49146,8 +38658,8 @@ Shadings.RadialAxial = function RadialAxialClosure() {
     var extendStart = false,
         extendEnd = false;
 
-    if (dict.has('Extend')) {
-      var extendArr = dict.getArray('Extend');
+    if (dict.has("Extend")) {
+      var extendArr = dict.getArray("Extend");
       extendStart = extendArr[0];
       extendEnd = extendArr[1];
     }
@@ -49162,20 +38674,20 @@ Shadings.RadialAxial = function RadialAxialClosure() {
       var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
 
       if (r1 <= r2 + distance && r2 <= r1 + distance) {
-        (0, _util.warn)('Unsupported radial gradient.');
+        (0, _util.warn)("Unsupported radial gradient.");
       }
     }
 
     this.extendStart = extendStart;
     this.extendEnd = extendEnd;
-    var fnObj = dict.get('Function');
+    var fnObj = dict.get("Function");
     var fn = pdfFunctionFactory.createFromArray(fnObj);
-    var NUMBER_OF_SAMPLES = 10;
-    var step = (t1 - t0) / NUMBER_OF_SAMPLES;
+    const NUMBER_OF_SAMPLES = 10;
+    const step = (t1 - t0) / NUMBER_OF_SAMPLES;
     var colorStops = this.colorStops = [];
 
     if (t0 >= t1 || step <= 0) {
-      (0, _util.info)('Bad shading domain.');
+      (0, _util.info)("Bad shading domain.");
       return;
     }
 
@@ -49183,7 +38695,7 @@ Shadings.RadialAxial = function RadialAxialClosure() {
         ratio = new Float32Array(1);
     var rgbColor;
 
-    for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {
+    for (let i = 0; i <= NUMBER_OF_SAMPLES; i++) {
       ratio[0] = t0 + i * step;
       fn(ratio, 0, color, 0);
       rgbColor = cs.getRgb(color, 0);
@@ -49193,10 +38705,10 @@ Shadings.RadialAxial = function RadialAxialClosure() {
       colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);
     }
 
-    var background = 'transparent';
+    var background = "transparent";
 
-    if (dict.has('Background')) {
-      rgbColor = cs.getRgb(dict.get('Background'), 0);
+    if (dict.has("Background")) {
+      rgbColor = cs.getRgb(dict.get("Background"), 0);
       background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
     }
 
@@ -49224,15 +38736,15 @@ Shadings.RadialAxial = function RadialAxialClosure() {
         p1 = [coordsArr[2], coordsArr[3]];
         r0 = null;
         r1 = null;
-        type = 'axial';
+        type = "axial";
       } else if (shadingType === ShadingType.RADIAL) {
         p0 = [coordsArr[0], coordsArr[1]];
         p1 = [coordsArr[3], coordsArr[4]];
         r0 = coordsArr[2];
         r1 = coordsArr[5];
-        type = 'radial';
+        type = "radial";
       } else {
-        (0, _util.unreachable)("getPattern type unknown: ".concat(shadingType));
+        (0, _util.unreachable)(`getPattern type unknown: ${shadingType}`);
       }
 
       var matrix = this.matrix;
@@ -49249,7 +38761,7 @@ Shadings.RadialAxial = function RadialAxialClosure() {
         }
       }
 
-      return ['RadialAxial', type, this.bbox, this.colorStops, p0, p1, r0, r1];
+      return ["RadialAxial", type, this.bbox, this.colorStops, p0, p1, r0, r1];
     }
   };
   return RadialAxial;
@@ -49300,7 +38812,7 @@ Shadings.Mesh = function MeshClosure() {
         buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | 
this.stream.getByte();
         var nextByte = this.stream.getByte();
         this.buffer = nextByte & (1 << bufferLength) - 1;
-        return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0;
+        return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;
       }
 
       if (n === 8 && bufferLength === 0) {
@@ -49368,7 +38880,7 @@ Shadings.Mesh = function MeshClosure() {
 
       if (verticesLeft === 0) {
         if (!(0 <= f && f <= 2)) {
-          throw new _util.FormatError('Unknown type4 flag');
+          throw new _util.FormatError("Unknown type4 flag");
         }
 
         switch (f) {
@@ -49398,7 +38910,7 @@ Shadings.Mesh = function MeshClosure() {
     }
 
     mesh.figures.push({
-      type: 'triangles',
+      type: "triangles",
       coords: new Int32Array(ps),
       colors: new Int32Array(ps)
     });
@@ -49418,10 +38930,10 @@ Shadings.Mesh = function MeshClosure() {
     }
 
     mesh.figures.push({
-      type: 'lattice',
+      type: "lattice",
       coords: new Int32Array(ps),
       colors: new Int32Array(ps),
-      verticesPerRow: verticesPerRow
+      verticesPerRow
     });
   }
 
@@ -49454,7 +38966,7 @@ Shadings.Mesh = function MeshClosure() {
 
   function buildFigureFromPatch(mesh, index) {
     var figure = mesh.figures[index];
-    (0, _util.assert)(figure.type === 'patch', 'Unexpected patch mesh figure');
+    (0, _util.assert)(figure.type === "patch", "Unexpected patch mesh figure");
     var coords = mesh.coords,
         colors = mesh.colors;
     var pi = figure.coords;
@@ -49525,10 +39037,10 @@ Shadings.Mesh = function MeshClosure() {
     figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];
     figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];
     mesh.figures[index] = {
-      type: 'lattice',
+      type: "lattice",
       coords: figureCoords,
       colors: figureColors,
-      verticesPerRow: verticesPerRow
+      verticesPerRow
     };
   }
 
@@ -49542,7 +39054,7 @@ Shadings.Mesh = function MeshClosure() {
       var f = reader.readFlag();
 
       if (!(0 <= f && f <= 3)) {
-        throw new _util.FormatError('Unknown type6 flag');
+        throw new _util.FormatError("Unknown type6 flag");
       }
 
       var i, ii;
@@ -49656,7 +39168,7 @@ Shadings.Mesh = function MeshClosure() {
       ps[10] = coords.length;
       coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) 
- 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * 
coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + 
coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);
       mesh.figures.push({
-        type: 'patch',
+        type: "patch",
         coords: new Int32Array(ps),
         colors: new Int32Array(cs)
       });
@@ -49673,7 +39185,7 @@ Shadings.Mesh = function MeshClosure() {
       var f = reader.readFlag();
 
       if (!(0 <= f && f <= 3)) {
-        throw new _util.FormatError('Unknown type7 flag');
+        throw new _util.FormatError("Unknown type7 flag");
       }
 
       var i, ii;
@@ -49795,7 +39307,7 @@ Shadings.Mesh = function MeshClosure() {
       }
 
       mesh.figures.push({
-        type: 'patch',
+        type: "patch",
         coords: new Int32Array(ps),
         colors: new Int32Array(cs)
       });
@@ -49859,14 +39371,14 @@ Shadings.Mesh = function MeshClosure() {
 
   function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {
     if (!(0, _primitives.isStream)(stream)) {
-      throw new _util.FormatError('Mesh data is not a stream');
+      throw new _util.FormatError("Mesh data is not a stream");
     }
 
     var dict = stream.dict;
     this.matrix = matrix;
-    this.shadingType = dict.get('ShadingType');
-    this.type = 'Pattern';
-    var bbox = dict.getArray('BBox');
+    this.shadingType = dict.get("ShadingType");
+    this.type = "Pattern";
+    const bbox = dict.getArray("BBox");
 
     if (Array.isArray(bbox) && bbox.length === 4) {
       this.bbox = _util.Util.normalizeRect(bbox);
@@ -49874,20 +39386,20 @@ Shadings.Mesh = function MeshClosure() {
       this.bbox = null;
     }
 
-    var cs = dict.get('ColorSpace', 'CS');
+    var cs = dict.get("ColorSpace", "CS");
     cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);
     this.cs = cs;
-    this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null;
-    var fnObj = dict.get('Function');
+    this.background = dict.has("Background") ? cs.getRgb(dict.get("Background"), 0) : null;
+    var fnObj = dict.get("Function");
     var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;
     this.coords = [];
     this.colors = [];
     this.figures = [];
     var decodeContext = {
-      bitsPerCoordinate: dict.get('BitsPerCoordinate'),
-      bitsPerComponent: dict.get('BitsPerComponent'),
-      bitsPerFlag: dict.get('BitsPerFlag'),
-      decode: dict.getArray('Decode'),
+      bitsPerCoordinate: dict.get("BitsPerCoordinate"),
+      bitsPerComponent: dict.get("BitsPerComponent"),
+      bitsPerFlag: dict.get("BitsPerFlag"),
+      decode: dict.getArray("Decode"),
       colorFn: fn,
       colorSpace: cs,
       numComps: fn ? 1 : cs.numComps
@@ -49901,10 +39413,10 @@ Shadings.Mesh = function MeshClosure() {
         break;
 
       case ShadingType.LATTICE_FORM_MESH:
-        var verticesPerRow = dict.get('VerticesPerRow') | 0;
+        var verticesPerRow = dict.get("VerticesPerRow") | 0;
 
         if (verticesPerRow < 2) {
-          throw new _util.FormatError('Invalid VerticesPerRow');
+          throw new _util.FormatError("Invalid VerticesPerRow");
         }
 
         decodeType5Shading(this, reader, verticesPerRow);
@@ -49921,7 +39433,7 @@ Shadings.Mesh = function MeshClosure() {
         break;
 
       default:
-        (0, _util.unreachable)('Unsupported mesh type.');
+        (0, _util.unreachable)("Unsupported mesh type.");
         break;
     }
 
@@ -49939,7 +39451,7 @@ Shadings.Mesh = function MeshClosure() {
 
   Mesh.prototype = {
     getIR: function Mesh_getIR() {
-      return ['Mesh', this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, 
this.bbox, this.background];
+      return ["Mesh", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, 
this.bbox, this.background];
     }
   };
   return Mesh;
@@ -49947,36 +39459,36 @@ Shadings.Mesh = function MeshClosure() {
 
 Shadings.Dummy = function DummyClosure() {
   function Dummy() {
-    this.type = 'Pattern';
+    this.type = "Pattern";
   }
 
   Dummy.prototype = {
     getIR: function Dummy_getIR() {
-      return ['Dummy'];
+      return ["Dummy"];
     }
   };
   return Dummy;
 }();
 
 function getTilingPatternIR(operatorList, dict, args) {
-  var matrix = dict.getArray('Matrix');
+  const matrix = dict.getArray("Matrix");
 
-  var bbox = _util.Util.normalizeRect(dict.getArray('BBox'));
+  const bbox = _util.Util.normalizeRect(dict.getArray("BBox"));
 
-  var xstep = dict.get('XStep');
-  var ystep = dict.get('YStep');
-  var paintType = dict.get('PaintType');
-  var tilingType = dict.get('TilingType');
+  const xstep = dict.get("XStep");
+  const ystep = dict.get("YStep");
+  const paintType = dict.get("PaintType");
+  const tilingType = dict.get("TilingType");
 
   if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {
-    throw new _util.FormatError("Invalid getTilingPatternIR /BBox array: [".concat(bbox, "]."));
+    throw new _util.FormatError(`Invalid getTilingPatternIR /BBox array: [${bbox}].`);
   }
 
-  return ['TilingPattern', args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];
+  return ["TilingPattern", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];
 }
 
 /***/ }),
-/* 216 */
+/* 37 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -49987,10 +39499,10 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.bidi = bidi;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var baseTypes = ['BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS', 'B', 'BN', 'BN', 
'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 
'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'ON', 'ES', 'CS', 'ES', 'CS', 'CS', 'EN', 'EN', 'EN', 'EN', 'EN', 
'EN', 'EN', 'EN', 'EN', 'EN', 'CS', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 
'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 
'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 
'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 
'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 
'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 
'L', 'ON', 'ON', 'BN'
 , 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON', 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 
'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 
'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 
'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'];
-var arabicTypes = ['AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ON', 'ON', 'AL', 'ET', 'ET', 'AL', 'CS', 'AL', 'ON', 
'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', '', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 
'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'AN', 'AN', 
'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL',
  'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 
'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 
'NSM', 'AL', 'AL', 'NSM', 'NSM', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'EN', 'EN', 'EN', 'EN', 'EN', 
'EN', 'EN', 'EN', 'EN', 'EN', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'];
+var baseTypes = ["BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "S", "B", "S", "WS", "B", "BN", "BN", 
"BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "B", "B", "B", "S", "WS", "ON", "ON", 
"ET", "ET", "ET", "ON", "ON", "ON", "ON", "ON", "ES", "CS", "ES", "CS", "CS", "EN", "EN", "EN", "EN", "EN", 
"EN", "EN", "EN", "EN", "EN", "CS", "ON", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", 
"L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", 
"ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", 
"L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", "ON", "ON", "BN", "BN", "BN", "BN", "BN", "BN", "B", 
"BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", 
"BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "CS", "ON", "ET", "ET", "ET", "ET", "ON", "ON", "ON", "ON", 
"L", "ON", "ON", "BN"
 , "ON", "ON", "ET", "ET", "EN", "EN", "ON", "L", "ON", "ON", "ON", "EN", "L", "ON", "ON", "ON", "ON", "ON", 
"L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", 
"L", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", 
"L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "L", "L", "L", "L", "L", "L", "L", "L"];
+var arabicTypes = ["AN", "AN", "AN", "AN", "AN", "AN", "ON", "ON", "AL", "ET", "ET", "AL", "CS", "AL", "ON", 
"ON", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", 
"NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "AN", "AN", 
"AN", "AN", "AN", "AN", "AN", "AN", "AN", "ET", "AN", "AN", "AL", "AL", "AL", "NSM", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL",
  "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", 
"AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "ON", "NSM", "NSM", "NSM", "NSM", "NSM", 
"NSM", "AL", "AL", "NSM", "NSM", "ON", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "EN", "EN", "EN", "EN", "EN", 
"EN", "EN", "EN", "EN", "EN", "AL", "AL", "AL", "AL", "AL", "AL"];
 
 function isOdd(i) {
   return (i & 1) !== 0;
@@ -50024,10 +39536,18 @@ function reverseValues(arr, start, end) {
   }
 }
 
-function createBidiText(str, isLTR, vertical) {
+function createBidiText(str, isLTR, vertical = false) {
+  let dir = "ltr";
+
+  if (vertical) {
+    dir = "ttb";
+  } else if (!isLTR) {
+    dir = "rtl";
+  }
+
   return {
-    str: str,
-    dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl'
+    str,
+    dir
   };
 }
 
@@ -50050,23 +39570,23 @@ function bidi(str, startLevel, vertical) {
   for (i = 0; i < strLength; ++i) {
     chars[i] = str.charAt(i);
     var charCode = str.charCodeAt(i);
-    var charType = 'L';
+    var charType = "L";
 
     if (charCode <= 0x00ff) {
       charType = baseTypes[charCode];
     } else if (0x0590 <= charCode && charCode <= 0x05f4) {
-      charType = 'R';
+      charType = "R";
     } else if (0x0600 <= charCode && charCode <= 0x06ff) {
       charType = arabicTypes[charCode & 0xff];
 
       if (!charType) {
-        (0, _util.warn)('Bidi: invalid Unicode character ' + charCode.toString(16));
+        (0, _util.warn)("Bidi: invalid Unicode character " + charCode.toString(16));
       }
-    } else if (0x0700 <= charCode && charCode <= 0x08AC) {
-      charType = 'AL';
+    } else if (0x0700 <= charCode && charCode <= 0x08ac) {
+      charType = "AL";
     }
 
-    if (charType === 'R' || charType === 'AL' || charType === 'AN') {
+    if (charType === "R" || charType === "AL" || charType === "AN") {
       numBidi++;
     }
 
@@ -50094,13 +39614,13 @@ function bidi(str, startLevel, vertical) {
     levels[i] = startLevel;
   }
 
-  var e = isOdd(startLevel) ? 'R' : 'L';
+  var e = isOdd(startLevel) ? "R" : "L";
   var sor = e;
   var eor = sor;
   var lastType = sor;
 
   for (i = 0; i < strLength; ++i) {
-    if (types[i] === 'NSM') {
+    if (types[i] === "NSM") {
       types[i] = lastType;
     } else {
       lastType = types[i];
@@ -50113,9 +39633,9 @@ function bidi(str, startLevel, vertical) {
   for (i = 0; i < strLength; ++i) {
     t = types[i];
 
-    if (t === 'EN') {
-      types[i] = lastType === 'AL' ? 'AN' : 'EN';
-    } else if (t === 'R' || t === 'L' || t === 'AL') {
+    if (t === "EN") {
+      types[i] = lastType === "AL" ? "AN" : "EN";
+    } else if (t === "R" || t === "L" || t === "AL") {
       lastType = t;
     }
   }
@@ -50123,39 +39643,39 @@ function bidi(str, startLevel, vertical) {
   for (i = 0; i < strLength; ++i) {
     t = types[i];
 
-    if (t === 'AL') {
-      types[i] = 'R';
+    if (t === "AL") {
+      types[i] = "R";
     }
   }
 
   for (i = 1; i < strLength - 1; ++i) {
-    if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {
-      types[i] = 'EN';
+    if (types[i] === "ES" && types[i - 1] === "EN" && types[i + 1] === "EN") {
+      types[i] = "EN";
     }
 
-    if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 
1]) {
+    if (types[i] === "CS" && (types[i - 1] === "EN" || types[i - 1] === "AN") && types[i + 1] === types[i - 
1]) {
       types[i] = types[i - 1];
     }
   }
 
   for (i = 0; i < strLength; ++i) {
-    if (types[i] === 'EN') {
+    if (types[i] === "EN") {
       var j;
 
       for (j = i - 1; j >= 0; --j) {
-        if (types[j] !== 'ET') {
+        if (types[j] !== "ET") {
           break;
         }
 
-        types[j] = 'EN';
+        types[j] = "EN";
       }
 
       for (j = i + 1; j < strLength; ++j) {
-        if (types[j] !== 'ET') {
+        if (types[j] !== "ET") {
           break;
         }
 
-        types[j] = 'EN';
+        types[j] = "EN";
       }
     }
   }
@@ -50163,8 +39683,8 @@ function bidi(str, startLevel, vertical) {
   for (i = 0; i < strLength; ++i) {
     t = types[i];
 
-    if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') {
-      types[i] = 'ON';
+    if (t === "WS" || t === "ES" || t === "ET" || t === "CS") {
+      types[i] = "ON";
     }
   }
 
@@ -50173,16 +39693,16 @@ function bidi(str, startLevel, vertical) {
   for (i = 0; i < strLength; ++i) {
     t = types[i];
 
-    if (t === 'EN') {
-      types[i] = lastType === 'L' ? 'L' : 'EN';
-    } else if (t === 'R' || t === 'L') {
+    if (t === "EN") {
+      types[i] = lastType === "L" ? "L" : "EN";
+    } else if (t === "R" || t === "L") {
       lastType = t;
     }
   }
 
   for (i = 0; i < strLength; ++i) {
-    if (types[i] === 'ON') {
-      var end = findUnequal(types, i + 1, 'ON');
+    if (types[i] === "ON") {
+      var end = findUnequal(types, i + 1, "ON");
       var before = sor;
 
       if (i > 0) {
@@ -50195,12 +39715,12 @@ function bidi(str, startLevel, vertical) {
         after = types[end + 1];
       }
 
-      if (before !== 'L') {
-        before = 'R';
+      if (before !== "L") {
+        before = "R";
       }
 
-      if (after !== 'L') {
-        after = 'R';
+      if (after !== "L") {
+        after = "R";
       }
 
       if (before === after) {
@@ -50212,7 +39732,7 @@ function bidi(str, startLevel, vertical) {
   }
 
   for (i = 0; i < strLength; ++i) {
-    if (types[i] === 'ON') {
+    if (types[i] === "ON") {
       types[i] = e;
     }
   }
@@ -50221,13 +39741,13 @@ function bidi(str, startLevel, vertical) {
     t = types[i];
 
     if (isEven(levels[i])) {
-      if (t === 'R') {
+      if (t === "R") {
         levels[i] += 1;
-      } else if (t === 'AN' || t === 'EN') {
+      } else if (t === "AN" || t === "EN") {
         levels[i] += 2;
       }
     } else {
-      if (t === 'L' || t === 'AN' || t === 'EN') {
+      if (t === "L" || t === "AN" || t === "EN") {
         levels[i] += 1;
       }
     }
@@ -50271,16 +39791,16 @@ function bidi(str, startLevel, vertical) {
   for (i = 0, ii = chars.length; i < ii; ++i) {
     var ch = chars[i];
 
-    if (ch === '<' || ch === '>') {
-      chars[i] = '';
+    if (ch === "<" || ch === ">") {
+      chars[i] = "";
     }
   }
 
-  return createBidiText(chars.join(''), isLTR);
+  return createBidiText(chars.join(""), isLTR);
 }
 
 /***/ }),
-/* 217 */
+/* 38 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -50291,2950 +39811,2950 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.getMetrics = void 0;
 
-var _core_utils = __w_pdfjs_require__(186);
+var _core_utils = __w_pdfjs_require__(7);
 
 var getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t['Courier'] = 600;
-  t['Courier-Bold'] = 600;
-  t['Courier-BoldOblique'] = 600;
-  t['Courier-Oblique'] = 600;
-  t['Helvetica'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 278;
-    t['exclam'] = 278;
-    t['quotedbl'] = 355;
-    t['numbersign'] = 556;
-    t['dollar'] = 556;
-    t['percent'] = 889;
-    t['ampersand'] = 667;
-    t['quoteright'] = 222;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 389;
-    t['plus'] = 584;
-    t['comma'] = 278;
-    t['hyphen'] = 333;
-    t['period'] = 278;
-    t['slash'] = 278;
-    t['zero'] = 556;
-    t['one'] = 556;
-    t['two'] = 556;
-    t['three'] = 556;
-    t['four'] = 556;
-    t['five'] = 556;
-    t['six'] = 556;
-    t['seven'] = 556;
-    t['eight'] = 556;
-    t['nine'] = 556;
-    t['colon'] = 278;
-    t['semicolon'] = 278;
-    t['less'] = 584;
-    t['equal'] = 584;
-    t['greater'] = 584;
-    t['question'] = 556;
-    t['at'] = 1015;
-    t['A'] = 667;
-    t['B'] = 667;
-    t['C'] = 722;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 611;
-    t['G'] = 778;
-    t['H'] = 722;
-    t['I'] = 278;
-    t['J'] = 500;
-    t['K'] = 667;
-    t['L'] = 556;
-    t['M'] = 833;
-    t['N'] = 722;
-    t['O'] = 778;
-    t['P'] = 667;
-    t['Q'] = 778;
-    t['R'] = 722;
-    t['S'] = 667;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 667;
-    t['W'] = 944;
-    t['X'] = 667;
-    t['Y'] = 667;
-    t['Z'] = 611;
-    t['bracketleft'] = 278;
-    t['backslash'] = 278;
-    t['bracketright'] = 278;
-    t['asciicircum'] = 469;
-    t['underscore'] = 556;
-    t['quoteleft'] = 222;
-    t['a'] = 556;
-    t['b'] = 556;
-    t['c'] = 500;
-    t['d'] = 556;
-    t['e'] = 556;
-    t['f'] = 278;
-    t['g'] = 556;
-    t['h'] = 556;
-    t['i'] = 222;
-    t['j'] = 222;
-    t['k'] = 500;
-    t['l'] = 222;
-    t['m'] = 833;
-    t['n'] = 556;
-    t['o'] = 556;
-    t['p'] = 556;
-    t['q'] = 556;
-    t['r'] = 333;
-    t['s'] = 500;
-    t['t'] = 278;
-    t['u'] = 556;
-    t['v'] = 500;
-    t['w'] = 722;
-    t['x'] = 500;
-    t['y'] = 500;
-    t['z'] = 500;
-    t['braceleft'] = 334;
-    t['bar'] = 260;
-    t['braceright'] = 334;
-    t['asciitilde'] = 584;
-    t['exclamdown'] = 333;
-    t['cent'] = 556;
-    t['sterling'] = 556;
-    t['fraction'] = 167;
-    t['yen'] = 556;
-    t['florin'] = 556;
-    t['section'] = 556;
-    t['currency'] = 556;
-    t['quotesingle'] = 191;
-    t['quotedblleft'] = 333;
-    t['guillemotleft'] = 556;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 500;
-    t['fl'] = 500;
-    t['endash'] = 556;
-    t['dagger'] = 556;
-    t['daggerdbl'] = 556;
-    t['periodcentered'] = 278;
-    t['paragraph'] = 537;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 222;
-    t['quotedblbase'] = 333;
-    t['quotedblright'] = 333;
-    t['guillemotright'] = 556;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 611;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 1000;
-    t['ordfeminine'] = 370;
-    t['Lslash'] = 556;
-    t['Oslash'] = 778;
-    t['OE'] = 1000;
-    t['ordmasculine'] = 365;
-    t['ae'] = 889;
-    t['dotlessi'] = 278;
-    t['lslash'] = 222;
-    t['oslash'] = 611;
-    t['oe'] = 944;
-    t['germandbls'] = 611;
-    t['Idieresis'] = 278;
-    t['eacute'] = 556;
-    t['abreve'] = 556;
-    t['uhungarumlaut'] = 556;
-    t['ecaron'] = 556;
-    t['Ydieresis'] = 667;
-    t['divide'] = 584;
-    t['Yacute'] = 667;
-    t['Acircumflex'] = 667;
-    t['aacute'] = 556;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 500;
-    t['scommaaccent'] = 500;
-    t['ecircumflex'] = 556;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 556;
-    t['Uacute'] = 722;
-    t['uogonek'] = 556;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 737;
-    t['Emacron'] = 667;
-    t['ccaron'] = 500;
-    t['aring'] = 556;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 222;
-    t['agrave'] = 556;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 722;
-    t['atilde'] = 556;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 500;
-    t['scedilla'] = 500;
-    t['iacute'] = 278;
-    t['lozenge'] = 471;
-    t['Rcaron'] = 722;
-    t['Gcommaaccent'] = 778;
-    t['ucircumflex'] = 556;
-    t['acircumflex'] = 556;
-    t['Amacron'] = 667;
-    t['rcaron'] = 333;
-    t['ccedilla'] = 500;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 667;
-    t['Omacron'] = 778;
-    t['Racute'] = 722;
-    t['Sacute'] = 667;
-    t['dcaron'] = 643;
-    t['Umacron'] = 722;
-    t['uring'] = 556;
-    t['threesuperior'] = 333;
-    t['Ograve'] = 778;
-    t['Agrave'] = 667;
-    t['Abreve'] = 667;
-    t['multiply'] = 584;
-    t['uacute'] = 556;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 476;
-    t['ydieresis'] = 500;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 556;
-    t['edieresis'] = 556;
-    t['cacute'] = 500;
-    t['nacute'] = 556;
-    t['umacron'] = 556;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 278;
-    t['plusminus'] = 584;
-    t['brokenbar'] = 260;
-    t['registered'] = 737;
-    t['Gbreve'] = 778;
-    t['Idotaccent'] = 278;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 333;
-    t['omacron'] = 556;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 722;
-    t['lcommaaccent'] = 222;
-    t['tcaron'] = 317;
-    t['eogonek'] = 556;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 667;
-    t['Adieresis'] = 667;
-    t['egrave'] = 556;
-    t['zacute'] = 500;
-    t['iogonek'] = 222;
-    t['Oacute'] = 778;
-    t['oacute'] = 556;
-    t['amacron'] = 556;
-    t['sacute'] = 500;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 778;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 556;
-    t['twosuperior'] = 333;
-    t['Odieresis'] = 778;
-    t['mu'] = 556;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 556;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 556;
-    t['threequarters'] = 834;
-    t['Scedilla'] = 667;
-    t['lcaron'] = 299;
-    t['Kcommaaccent'] = 667;
-    t['Lacute'] = 556;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 556;
-    t['Igrave'] = 278;
-    t['Imacron'] = 278;
-    t['Lcaron'] = 556;
-    t['onehalf'] = 834;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 556;
-    t['ntilde'] = 556;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 556;
-    t['gbreve'] = 556;
-    t['onequarter'] = 834;
-    t['Scaron'] = 667;
-    t['Scommaaccent'] = 667;
-    t['Ohungarumlaut'] = 778;
-    t['degree'] = 400;
-    t['ograve'] = 556;
-    t['Ccaron'] = 722;
-    t['ugrave'] = 556;
-    t['radical'] = 453;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 333;
-    t['Ntilde'] = 722;
-    t['otilde'] = 556;
-    t['Rcommaaccent'] = 722;
-    t['Lcommaaccent'] = 556;
-    t['Atilde'] = 667;
-    t['Aogonek'] = 667;
-    t['Aring'] = 667;
-    t['Otilde'] = 778;
-    t['zdotaccent'] = 500;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 278;
-    t['kcommaaccent'] = 500;
-    t['minus'] = 584;
-    t['Icircumflex'] = 278;
-    t['ncaron'] = 556;
-    t['tcommaaccent'] = 278;
-    t['logicalnot'] = 584;
-    t['odieresis'] = 556;
-    t['udieresis'] = 556;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 556;
-    t['eth'] = 556;
-    t['zcaron'] = 500;
-    t['ncommaaccent'] = 556;
-    t['onesuperior'] = 333;
-    t['imacron'] = 278;
-    t['Euro'] = 556;
+  t["Courier"] = 600;
+  t["Courier-Bold"] = 600;
+  t["Courier-BoldOblique"] = 600;
+  t["Courier-Oblique"] = 600;
+  t["Helvetica"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 278;
+    t["exclam"] = 278;
+    t["quotedbl"] = 355;
+    t["numbersign"] = 556;
+    t["dollar"] = 556;
+    t["percent"] = 889;
+    t["ampersand"] = 667;
+    t["quoteright"] = 222;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 389;
+    t["plus"] = 584;
+    t["comma"] = 278;
+    t["hyphen"] = 333;
+    t["period"] = 278;
+    t["slash"] = 278;
+    t["zero"] = 556;
+    t["one"] = 556;
+    t["two"] = 556;
+    t["three"] = 556;
+    t["four"] = 556;
+    t["five"] = 556;
+    t["six"] = 556;
+    t["seven"] = 556;
+    t["eight"] = 556;
+    t["nine"] = 556;
+    t["colon"] = 278;
+    t["semicolon"] = 278;
+    t["less"] = 584;
+    t["equal"] = 584;
+    t["greater"] = 584;
+    t["question"] = 556;
+    t["at"] = 1015;
+    t["A"] = 667;
+    t["B"] = 667;
+    t["C"] = 722;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 611;
+    t["G"] = 778;
+    t["H"] = 722;
+    t["I"] = 278;
+    t["J"] = 500;
+    t["K"] = 667;
+    t["L"] = 556;
+    t["M"] = 833;
+    t["N"] = 722;
+    t["O"] = 778;
+    t["P"] = 667;
+    t["Q"] = 778;
+    t["R"] = 722;
+    t["S"] = 667;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 667;
+    t["W"] = 944;
+    t["X"] = 667;
+    t["Y"] = 667;
+    t["Z"] = 611;
+    t["bracketleft"] = 278;
+    t["backslash"] = 278;
+    t["bracketright"] = 278;
+    t["asciicircum"] = 469;
+    t["underscore"] = 556;
+    t["quoteleft"] = 222;
+    t["a"] = 556;
+    t["b"] = 556;
+    t["c"] = 500;
+    t["d"] = 556;
+    t["e"] = 556;
+    t["f"] = 278;
+    t["g"] = 556;
+    t["h"] = 556;
+    t["i"] = 222;
+    t["j"] = 222;
+    t["k"] = 500;
+    t["l"] = 222;
+    t["m"] = 833;
+    t["n"] = 556;
+    t["o"] = 556;
+    t["p"] = 556;
+    t["q"] = 556;
+    t["r"] = 333;
+    t["s"] = 500;
+    t["t"] = 278;
+    t["u"] = 556;
+    t["v"] = 500;
+    t["w"] = 722;
+    t["x"] = 500;
+    t["y"] = 500;
+    t["z"] = 500;
+    t["braceleft"] = 334;
+    t["bar"] = 260;
+    t["braceright"] = 334;
+    t["asciitilde"] = 584;
+    t["exclamdown"] = 333;
+    t["cent"] = 556;
+    t["sterling"] = 556;
+    t["fraction"] = 167;
+    t["yen"] = 556;
+    t["florin"] = 556;
+    t["section"] = 556;
+    t["currency"] = 556;
+    t["quotesingle"] = 191;
+    t["quotedblleft"] = 333;
+    t["guillemotleft"] = 556;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 500;
+    t["fl"] = 500;
+    t["endash"] = 556;
+    t["dagger"] = 556;
+    t["daggerdbl"] = 556;
+    t["periodcentered"] = 278;
+    t["paragraph"] = 537;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 222;
+    t["quotedblbase"] = 333;
+    t["quotedblright"] = 333;
+    t["guillemotright"] = 556;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 611;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 1000;
+    t["ordfeminine"] = 370;
+    t["Lslash"] = 556;
+    t["Oslash"] = 778;
+    t["OE"] = 1000;
+    t["ordmasculine"] = 365;
+    t["ae"] = 889;
+    t["dotlessi"] = 278;
+    t["lslash"] = 222;
+    t["oslash"] = 611;
+    t["oe"] = 944;
+    t["germandbls"] = 611;
+    t["Idieresis"] = 278;
+    t["eacute"] = 556;
+    t["abreve"] = 556;
+    t["uhungarumlaut"] = 556;
+    t["ecaron"] = 556;
+    t["Ydieresis"] = 667;
+    t["divide"] = 584;
+    t["Yacute"] = 667;
+    t["Acircumflex"] = 667;
+    t["aacute"] = 556;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 500;
+    t["scommaaccent"] = 500;
+    t["ecircumflex"] = 556;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 556;
+    t["Uacute"] = 722;
+    t["uogonek"] = 556;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 737;
+    t["Emacron"] = 667;
+    t["ccaron"] = 500;
+    t["aring"] = 556;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 222;
+    t["agrave"] = 556;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 722;
+    t["atilde"] = 556;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 500;
+    t["scedilla"] = 500;
+    t["iacute"] = 278;
+    t["lozenge"] = 471;
+    t["Rcaron"] = 722;
+    t["Gcommaaccent"] = 778;
+    t["ucircumflex"] = 556;
+    t["acircumflex"] = 556;
+    t["Amacron"] = 667;
+    t["rcaron"] = 333;
+    t["ccedilla"] = 500;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 667;
+    t["Omacron"] = 778;
+    t["Racute"] = 722;
+    t["Sacute"] = 667;
+    t["dcaron"] = 643;
+    t["Umacron"] = 722;
+    t["uring"] = 556;
+    t["threesuperior"] = 333;
+    t["Ograve"] = 778;
+    t["Agrave"] = 667;
+    t["Abreve"] = 667;
+    t["multiply"] = 584;
+    t["uacute"] = 556;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 476;
+    t["ydieresis"] = 500;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 556;
+    t["edieresis"] = 556;
+    t["cacute"] = 500;
+    t["nacute"] = 556;
+    t["umacron"] = 556;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 278;
+    t["plusminus"] = 584;
+    t["brokenbar"] = 260;
+    t["registered"] = 737;
+    t["Gbreve"] = 778;
+    t["Idotaccent"] = 278;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 333;
+    t["omacron"] = 556;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 722;
+    t["lcommaaccent"] = 222;
+    t["tcaron"] = 317;
+    t["eogonek"] = 556;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 667;
+    t["Adieresis"] = 667;
+    t["egrave"] = 556;
+    t["zacute"] = 500;
+    t["iogonek"] = 222;
+    t["Oacute"] = 778;
+    t["oacute"] = 556;
+    t["amacron"] = 556;
+    t["sacute"] = 500;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 778;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 556;
+    t["twosuperior"] = 333;
+    t["Odieresis"] = 778;
+    t["mu"] = 556;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 556;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 556;
+    t["threequarters"] = 834;
+    t["Scedilla"] = 667;
+    t["lcaron"] = 299;
+    t["Kcommaaccent"] = 667;
+    t["Lacute"] = 556;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 556;
+    t["Igrave"] = 278;
+    t["Imacron"] = 278;
+    t["Lcaron"] = 556;
+    t["onehalf"] = 834;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 556;
+    t["ntilde"] = 556;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 556;
+    t["gbreve"] = 556;
+    t["onequarter"] = 834;
+    t["Scaron"] = 667;
+    t["Scommaaccent"] = 667;
+    t["Ohungarumlaut"] = 778;
+    t["degree"] = 400;
+    t["ograve"] = 556;
+    t["Ccaron"] = 722;
+    t["ugrave"] = 556;
+    t["radical"] = 453;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 333;
+    t["Ntilde"] = 722;
+    t["otilde"] = 556;
+    t["Rcommaaccent"] = 722;
+    t["Lcommaaccent"] = 556;
+    t["Atilde"] = 667;
+    t["Aogonek"] = 667;
+    t["Aring"] = 667;
+    t["Otilde"] = 778;
+    t["zdotaccent"] = 500;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 278;
+    t["kcommaaccent"] = 500;
+    t["minus"] = 584;
+    t["Icircumflex"] = 278;
+    t["ncaron"] = 556;
+    t["tcommaaccent"] = 278;
+    t["logicalnot"] = 584;
+    t["odieresis"] = 556;
+    t["udieresis"] = 556;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 556;
+    t["eth"] = 556;
+    t["zcaron"] = 500;
+    t["ncommaaccent"] = 556;
+    t["onesuperior"] = 333;
+    t["imacron"] = 278;
+    t["Euro"] = 556;
   });
-  t['Helvetica-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 278;
-    t['exclam'] = 333;
-    t['quotedbl'] = 474;
-    t['numbersign'] = 556;
-    t['dollar'] = 556;
-    t['percent'] = 889;
-    t['ampersand'] = 722;
-    t['quoteright'] = 278;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 389;
-    t['plus'] = 584;
-    t['comma'] = 278;
-    t['hyphen'] = 333;
-    t['period'] = 278;
-    t['slash'] = 278;
-    t['zero'] = 556;
-    t['one'] = 556;
-    t['two'] = 556;
-    t['three'] = 556;
-    t['four'] = 556;
-    t['five'] = 556;
-    t['six'] = 556;
-    t['seven'] = 556;
-    t['eight'] = 556;
-    t['nine'] = 556;
-    t['colon'] = 333;
-    t['semicolon'] = 333;
-    t['less'] = 584;
-    t['equal'] = 584;
-    t['greater'] = 584;
-    t['question'] = 611;
-    t['at'] = 975;
-    t['A'] = 722;
-    t['B'] = 722;
-    t['C'] = 722;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 611;
-    t['G'] = 778;
-    t['H'] = 722;
-    t['I'] = 278;
-    t['J'] = 556;
-    t['K'] = 722;
-    t['L'] = 611;
-    t['M'] = 833;
-    t['N'] = 722;
-    t['O'] = 778;
-    t['P'] = 667;
-    t['Q'] = 778;
-    t['R'] = 722;
-    t['S'] = 667;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 667;
-    t['W'] = 944;
-    t['X'] = 667;
-    t['Y'] = 667;
-    t['Z'] = 611;
-    t['bracketleft'] = 333;
-    t['backslash'] = 278;
-    t['bracketright'] = 333;
-    t['asciicircum'] = 584;
-    t['underscore'] = 556;
-    t['quoteleft'] = 278;
-    t['a'] = 556;
-    t['b'] = 611;
-    t['c'] = 556;
-    t['d'] = 611;
-    t['e'] = 556;
-    t['f'] = 333;
-    t['g'] = 611;
-    t['h'] = 611;
-    t['i'] = 278;
-    t['j'] = 278;
-    t['k'] = 556;
-    t['l'] = 278;
-    t['m'] = 889;
-    t['n'] = 611;
-    t['o'] = 611;
-    t['p'] = 611;
-    t['q'] = 611;
-    t['r'] = 389;
-    t['s'] = 556;
-    t['t'] = 333;
-    t['u'] = 611;
-    t['v'] = 556;
-    t['w'] = 778;
-    t['x'] = 556;
-    t['y'] = 556;
-    t['z'] = 500;
-    t['braceleft'] = 389;
-    t['bar'] = 280;
-    t['braceright'] = 389;
-    t['asciitilde'] = 584;
-    t['exclamdown'] = 333;
-    t['cent'] = 556;
-    t['sterling'] = 556;
-    t['fraction'] = 167;
-    t['yen'] = 556;
-    t['florin'] = 556;
-    t['section'] = 556;
-    t['currency'] = 556;
-    t['quotesingle'] = 238;
-    t['quotedblleft'] = 500;
-    t['guillemotleft'] = 556;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 611;
-    t['fl'] = 611;
-    t['endash'] = 556;
-    t['dagger'] = 556;
-    t['daggerdbl'] = 556;
-    t['periodcentered'] = 278;
-    t['paragraph'] = 556;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 278;
-    t['quotedblbase'] = 500;
-    t['quotedblright'] = 500;
-    t['guillemotright'] = 556;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 611;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 1000;
-    t['ordfeminine'] = 370;
-    t['Lslash'] = 611;
-    t['Oslash'] = 778;
-    t['OE'] = 1000;
-    t['ordmasculine'] = 365;
-    t['ae'] = 889;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 611;
-    t['oe'] = 944;
-    t['germandbls'] = 611;
-    t['Idieresis'] = 278;
-    t['eacute'] = 556;
-    t['abreve'] = 556;
-    t['uhungarumlaut'] = 611;
-    t['ecaron'] = 556;
-    t['Ydieresis'] = 667;
-    t['divide'] = 584;
-    t['Yacute'] = 667;
-    t['Acircumflex'] = 722;
-    t['aacute'] = 556;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 556;
-    t['scommaaccent'] = 556;
-    t['ecircumflex'] = 556;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 556;
-    t['Uacute'] = 722;
-    t['uogonek'] = 611;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 737;
-    t['Emacron'] = 667;
-    t['ccaron'] = 556;
-    t['aring'] = 556;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 278;
-    t['agrave'] = 556;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 722;
-    t['atilde'] = 556;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 556;
-    t['scedilla'] = 556;
-    t['iacute'] = 278;
-    t['lozenge'] = 494;
-    t['Rcaron'] = 722;
-    t['Gcommaaccent'] = 778;
-    t['ucircumflex'] = 611;
-    t['acircumflex'] = 556;
-    t['Amacron'] = 722;
-    t['rcaron'] = 389;
-    t['ccedilla'] = 556;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 667;
-    t['Omacron'] = 778;
-    t['Racute'] = 722;
-    t['Sacute'] = 667;
-    t['dcaron'] = 743;
-    t['Umacron'] = 722;
-    t['uring'] = 611;
-    t['threesuperior'] = 333;
-    t['Ograve'] = 778;
-    t['Agrave'] = 722;
-    t['Abreve'] = 722;
-    t['multiply'] = 584;
-    t['uacute'] = 611;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 494;
-    t['ydieresis'] = 556;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 556;
-    t['edieresis'] = 556;
-    t['cacute'] = 556;
-    t['nacute'] = 611;
-    t['umacron'] = 611;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 278;
-    t['plusminus'] = 584;
-    t['brokenbar'] = 280;
-    t['registered'] = 737;
-    t['Gbreve'] = 778;
-    t['Idotaccent'] = 278;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 389;
-    t['omacron'] = 611;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 722;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 389;
-    t['eogonek'] = 556;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 722;
-    t['Adieresis'] = 722;
-    t['egrave'] = 556;
-    t['zacute'] = 500;
-    t['iogonek'] = 278;
-    t['Oacute'] = 778;
-    t['oacute'] = 611;
-    t['amacron'] = 556;
-    t['sacute'] = 556;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 778;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 611;
-    t['twosuperior'] = 333;
-    t['Odieresis'] = 778;
-    t['mu'] = 611;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 611;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 611;
-    t['threequarters'] = 834;
-    t['Scedilla'] = 667;
-    t['lcaron'] = 400;
-    t['Kcommaaccent'] = 722;
-    t['Lacute'] = 611;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 556;
-    t['Igrave'] = 278;
-    t['Imacron'] = 278;
-    t['Lcaron'] = 611;
-    t['onehalf'] = 834;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 611;
-    t['ntilde'] = 611;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 556;
-    t['gbreve'] = 611;
-    t['onequarter'] = 834;
-    t['Scaron'] = 667;
-    t['Scommaaccent'] = 667;
-    t['Ohungarumlaut'] = 778;
-    t['degree'] = 400;
-    t['ograve'] = 611;
-    t['Ccaron'] = 722;
-    t['ugrave'] = 611;
-    t['radical'] = 549;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 389;
-    t['Ntilde'] = 722;
-    t['otilde'] = 611;
-    t['Rcommaaccent'] = 722;
-    t['Lcommaaccent'] = 611;
-    t['Atilde'] = 722;
-    t['Aogonek'] = 722;
-    t['Aring'] = 722;
-    t['Otilde'] = 778;
-    t['zdotaccent'] = 500;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 278;
-    t['kcommaaccent'] = 556;
-    t['minus'] = 584;
-    t['Icircumflex'] = 278;
-    t['ncaron'] = 611;
-    t['tcommaaccent'] = 333;
-    t['logicalnot'] = 584;
-    t['odieresis'] = 611;
-    t['udieresis'] = 611;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 611;
-    t['eth'] = 611;
-    t['zcaron'] = 500;
-    t['ncommaaccent'] = 611;
-    t['onesuperior'] = 333;
-    t['imacron'] = 278;
-    t['Euro'] = 556;
+  t["Helvetica-Bold"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 278;
+    t["exclam"] = 333;
+    t["quotedbl"] = 474;
+    t["numbersign"] = 556;
+    t["dollar"] = 556;
+    t["percent"] = 889;
+    t["ampersand"] = 722;
+    t["quoteright"] = 278;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 389;
+    t["plus"] = 584;
+    t["comma"] = 278;
+    t["hyphen"] = 333;
+    t["period"] = 278;
+    t["slash"] = 278;
+    t["zero"] = 556;
+    t["one"] = 556;
+    t["two"] = 556;
+    t["three"] = 556;
+    t["four"] = 556;
+    t["five"] = 556;
+    t["six"] = 556;
+    t["seven"] = 556;
+    t["eight"] = 556;
+    t["nine"] = 556;
+    t["colon"] = 333;
+    t["semicolon"] = 333;
+    t["less"] = 584;
+    t["equal"] = 584;
+    t["greater"] = 584;
+    t["question"] = 611;
+    t["at"] = 975;
+    t["A"] = 722;
+    t["B"] = 722;
+    t["C"] = 722;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 611;
+    t["G"] = 778;
+    t["H"] = 722;
+    t["I"] = 278;
+    t["J"] = 556;
+    t["K"] = 722;
+    t["L"] = 611;
+    t["M"] = 833;
+    t["N"] = 722;
+    t["O"] = 778;
+    t["P"] = 667;
+    t["Q"] = 778;
+    t["R"] = 722;
+    t["S"] = 667;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 667;
+    t["W"] = 944;
+    t["X"] = 667;
+    t["Y"] = 667;
+    t["Z"] = 611;
+    t["bracketleft"] = 333;
+    t["backslash"] = 278;
+    t["bracketright"] = 333;
+    t["asciicircum"] = 584;
+    t["underscore"] = 556;
+    t["quoteleft"] = 278;
+    t["a"] = 556;
+    t["b"] = 611;
+    t["c"] = 556;
+    t["d"] = 611;
+    t["e"] = 556;
+    t["f"] = 333;
+    t["g"] = 611;
+    t["h"] = 611;
+    t["i"] = 278;
+    t["j"] = 278;
+    t["k"] = 556;
+    t["l"] = 278;
+    t["m"] = 889;
+    t["n"] = 611;
+    t["o"] = 611;
+    t["p"] = 611;
+    t["q"] = 611;
+    t["r"] = 389;
+    t["s"] = 556;
+    t["t"] = 333;
+    t["u"] = 611;
+    t["v"] = 556;
+    t["w"] = 778;
+    t["x"] = 556;
+    t["y"] = 556;
+    t["z"] = 500;
+    t["braceleft"] = 389;
+    t["bar"] = 280;
+    t["braceright"] = 389;
+    t["asciitilde"] = 584;
+    t["exclamdown"] = 333;
+    t["cent"] = 556;
+    t["sterling"] = 556;
+    t["fraction"] = 167;
+    t["yen"] = 556;
+    t["florin"] = 556;
+    t["section"] = 556;
+    t["currency"] = 556;
+    t["quotesingle"] = 238;
+    t["quotedblleft"] = 500;
+    t["guillemotleft"] = 556;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 611;
+    t["fl"] = 611;
+    t["endash"] = 556;
+    t["dagger"] = 556;
+    t["daggerdbl"] = 556;
+    t["periodcentered"] = 278;
+    t["paragraph"] = 556;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 278;
+    t["quotedblbase"] = 500;
+    t["quotedblright"] = 500;
+    t["guillemotright"] = 556;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 611;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 1000;
+    t["ordfeminine"] = 370;
+    t["Lslash"] = 611;
+    t["Oslash"] = 778;
+    t["OE"] = 1000;
+    t["ordmasculine"] = 365;
+    t["ae"] = 889;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 611;
+    t["oe"] = 944;
+    t["germandbls"] = 611;
+    t["Idieresis"] = 278;
+    t["eacute"] = 556;
+    t["abreve"] = 556;
+    t["uhungarumlaut"] = 611;
+    t["ecaron"] = 556;
+    t["Ydieresis"] = 667;
+    t["divide"] = 584;
+    t["Yacute"] = 667;
+    t["Acircumflex"] = 722;
+    t["aacute"] = 556;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 556;
+    t["scommaaccent"] = 556;
+    t["ecircumflex"] = 556;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 556;
+    t["Uacute"] = 722;
+    t["uogonek"] = 611;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 737;
+    t["Emacron"] = 667;
+    t["ccaron"] = 556;
+    t["aring"] = 556;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 278;
+    t["agrave"] = 556;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 722;
+    t["atilde"] = 556;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 556;
+    t["scedilla"] = 556;
+    t["iacute"] = 278;
+    t["lozenge"] = 494;
+    t["Rcaron"] = 722;
+    t["Gcommaaccent"] = 778;
+    t["ucircumflex"] = 611;
+    t["acircumflex"] = 556;
+    t["Amacron"] = 722;
+    t["rcaron"] = 389;
+    t["ccedilla"] = 556;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 667;
+    t["Omacron"] = 778;
+    t["Racute"] = 722;
+    t["Sacute"] = 667;
+    t["dcaron"] = 743;
+    t["Umacron"] = 722;
+    t["uring"] = 611;
+    t["threesuperior"] = 333;
+    t["Ograve"] = 778;
+    t["Agrave"] = 722;
+    t["Abreve"] = 722;
+    t["multiply"] = 584;
+    t["uacute"] = 611;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 494;
+    t["ydieresis"] = 556;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 556;
+    t["edieresis"] = 556;
+    t["cacute"] = 556;
+    t["nacute"] = 611;
+    t["umacron"] = 611;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 278;
+    t["plusminus"] = 584;
+    t["brokenbar"] = 280;
+    t["registered"] = 737;
+    t["Gbreve"] = 778;
+    t["Idotaccent"] = 278;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 389;
+    t["omacron"] = 611;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 722;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 389;
+    t["eogonek"] = 556;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 722;
+    t["Adieresis"] = 722;
+    t["egrave"] = 556;
+    t["zacute"] = 500;
+    t["iogonek"] = 278;
+    t["Oacute"] = 778;
+    t["oacute"] = 611;
+    t["amacron"] = 556;
+    t["sacute"] = 556;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 778;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 611;
+    t["twosuperior"] = 333;
+    t["Odieresis"] = 778;
+    t["mu"] = 611;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 611;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 611;
+    t["threequarters"] = 834;
+    t["Scedilla"] = 667;
+    t["lcaron"] = 400;
+    t["Kcommaaccent"] = 722;
+    t["Lacute"] = 611;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 556;
+    t["Igrave"] = 278;
+    t["Imacron"] = 278;
+    t["Lcaron"] = 611;
+    t["onehalf"] = 834;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 611;
+    t["ntilde"] = 611;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 556;
+    t["gbreve"] = 611;
+    t["onequarter"] = 834;
+    t["Scaron"] = 667;
+    t["Scommaaccent"] = 667;
+    t["Ohungarumlaut"] = 778;
+    t["degree"] = 400;
+    t["ograve"] = 611;
+    t["Ccaron"] = 722;
+    t["ugrave"] = 611;
+    t["radical"] = 549;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 389;
+    t["Ntilde"] = 722;
+    t["otilde"] = 611;
+    t["Rcommaaccent"] = 722;
+    t["Lcommaaccent"] = 611;
+    t["Atilde"] = 722;
+    t["Aogonek"] = 722;
+    t["Aring"] = 722;
+    t["Otilde"] = 778;
+    t["zdotaccent"] = 500;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 278;
+    t["kcommaaccent"] = 556;
+    t["minus"] = 584;
+    t["Icircumflex"] = 278;
+    t["ncaron"] = 611;
+    t["tcommaaccent"] = 333;
+    t["logicalnot"] = 584;
+    t["odieresis"] = 611;
+    t["udieresis"] = 611;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 611;
+    t["eth"] = 611;
+    t["zcaron"] = 500;
+    t["ncommaaccent"] = 611;
+    t["onesuperior"] = 333;
+    t["imacron"] = 278;
+    t["Euro"] = 556;
   });
-  t['Helvetica-BoldOblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 278;
-    t['exclam'] = 333;
-    t['quotedbl'] = 474;
-    t['numbersign'] = 556;
-    t['dollar'] = 556;
-    t['percent'] = 889;
-    t['ampersand'] = 722;
-    t['quoteright'] = 278;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 389;
-    t['plus'] = 584;
-    t['comma'] = 278;
-    t['hyphen'] = 333;
-    t['period'] = 278;
-    t['slash'] = 278;
-    t['zero'] = 556;
-    t['one'] = 556;
-    t['two'] = 556;
-    t['three'] = 556;
-    t['four'] = 556;
-    t['five'] = 556;
-    t['six'] = 556;
-    t['seven'] = 556;
-    t['eight'] = 556;
-    t['nine'] = 556;
-    t['colon'] = 333;
-    t['semicolon'] = 333;
-    t['less'] = 584;
-    t['equal'] = 584;
-    t['greater'] = 584;
-    t['question'] = 611;
-    t['at'] = 975;
-    t['A'] = 722;
-    t['B'] = 722;
-    t['C'] = 722;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 611;
-    t['G'] = 778;
-    t['H'] = 722;
-    t['I'] = 278;
-    t['J'] = 556;
-    t['K'] = 722;
-    t['L'] = 611;
-    t['M'] = 833;
-    t['N'] = 722;
-    t['O'] = 778;
-    t['P'] = 667;
-    t['Q'] = 778;
-    t['R'] = 722;
-    t['S'] = 667;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 667;
-    t['W'] = 944;
-    t['X'] = 667;
-    t['Y'] = 667;
-    t['Z'] = 611;
-    t['bracketleft'] = 333;
-    t['backslash'] = 278;
-    t['bracketright'] = 333;
-    t['asciicircum'] = 584;
-    t['underscore'] = 556;
-    t['quoteleft'] = 278;
-    t['a'] = 556;
-    t['b'] = 611;
-    t['c'] = 556;
-    t['d'] = 611;
-    t['e'] = 556;
-    t['f'] = 333;
-    t['g'] = 611;
-    t['h'] = 611;
-    t['i'] = 278;
-    t['j'] = 278;
-    t['k'] = 556;
-    t['l'] = 278;
-    t['m'] = 889;
-    t['n'] = 611;
-    t['o'] = 611;
-    t['p'] = 611;
-    t['q'] = 611;
-    t['r'] = 389;
-    t['s'] = 556;
-    t['t'] = 333;
-    t['u'] = 611;
-    t['v'] = 556;
-    t['w'] = 778;
-    t['x'] = 556;
-    t['y'] = 556;
-    t['z'] = 500;
-    t['braceleft'] = 389;
-    t['bar'] = 280;
-    t['braceright'] = 389;
-    t['asciitilde'] = 584;
-    t['exclamdown'] = 333;
-    t['cent'] = 556;
-    t['sterling'] = 556;
-    t['fraction'] = 167;
-    t['yen'] = 556;
-    t['florin'] = 556;
-    t['section'] = 556;
-    t['currency'] = 556;
-    t['quotesingle'] = 238;
-    t['quotedblleft'] = 500;
-    t['guillemotleft'] = 556;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 611;
-    t['fl'] = 611;
-    t['endash'] = 556;
-    t['dagger'] = 556;
-    t['daggerdbl'] = 556;
-    t['periodcentered'] = 278;
-    t['paragraph'] = 556;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 278;
-    t['quotedblbase'] = 500;
-    t['quotedblright'] = 500;
-    t['guillemotright'] = 556;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 611;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 1000;
-    t['ordfeminine'] = 370;
-    t['Lslash'] = 611;
-    t['Oslash'] = 778;
-    t['OE'] = 1000;
-    t['ordmasculine'] = 365;
-    t['ae'] = 889;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 611;
-    t['oe'] = 944;
-    t['germandbls'] = 611;
-    t['Idieresis'] = 278;
-    t['eacute'] = 556;
-    t['abreve'] = 556;
-    t['uhungarumlaut'] = 611;
-    t['ecaron'] = 556;
-    t['Ydieresis'] = 667;
-    t['divide'] = 584;
-    t['Yacute'] = 667;
-    t['Acircumflex'] = 722;
-    t['aacute'] = 556;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 556;
-    t['scommaaccent'] = 556;
-    t['ecircumflex'] = 556;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 556;
-    t['Uacute'] = 722;
-    t['uogonek'] = 611;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 737;
-    t['Emacron'] = 667;
-    t['ccaron'] = 556;
-    t['aring'] = 556;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 278;
-    t['agrave'] = 556;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 722;
-    t['atilde'] = 556;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 556;
-    t['scedilla'] = 556;
-    t['iacute'] = 278;
-    t['lozenge'] = 494;
-    t['Rcaron'] = 722;
-    t['Gcommaaccent'] = 778;
-    t['ucircumflex'] = 611;
-    t['acircumflex'] = 556;
-    t['Amacron'] = 722;
-    t['rcaron'] = 389;
-    t['ccedilla'] = 556;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 667;
-    t['Omacron'] = 778;
-    t['Racute'] = 722;
-    t['Sacute'] = 667;
-    t['dcaron'] = 743;
-    t['Umacron'] = 722;
-    t['uring'] = 611;
-    t['threesuperior'] = 333;
-    t['Ograve'] = 778;
-    t['Agrave'] = 722;
-    t['Abreve'] = 722;
-    t['multiply'] = 584;
-    t['uacute'] = 611;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 494;
-    t['ydieresis'] = 556;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 556;
-    t['edieresis'] = 556;
-    t['cacute'] = 556;
-    t['nacute'] = 611;
-    t['umacron'] = 611;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 278;
-    t['plusminus'] = 584;
-    t['brokenbar'] = 280;
-    t['registered'] = 737;
-    t['Gbreve'] = 778;
-    t['Idotaccent'] = 278;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 389;
-    t['omacron'] = 611;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 722;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 389;
-    t['eogonek'] = 556;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 722;
-    t['Adieresis'] = 722;
-    t['egrave'] = 556;
-    t['zacute'] = 500;
-    t['iogonek'] = 278;
-    t['Oacute'] = 778;
-    t['oacute'] = 611;
-    t['amacron'] = 556;
-    t['sacute'] = 556;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 778;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 611;
-    t['twosuperior'] = 333;
-    t['Odieresis'] = 778;
-    t['mu'] = 611;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 611;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 611;
-    t['threequarters'] = 834;
-    t['Scedilla'] = 667;
-    t['lcaron'] = 400;
-    t['Kcommaaccent'] = 722;
-    t['Lacute'] = 611;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 556;
-    t['Igrave'] = 278;
-    t['Imacron'] = 278;
-    t['Lcaron'] = 611;
-    t['onehalf'] = 834;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 611;
-    t['ntilde'] = 611;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 556;
-    t['gbreve'] = 611;
-    t['onequarter'] = 834;
-    t['Scaron'] = 667;
-    t['Scommaaccent'] = 667;
-    t['Ohungarumlaut'] = 778;
-    t['degree'] = 400;
-    t['ograve'] = 611;
-    t['Ccaron'] = 722;
-    t['ugrave'] = 611;
-    t['radical'] = 549;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 389;
-    t['Ntilde'] = 722;
-    t['otilde'] = 611;
-    t['Rcommaaccent'] = 722;
-    t['Lcommaaccent'] = 611;
-    t['Atilde'] = 722;
-    t['Aogonek'] = 722;
-    t['Aring'] = 722;
-    t['Otilde'] = 778;
-    t['zdotaccent'] = 500;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 278;
-    t['kcommaaccent'] = 556;
-    t['minus'] = 584;
-    t['Icircumflex'] = 278;
-    t['ncaron'] = 611;
-    t['tcommaaccent'] = 333;
-    t['logicalnot'] = 584;
-    t['odieresis'] = 611;
-    t['udieresis'] = 611;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 611;
-    t['eth'] = 611;
-    t['zcaron'] = 500;
-    t['ncommaaccent'] = 611;
-    t['onesuperior'] = 333;
-    t['imacron'] = 278;
-    t['Euro'] = 556;
+  t["Helvetica-BoldOblique"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 278;
+    t["exclam"] = 333;
+    t["quotedbl"] = 474;
+    t["numbersign"] = 556;
+    t["dollar"] = 556;
+    t["percent"] = 889;
+    t["ampersand"] = 722;
+    t["quoteright"] = 278;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 389;
+    t["plus"] = 584;
+    t["comma"] = 278;
+    t["hyphen"] = 333;
+    t["period"] = 278;
+    t["slash"] = 278;
+    t["zero"] = 556;
+    t["one"] = 556;
+    t["two"] = 556;
+    t["three"] = 556;
+    t["four"] = 556;
+    t["five"] = 556;
+    t["six"] = 556;
+    t["seven"] = 556;
+    t["eight"] = 556;
+    t["nine"] = 556;
+    t["colon"] = 333;
+    t["semicolon"] = 333;
+    t["less"] = 584;
+    t["equal"] = 584;
+    t["greater"] = 584;
+    t["question"] = 611;
+    t["at"] = 975;
+    t["A"] = 722;
+    t["B"] = 722;
+    t["C"] = 722;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 611;
+    t["G"] = 778;
+    t["H"] = 722;
+    t["I"] = 278;
+    t["J"] = 556;
+    t["K"] = 722;
+    t["L"] = 611;
+    t["M"] = 833;
+    t["N"] = 722;
+    t["O"] = 778;
+    t["P"] = 667;
+    t["Q"] = 778;
+    t["R"] = 722;
+    t["S"] = 667;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 667;
+    t["W"] = 944;
+    t["X"] = 667;
+    t["Y"] = 667;
+    t["Z"] = 611;
+    t["bracketleft"] = 333;
+    t["backslash"] = 278;
+    t["bracketright"] = 333;
+    t["asciicircum"] = 584;
+    t["underscore"] = 556;
+    t["quoteleft"] = 278;
+    t["a"] = 556;
+    t["b"] = 611;
+    t["c"] = 556;
+    t["d"] = 611;
+    t["e"] = 556;
+    t["f"] = 333;
+    t["g"] = 611;
+    t["h"] = 611;
+    t["i"] = 278;
+    t["j"] = 278;
+    t["k"] = 556;
+    t["l"] = 278;
+    t["m"] = 889;
+    t["n"] = 611;
+    t["o"] = 611;
+    t["p"] = 611;
+    t["q"] = 611;
+    t["r"] = 389;
+    t["s"] = 556;
+    t["t"] = 333;
+    t["u"] = 611;
+    t["v"] = 556;
+    t["w"] = 778;
+    t["x"] = 556;
+    t["y"] = 556;
+    t["z"] = 500;
+    t["braceleft"] = 389;
+    t["bar"] = 280;
+    t["braceright"] = 389;
+    t["asciitilde"] = 584;
+    t["exclamdown"] = 333;
+    t["cent"] = 556;
+    t["sterling"] = 556;
+    t["fraction"] = 167;
+    t["yen"] = 556;
+    t["florin"] = 556;
+    t["section"] = 556;
+    t["currency"] = 556;
+    t["quotesingle"] = 238;
+    t["quotedblleft"] = 500;
+    t["guillemotleft"] = 556;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 611;
+    t["fl"] = 611;
+    t["endash"] = 556;
+    t["dagger"] = 556;
+    t["daggerdbl"] = 556;
+    t["periodcentered"] = 278;
+    t["paragraph"] = 556;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 278;
+    t["quotedblbase"] = 500;
+    t["quotedblright"] = 500;
+    t["guillemotright"] = 556;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 611;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 1000;
+    t["ordfeminine"] = 370;
+    t["Lslash"] = 611;
+    t["Oslash"] = 778;
+    t["OE"] = 1000;
+    t["ordmasculine"] = 365;
+    t["ae"] = 889;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 611;
+    t["oe"] = 944;
+    t["germandbls"] = 611;
+    t["Idieresis"] = 278;
+    t["eacute"] = 556;
+    t["abreve"] = 556;
+    t["uhungarumlaut"] = 611;
+    t["ecaron"] = 556;
+    t["Ydieresis"] = 667;
+    t["divide"] = 584;
+    t["Yacute"] = 667;
+    t["Acircumflex"] = 722;
+    t["aacute"] = 556;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 556;
+    t["scommaaccent"] = 556;
+    t["ecircumflex"] = 556;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 556;
+    t["Uacute"] = 722;
+    t["uogonek"] = 611;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 737;
+    t["Emacron"] = 667;
+    t["ccaron"] = 556;
+    t["aring"] = 556;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 278;
+    t["agrave"] = 556;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 722;
+    t["atilde"] = 556;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 556;
+    t["scedilla"] = 556;
+    t["iacute"] = 278;
+    t["lozenge"] = 494;
+    t["Rcaron"] = 722;
+    t["Gcommaaccent"] = 778;
+    t["ucircumflex"] = 611;
+    t["acircumflex"] = 556;
+    t["Amacron"] = 722;
+    t["rcaron"] = 389;
+    t["ccedilla"] = 556;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 667;
+    t["Omacron"] = 778;
+    t["Racute"] = 722;
+    t["Sacute"] = 667;
+    t["dcaron"] = 743;
+    t["Umacron"] = 722;
+    t["uring"] = 611;
+    t["threesuperior"] = 333;
+    t["Ograve"] = 778;
+    t["Agrave"] = 722;
+    t["Abreve"] = 722;
+    t["multiply"] = 584;
+    t["uacute"] = 611;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 494;
+    t["ydieresis"] = 556;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 556;
+    t["edieresis"] = 556;
+    t["cacute"] = 556;
+    t["nacute"] = 611;
+    t["umacron"] = 611;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 278;
+    t["plusminus"] = 584;
+    t["brokenbar"] = 280;
+    t["registered"] = 737;
+    t["Gbreve"] = 778;
+    t["Idotaccent"] = 278;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 389;
+    t["omacron"] = 611;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 722;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 389;
+    t["eogonek"] = 556;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 722;
+    t["Adieresis"] = 722;
+    t["egrave"] = 556;
+    t["zacute"] = 500;
+    t["iogonek"] = 278;
+    t["Oacute"] = 778;
+    t["oacute"] = 611;
+    t["amacron"] = 556;
+    t["sacute"] = 556;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 778;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 611;
+    t["twosuperior"] = 333;
+    t["Odieresis"] = 778;
+    t["mu"] = 611;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 611;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 611;
+    t["threequarters"] = 834;
+    t["Scedilla"] = 667;
+    t["lcaron"] = 400;
+    t["Kcommaaccent"] = 722;
+    t["Lacute"] = 611;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 556;
+    t["Igrave"] = 278;
+    t["Imacron"] = 278;
+    t["Lcaron"] = 611;
+    t["onehalf"] = 834;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 611;
+    t["ntilde"] = 611;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 556;
+    t["gbreve"] = 611;
+    t["onequarter"] = 834;
+    t["Scaron"] = 667;
+    t["Scommaaccent"] = 667;
+    t["Ohungarumlaut"] = 778;
+    t["degree"] = 400;
+    t["ograve"] = 611;
+    t["Ccaron"] = 722;
+    t["ugrave"] = 611;
+    t["radical"] = 549;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 389;
+    t["Ntilde"] = 722;
+    t["otilde"] = 611;
+    t["Rcommaaccent"] = 722;
+    t["Lcommaaccent"] = 611;
+    t["Atilde"] = 722;
+    t["Aogonek"] = 722;
+    t["Aring"] = 722;
+    t["Otilde"] = 778;
+    t["zdotaccent"] = 500;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 278;
+    t["kcommaaccent"] = 556;
+    t["minus"] = 584;
+    t["Icircumflex"] = 278;
+    t["ncaron"] = 611;
+    t["tcommaaccent"] = 333;
+    t["logicalnot"] = 584;
+    t["odieresis"] = 611;
+    t["udieresis"] = 611;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 611;
+    t["eth"] = 611;
+    t["zcaron"] = 500;
+    t["ncommaaccent"] = 611;
+    t["onesuperior"] = 333;
+    t["imacron"] = 278;
+    t["Euro"] = 556;
   });
-  t['Helvetica-Oblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 278;
-    t['exclam'] = 278;
-    t['quotedbl'] = 355;
-    t['numbersign'] = 556;
-    t['dollar'] = 556;
-    t['percent'] = 889;
-    t['ampersand'] = 667;
-    t['quoteright'] = 222;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 389;
-    t['plus'] = 584;
-    t['comma'] = 278;
-    t['hyphen'] = 333;
-    t['period'] = 278;
-    t['slash'] = 278;
-    t['zero'] = 556;
-    t['one'] = 556;
-    t['two'] = 556;
-    t['three'] = 556;
-    t['four'] = 556;
-    t['five'] = 556;
-    t['six'] = 556;
-    t['seven'] = 556;
-    t['eight'] = 556;
-    t['nine'] = 556;
-    t['colon'] = 278;
-    t['semicolon'] = 278;
-    t['less'] = 584;
-    t['equal'] = 584;
-    t['greater'] = 584;
-    t['question'] = 556;
-    t['at'] = 1015;
-    t['A'] = 667;
-    t['B'] = 667;
-    t['C'] = 722;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 611;
-    t['G'] = 778;
-    t['H'] = 722;
-    t['I'] = 278;
-    t['J'] = 500;
-    t['K'] = 667;
-    t['L'] = 556;
-    t['M'] = 833;
-    t['N'] = 722;
-    t['O'] = 778;
-    t['P'] = 667;
-    t['Q'] = 778;
-    t['R'] = 722;
-    t['S'] = 667;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 667;
-    t['W'] = 944;
-    t['X'] = 667;
-    t['Y'] = 667;
-    t['Z'] = 611;
-    t['bracketleft'] = 278;
-    t['backslash'] = 278;
-    t['bracketright'] = 278;
-    t['asciicircum'] = 469;
-    t['underscore'] = 556;
-    t['quoteleft'] = 222;
-    t['a'] = 556;
-    t['b'] = 556;
-    t['c'] = 500;
-    t['d'] = 556;
-    t['e'] = 556;
-    t['f'] = 278;
-    t['g'] = 556;
-    t['h'] = 556;
-    t['i'] = 222;
-    t['j'] = 222;
-    t['k'] = 500;
-    t['l'] = 222;
-    t['m'] = 833;
-    t['n'] = 556;
-    t['o'] = 556;
-    t['p'] = 556;
-    t['q'] = 556;
-    t['r'] = 333;
-    t['s'] = 500;
-    t['t'] = 278;
-    t['u'] = 556;
-    t['v'] = 500;
-    t['w'] = 722;
-    t['x'] = 500;
-    t['y'] = 500;
-    t['z'] = 500;
-    t['braceleft'] = 334;
-    t['bar'] = 260;
-    t['braceright'] = 334;
-    t['asciitilde'] = 584;
-    t['exclamdown'] = 333;
-    t['cent'] = 556;
-    t['sterling'] = 556;
-    t['fraction'] = 167;
-    t['yen'] = 556;
-    t['florin'] = 556;
-    t['section'] = 556;
-    t['currency'] = 556;
-    t['quotesingle'] = 191;
-    t['quotedblleft'] = 333;
-    t['guillemotleft'] = 556;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 500;
-    t['fl'] = 500;
-    t['endash'] = 556;
-    t['dagger'] = 556;
-    t['daggerdbl'] = 556;
-    t['periodcentered'] = 278;
-    t['paragraph'] = 537;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 222;
-    t['quotedblbase'] = 333;
-    t['quotedblright'] = 333;
-    t['guillemotright'] = 556;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 611;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 1000;
-    t['ordfeminine'] = 370;
-    t['Lslash'] = 556;
-    t['Oslash'] = 778;
-    t['OE'] = 1000;
-    t['ordmasculine'] = 365;
-    t['ae'] = 889;
-    t['dotlessi'] = 278;
-    t['lslash'] = 222;
-    t['oslash'] = 611;
-    t['oe'] = 944;
-    t['germandbls'] = 611;
-    t['Idieresis'] = 278;
-    t['eacute'] = 556;
-    t['abreve'] = 556;
-    t['uhungarumlaut'] = 556;
-    t['ecaron'] = 556;
-    t['Ydieresis'] = 667;
-    t['divide'] = 584;
-    t['Yacute'] = 667;
-    t['Acircumflex'] = 667;
-    t['aacute'] = 556;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 500;
-    t['scommaaccent'] = 500;
-    t['ecircumflex'] = 556;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 556;
-    t['Uacute'] = 722;
-    t['uogonek'] = 556;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 737;
-    t['Emacron'] = 667;
-    t['ccaron'] = 500;
-    t['aring'] = 556;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 222;
-    t['agrave'] = 556;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 722;
-    t['atilde'] = 556;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 500;
-    t['scedilla'] = 500;
-    t['iacute'] = 278;
-    t['lozenge'] = 471;
-    t['Rcaron'] = 722;
-    t['Gcommaaccent'] = 778;
-    t['ucircumflex'] = 556;
-    t['acircumflex'] = 556;
-    t['Amacron'] = 667;
-    t['rcaron'] = 333;
-    t['ccedilla'] = 500;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 667;
-    t['Omacron'] = 778;
-    t['Racute'] = 722;
-    t['Sacute'] = 667;
-    t['dcaron'] = 643;
-    t['Umacron'] = 722;
-    t['uring'] = 556;
-    t['threesuperior'] = 333;
-    t['Ograve'] = 778;
-    t['Agrave'] = 667;
-    t['Abreve'] = 667;
-    t['multiply'] = 584;
-    t['uacute'] = 556;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 476;
-    t['ydieresis'] = 500;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 556;
-    t['edieresis'] = 556;
-    t['cacute'] = 500;
-    t['nacute'] = 556;
-    t['umacron'] = 556;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 278;
-    t['plusminus'] = 584;
-    t['brokenbar'] = 260;
-    t['registered'] = 737;
-    t['Gbreve'] = 778;
-    t['Idotaccent'] = 278;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 333;
-    t['omacron'] = 556;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 722;
-    t['lcommaaccent'] = 222;
-    t['tcaron'] = 317;
-    t['eogonek'] = 556;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 667;
-    t['Adieresis'] = 667;
-    t['egrave'] = 556;
-    t['zacute'] = 500;
-    t['iogonek'] = 222;
-    t['Oacute'] = 778;
-    t['oacute'] = 556;
-    t['amacron'] = 556;
-    t['sacute'] = 500;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 778;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 556;
-    t['twosuperior'] = 333;
-    t['Odieresis'] = 778;
-    t['mu'] = 556;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 556;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 556;
-    t['threequarters'] = 834;
-    t['Scedilla'] = 667;
-    t['lcaron'] = 299;
-    t['Kcommaaccent'] = 667;
-    t['Lacute'] = 556;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 556;
-    t['Igrave'] = 278;
-    t['Imacron'] = 278;
-    t['Lcaron'] = 556;
-    t['onehalf'] = 834;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 556;
-    t['ntilde'] = 556;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 556;
-    t['gbreve'] = 556;
-    t['onequarter'] = 834;
-    t['Scaron'] = 667;
-    t['Scommaaccent'] = 667;
-    t['Ohungarumlaut'] = 778;
-    t['degree'] = 400;
-    t['ograve'] = 556;
-    t['Ccaron'] = 722;
-    t['ugrave'] = 556;
-    t['radical'] = 453;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 333;
-    t['Ntilde'] = 722;
-    t['otilde'] = 556;
-    t['Rcommaaccent'] = 722;
-    t['Lcommaaccent'] = 556;
-    t['Atilde'] = 667;
-    t['Aogonek'] = 667;
-    t['Aring'] = 667;
-    t['Otilde'] = 778;
-    t['zdotaccent'] = 500;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 278;
-    t['kcommaaccent'] = 500;
-    t['minus'] = 584;
-    t['Icircumflex'] = 278;
-    t['ncaron'] = 556;
-    t['tcommaaccent'] = 278;
-    t['logicalnot'] = 584;
-    t['odieresis'] = 556;
-    t['udieresis'] = 556;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 556;
-    t['eth'] = 556;
-    t['zcaron'] = 500;
-    t['ncommaaccent'] = 556;
-    t['onesuperior'] = 333;
-    t['imacron'] = 278;
-    t['Euro'] = 556;
+  t["Helvetica-Oblique"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 278;
+    t["exclam"] = 278;
+    t["quotedbl"] = 355;
+    t["numbersign"] = 556;
+    t["dollar"] = 556;
+    t["percent"] = 889;
+    t["ampersand"] = 667;
+    t["quoteright"] = 222;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 389;
+    t["plus"] = 584;
+    t["comma"] = 278;
+    t["hyphen"] = 333;
+    t["period"] = 278;
+    t["slash"] = 278;
+    t["zero"] = 556;
+    t["one"] = 556;
+    t["two"] = 556;
+    t["three"] = 556;
+    t["four"] = 556;
+    t["five"] = 556;
+    t["six"] = 556;
+    t["seven"] = 556;
+    t["eight"] = 556;
+    t["nine"] = 556;
+    t["colon"] = 278;
+    t["semicolon"] = 278;
+    t["less"] = 584;
+    t["equal"] = 584;
+    t["greater"] = 584;
+    t["question"] = 556;
+    t["at"] = 1015;
+    t["A"] = 667;
+    t["B"] = 667;
+    t["C"] = 722;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 611;
+    t["G"] = 778;
+    t["H"] = 722;
+    t["I"] = 278;
+    t["J"] = 500;
+    t["K"] = 667;
+    t["L"] = 556;
+    t["M"] = 833;
+    t["N"] = 722;
+    t["O"] = 778;
+    t["P"] = 667;
+    t["Q"] = 778;
+    t["R"] = 722;
+    t["S"] = 667;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 667;
+    t["W"] = 944;
+    t["X"] = 667;
+    t["Y"] = 667;
+    t["Z"] = 611;
+    t["bracketleft"] = 278;
+    t["backslash"] = 278;
+    t["bracketright"] = 278;
+    t["asciicircum"] = 469;
+    t["underscore"] = 556;
+    t["quoteleft"] = 222;
+    t["a"] = 556;
+    t["b"] = 556;
+    t["c"] = 500;
+    t["d"] = 556;
+    t["e"] = 556;
+    t["f"] = 278;
+    t["g"] = 556;
+    t["h"] = 556;
+    t["i"] = 222;
+    t["j"] = 222;
+    t["k"] = 500;
+    t["l"] = 222;
+    t["m"] = 833;
+    t["n"] = 556;
+    t["o"] = 556;
+    t["p"] = 556;
+    t["q"] = 556;
+    t["r"] = 333;
+    t["s"] = 500;
+    t["t"] = 278;
+    t["u"] = 556;
+    t["v"] = 500;
+    t["w"] = 722;
+    t["x"] = 500;
+    t["y"] = 500;
+    t["z"] = 500;
+    t["braceleft"] = 334;
+    t["bar"] = 260;
+    t["braceright"] = 334;
+    t["asciitilde"] = 584;
+    t["exclamdown"] = 333;
+    t["cent"] = 556;
+    t["sterling"] = 556;
+    t["fraction"] = 167;
+    t["yen"] = 556;
+    t["florin"] = 556;
+    t["section"] = 556;
+    t["currency"] = 556;
+    t["quotesingle"] = 191;
+    t["quotedblleft"] = 333;
+    t["guillemotleft"] = 556;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 500;
+    t["fl"] = 500;
+    t["endash"] = 556;
+    t["dagger"] = 556;
+    t["daggerdbl"] = 556;
+    t["periodcentered"] = 278;
+    t["paragraph"] = 537;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 222;
+    t["quotedblbase"] = 333;
+    t["quotedblright"] = 333;
+    t["guillemotright"] = 556;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 611;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 1000;
+    t["ordfeminine"] = 370;
+    t["Lslash"] = 556;
+    t["Oslash"] = 778;
+    t["OE"] = 1000;
+    t["ordmasculine"] = 365;
+    t["ae"] = 889;
+    t["dotlessi"] = 278;
+    t["lslash"] = 222;
+    t["oslash"] = 611;
+    t["oe"] = 944;
+    t["germandbls"] = 611;
+    t["Idieresis"] = 278;
+    t["eacute"] = 556;
+    t["abreve"] = 556;
+    t["uhungarumlaut"] = 556;
+    t["ecaron"] = 556;
+    t["Ydieresis"] = 667;
+    t["divide"] = 584;
+    t["Yacute"] = 667;
+    t["Acircumflex"] = 667;
+    t["aacute"] = 556;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 500;
+    t["scommaaccent"] = 500;
+    t["ecircumflex"] = 556;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 556;
+    t["Uacute"] = 722;
+    t["uogonek"] = 556;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 737;
+    t["Emacron"] = 667;
+    t["ccaron"] = 500;
+    t["aring"] = 556;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 222;
+    t["agrave"] = 556;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 722;
+    t["atilde"] = 556;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 500;
+    t["scedilla"] = 500;
+    t["iacute"] = 278;
+    t["lozenge"] = 471;
+    t["Rcaron"] = 722;
+    t["Gcommaaccent"] = 778;
+    t["ucircumflex"] = 556;
+    t["acircumflex"] = 556;
+    t["Amacron"] = 667;
+    t["rcaron"] = 333;
+    t["ccedilla"] = 500;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 667;
+    t["Omacron"] = 778;
+    t["Racute"] = 722;
+    t["Sacute"] = 667;
+    t["dcaron"] = 643;
+    t["Umacron"] = 722;
+    t["uring"] = 556;
+    t["threesuperior"] = 333;
+    t["Ograve"] = 778;
+    t["Agrave"] = 667;
+    t["Abreve"] = 667;
+    t["multiply"] = 584;
+    t["uacute"] = 556;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 476;
+    t["ydieresis"] = 500;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 556;
+    t["edieresis"] = 556;
+    t["cacute"] = 500;
+    t["nacute"] = 556;
+    t["umacron"] = 556;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 278;
+    t["plusminus"] = 584;
+    t["brokenbar"] = 260;
+    t["registered"] = 737;
+    t["Gbreve"] = 778;
+    t["Idotaccent"] = 278;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 333;
+    t["omacron"] = 556;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 722;
+    t["lcommaaccent"] = 222;
+    t["tcaron"] = 317;
+    t["eogonek"] = 556;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 667;
+    t["Adieresis"] = 667;
+    t["egrave"] = 556;
+    t["zacute"] = 500;
+    t["iogonek"] = 222;
+    t["Oacute"] = 778;
+    t["oacute"] = 556;
+    t["amacron"] = 556;
+    t["sacute"] = 500;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 778;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 556;
+    t["twosuperior"] = 333;
+    t["Odieresis"] = 778;
+    t["mu"] = 556;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 556;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 556;
+    t["threequarters"] = 834;
+    t["Scedilla"] = 667;
+    t["lcaron"] = 299;
+    t["Kcommaaccent"] = 667;
+    t["Lacute"] = 556;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 556;
+    t["Igrave"] = 278;
+    t["Imacron"] = 278;
+    t["Lcaron"] = 556;
+    t["onehalf"] = 834;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 556;
+    t["ntilde"] = 556;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 556;
+    t["gbreve"] = 556;
+    t["onequarter"] = 834;
+    t["Scaron"] = 667;
+    t["Scommaaccent"] = 667;
+    t["Ohungarumlaut"] = 778;
+    t["degree"] = 400;
+    t["ograve"] = 556;
+    t["Ccaron"] = 722;
+    t["ugrave"] = 556;
+    t["radical"] = 453;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 333;
+    t["Ntilde"] = 722;
+    t["otilde"] = 556;
+    t["Rcommaaccent"] = 722;
+    t["Lcommaaccent"] = 556;
+    t["Atilde"] = 667;
+    t["Aogonek"] = 667;
+    t["Aring"] = 667;
+    t["Otilde"] = 778;
+    t["zdotaccent"] = 500;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 278;
+    t["kcommaaccent"] = 500;
+    t["minus"] = 584;
+    t["Icircumflex"] = 278;
+    t["ncaron"] = 556;
+    t["tcommaaccent"] = 278;
+    t["logicalnot"] = 584;
+    t["odieresis"] = 556;
+    t["udieresis"] = 556;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 556;
+    t["eth"] = 556;
+    t["zcaron"] = 500;
+    t["ncommaaccent"] = 556;
+    t["onesuperior"] = 333;
+    t["imacron"] = 278;
+    t["Euro"] = 556;
   });
-  t['Symbol'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 250;
-    t['exclam'] = 333;
-    t['universal'] = 713;
-    t['numbersign'] = 500;
-    t['existential'] = 549;
-    t['percent'] = 833;
-    t['ampersand'] = 778;
-    t['suchthat'] = 439;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asteriskmath'] = 500;
-    t['plus'] = 549;
-    t['comma'] = 250;
-    t['minus'] = 549;
-    t['period'] = 250;
-    t['slash'] = 278;
-    t['zero'] = 500;
-    t['one'] = 500;
-    t['two'] = 500;
-    t['three'] = 500;
-    t['four'] = 500;
-    t['five'] = 500;
-    t['six'] = 500;
-    t['seven'] = 500;
-    t['eight'] = 500;
-    t['nine'] = 500;
-    t['colon'] = 278;
-    t['semicolon'] = 278;
-    t['less'] = 549;
-    t['equal'] = 549;
-    t['greater'] = 549;
-    t['question'] = 444;
-    t['congruent'] = 549;
-    t['Alpha'] = 722;
-    t['Beta'] = 667;
-    t['Chi'] = 722;
-    t['Delta'] = 612;
-    t['Epsilon'] = 611;
-    t['Phi'] = 763;
-    t['Gamma'] = 603;
-    t['Eta'] = 722;
-    t['Iota'] = 333;
-    t['theta1'] = 631;
-    t['Kappa'] = 722;
-    t['Lambda'] = 686;
-    t['Mu'] = 889;
-    t['Nu'] = 722;
-    t['Omicron'] = 722;
-    t['Pi'] = 768;
-    t['Theta'] = 741;
-    t['Rho'] = 556;
-    t['Sigma'] = 592;
-    t['Tau'] = 611;
-    t['Upsilon'] = 690;
-    t['sigma1'] = 439;
-    t['Omega'] = 768;
-    t['Xi'] = 645;
-    t['Psi'] = 795;
-    t['Zeta'] = 611;
-    t['bracketleft'] = 333;
-    t['therefore'] = 863;
-    t['bracketright'] = 333;
-    t['perpendicular'] = 658;
-    t['underscore'] = 500;
-    t['radicalex'] = 500;
-    t['alpha'] = 631;
-    t['beta'] = 549;
-    t['chi'] = 549;
-    t['delta'] = 494;
-    t['epsilon'] = 439;
-    t['phi'] = 521;
-    t['gamma'] = 411;
-    t['eta'] = 603;
-    t['iota'] = 329;
-    t['phi1'] = 603;
-    t['kappa'] = 549;
-    t['lambda'] = 549;
-    t['mu'] = 576;
-    t['nu'] = 521;
-    t['omicron'] = 549;
-    t['pi'] = 549;
-    t['theta'] = 521;
-    t['rho'] = 549;
-    t['sigma'] = 603;
-    t['tau'] = 439;
-    t['upsilon'] = 576;
-    t['omega1'] = 713;
-    t['omega'] = 686;
-    t['xi'] = 493;
-    t['psi'] = 686;
-    t['zeta'] = 494;
-    t['braceleft'] = 480;
-    t['bar'] = 200;
-    t['braceright'] = 480;
-    t['similar'] = 549;
-    t['Euro'] = 750;
-    t['Upsilon1'] = 620;
-    t['minute'] = 247;
-    t['lessequal'] = 549;
-    t['fraction'] = 167;
-    t['infinity'] = 713;
-    t['florin'] = 500;
-    t['club'] = 753;
-    t['diamond'] = 753;
-    t['heart'] = 753;
-    t['spade'] = 753;
-    t['arrowboth'] = 1042;
-    t['arrowleft'] = 987;
-    t['arrowup'] = 603;
-    t['arrowright'] = 987;
-    t['arrowdown'] = 603;
-    t['degree'] = 400;
-    t['plusminus'] = 549;
-    t['second'] = 411;
-    t['greaterequal'] = 549;
-    t['multiply'] = 549;
-    t['proportional'] = 713;
-    t['partialdiff'] = 494;
-    t['bullet'] = 460;
-    t['divide'] = 549;
-    t['notequal'] = 549;
-    t['equivalence'] = 549;
-    t['approxequal'] = 549;
-    t['ellipsis'] = 1000;
-    t['arrowvertex'] = 603;
-    t['arrowhorizex'] = 1000;
-    t['carriagereturn'] = 658;
-    t['aleph'] = 823;
-    t['Ifraktur'] = 686;
-    t['Rfraktur'] = 795;
-    t['weierstrass'] = 987;
-    t['circlemultiply'] = 768;
-    t['circleplus'] = 768;
-    t['emptyset'] = 823;
-    t['intersection'] = 768;
-    t['union'] = 768;
-    t['propersuperset'] = 713;
-    t['reflexsuperset'] = 713;
-    t['notsubset'] = 713;
-    t['propersubset'] = 713;
-    t['reflexsubset'] = 713;
-    t['element'] = 713;
-    t['notelement'] = 713;
-    t['angle'] = 768;
-    t['gradient'] = 713;
-    t['registerserif'] = 790;
-    t['copyrightserif'] = 790;
-    t['trademarkserif'] = 890;
-    t['product'] = 823;
-    t['radical'] = 549;
-    t['dotmath'] = 250;
-    t['logicalnot'] = 713;
-    t['logicaland'] = 603;
-    t['logicalor'] = 603;
-    t['arrowdblboth'] = 1042;
-    t['arrowdblleft'] = 987;
-    t['arrowdblup'] = 603;
-    t['arrowdblright'] = 987;
-    t['arrowdbldown'] = 603;
-    t['lozenge'] = 494;
-    t['angleleft'] = 329;
-    t['registersans'] = 790;
-    t['copyrightsans'] = 790;
-    t['trademarksans'] = 786;
-    t['summation'] = 713;
-    t['parenlefttp'] = 384;
-    t['parenleftex'] = 384;
-    t['parenleftbt'] = 384;
-    t['bracketlefttp'] = 384;
-    t['bracketleftex'] = 384;
-    t['bracketleftbt'] = 384;
-    t['bracelefttp'] = 494;
-    t['braceleftmid'] = 494;
-    t['braceleftbt'] = 494;
-    t['braceex'] = 494;
-    t['angleright'] = 329;
-    t['integral'] = 274;
-    t['integraltp'] = 686;
-    t['integralex'] = 686;
-    t['integralbt'] = 686;
-    t['parenrighttp'] = 384;
-    t['parenrightex'] = 384;
-    t['parenrightbt'] = 384;
-    t['bracketrighttp'] = 384;
-    t['bracketrightex'] = 384;
-    t['bracketrightbt'] = 384;
-    t['bracerighttp'] = 494;
-    t['bracerightmid'] = 494;
-    t['bracerightbt'] = 494;
-    t['apple'] = 790;
+  t["Symbol"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 250;
+    t["exclam"] = 333;
+    t["universal"] = 713;
+    t["numbersign"] = 500;
+    t["existential"] = 549;
+    t["percent"] = 833;
+    t["ampersand"] = 778;
+    t["suchthat"] = 439;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asteriskmath"] = 500;
+    t["plus"] = 549;
+    t["comma"] = 250;
+    t["minus"] = 549;
+    t["period"] = 250;
+    t["slash"] = 278;
+    t["zero"] = 500;
+    t["one"] = 500;
+    t["two"] = 500;
+    t["three"] = 500;
+    t["four"] = 500;
+    t["five"] = 500;
+    t["six"] = 500;
+    t["seven"] = 500;
+    t["eight"] = 500;
+    t["nine"] = 500;
+    t["colon"] = 278;
+    t["semicolon"] = 278;
+    t["less"] = 549;
+    t["equal"] = 549;
+    t["greater"] = 549;
+    t["question"] = 444;
+    t["congruent"] = 549;
+    t["Alpha"] = 722;
+    t["Beta"] = 667;
+    t["Chi"] = 722;
+    t["Delta"] = 612;
+    t["Epsilon"] = 611;
+    t["Phi"] = 763;
+    t["Gamma"] = 603;
+    t["Eta"] = 722;
+    t["Iota"] = 333;
+    t["theta1"] = 631;
+    t["Kappa"] = 722;
+    t["Lambda"] = 686;
+    t["Mu"] = 889;
+    t["Nu"] = 722;
+    t["Omicron"] = 722;
+    t["Pi"] = 768;
+    t["Theta"] = 741;
+    t["Rho"] = 556;
+    t["Sigma"] = 592;
+    t["Tau"] = 611;
+    t["Upsilon"] = 690;
+    t["sigma1"] = 439;
+    t["Omega"] = 768;
+    t["Xi"] = 645;
+    t["Psi"] = 795;
+    t["Zeta"] = 611;
+    t["bracketleft"] = 333;
+    t["therefore"] = 863;
+    t["bracketright"] = 333;
+    t["perpendicular"] = 658;
+    t["underscore"] = 500;
+    t["radicalex"] = 500;
+    t["alpha"] = 631;
+    t["beta"] = 549;
+    t["chi"] = 549;
+    t["delta"] = 494;
+    t["epsilon"] = 439;
+    t["phi"] = 521;
+    t["gamma"] = 411;
+    t["eta"] = 603;
+    t["iota"] = 329;
+    t["phi1"] = 603;
+    t["kappa"] = 549;
+    t["lambda"] = 549;
+    t["mu"] = 576;
+    t["nu"] = 521;
+    t["omicron"] = 549;
+    t["pi"] = 549;
+    t["theta"] = 521;
+    t["rho"] = 549;
+    t["sigma"] = 603;
+    t["tau"] = 439;
+    t["upsilon"] = 576;
+    t["omega1"] = 713;
+    t["omega"] = 686;
+    t["xi"] = 493;
+    t["psi"] = 686;
+    t["zeta"] = 494;
+    t["braceleft"] = 480;
+    t["bar"] = 200;
+    t["braceright"] = 480;
+    t["similar"] = 549;
+    t["Euro"] = 750;
+    t["Upsilon1"] = 620;
+    t["minute"] = 247;
+    t["lessequal"] = 549;
+    t["fraction"] = 167;
+    t["infinity"] = 713;
+    t["florin"] = 500;
+    t["club"] = 753;
+    t["diamond"] = 753;
+    t["heart"] = 753;
+    t["spade"] = 753;
+    t["arrowboth"] = 1042;
+    t["arrowleft"] = 987;
+    t["arrowup"] = 603;
+    t["arrowright"] = 987;
+    t["arrowdown"] = 603;
+    t["degree"] = 400;
+    t["plusminus"] = 549;
+    t["second"] = 411;
+    t["greaterequal"] = 549;
+    t["multiply"] = 549;
+    t["proportional"] = 713;
+    t["partialdiff"] = 494;
+    t["bullet"] = 460;
+    t["divide"] = 549;
+    t["notequal"] = 549;
+    t["equivalence"] = 549;
+    t["approxequal"] = 549;
+    t["ellipsis"] = 1000;
+    t["arrowvertex"] = 603;
+    t["arrowhorizex"] = 1000;
+    t["carriagereturn"] = 658;
+    t["aleph"] = 823;
+    t["Ifraktur"] = 686;
+    t["Rfraktur"] = 795;
+    t["weierstrass"] = 987;
+    t["circlemultiply"] = 768;
+    t["circleplus"] = 768;
+    t["emptyset"] = 823;
+    t["intersection"] = 768;
+    t["union"] = 768;
+    t["propersuperset"] = 713;
+    t["reflexsuperset"] = 713;
+    t["notsubset"] = 713;
+    t["propersubset"] = 713;
+    t["reflexsubset"] = 713;
+    t["element"] = 713;
+    t["notelement"] = 713;
+    t["angle"] = 768;
+    t["gradient"] = 713;
+    t["registerserif"] = 790;
+    t["copyrightserif"] = 790;
+    t["trademarkserif"] = 890;
+    t["product"] = 823;
+    t["radical"] = 549;
+    t["dotmath"] = 250;
+    t["logicalnot"] = 713;
+    t["logicaland"] = 603;
+    t["logicalor"] = 603;
+    t["arrowdblboth"] = 1042;
+    t["arrowdblleft"] = 987;
+    t["arrowdblup"] = 603;
+    t["arrowdblright"] = 987;
+    t["arrowdbldown"] = 603;
+    t["lozenge"] = 494;
+    t["angleleft"] = 329;
+    t["registersans"] = 790;
+    t["copyrightsans"] = 790;
+    t["trademarksans"] = 786;
+    t["summation"] = 713;
+    t["parenlefttp"] = 384;
+    t["parenleftex"] = 384;
+    t["parenleftbt"] = 384;
+    t["bracketlefttp"] = 384;
+    t["bracketleftex"] = 384;
+    t["bracketleftbt"] = 384;
+    t["bracelefttp"] = 494;
+    t["braceleftmid"] = 494;
+    t["braceleftbt"] = 494;
+    t["braceex"] = 494;
+    t["angleright"] = 329;
+    t["integral"] = 274;
+    t["integraltp"] = 686;
+    t["integralex"] = 686;
+    t["integralbt"] = 686;
+    t["parenrighttp"] = 384;
+    t["parenrightex"] = 384;
+    t["parenrightbt"] = 384;
+    t["bracketrighttp"] = 384;
+    t["bracketrightex"] = 384;
+    t["bracketrightbt"] = 384;
+    t["bracerighttp"] = 494;
+    t["bracerightmid"] = 494;
+    t["bracerightbt"] = 494;
+    t["apple"] = 790;
   });
-  t['Times-Roman'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 250;
-    t['exclam'] = 333;
-    t['quotedbl'] = 408;
-    t['numbersign'] = 500;
-    t['dollar'] = 500;
-    t['percent'] = 833;
-    t['ampersand'] = 778;
-    t['quoteright'] = 333;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 500;
-    t['plus'] = 564;
-    t['comma'] = 250;
-    t['hyphen'] = 333;
-    t['period'] = 250;
-    t['slash'] = 278;
-    t['zero'] = 500;
-    t['one'] = 500;
-    t['two'] = 500;
-    t['three'] = 500;
-    t['four'] = 500;
-    t['five'] = 500;
-    t['six'] = 500;
-    t['seven'] = 500;
-    t['eight'] = 500;
-    t['nine'] = 500;
-    t['colon'] = 278;
-    t['semicolon'] = 278;
-    t['less'] = 564;
-    t['equal'] = 564;
-    t['greater'] = 564;
-    t['question'] = 444;
-    t['at'] = 921;
-    t['A'] = 722;
-    t['B'] = 667;
-    t['C'] = 667;
-    t['D'] = 722;
-    t['E'] = 611;
-    t['F'] = 556;
-    t['G'] = 722;
-    t['H'] = 722;
-    t['I'] = 333;
-    t['J'] = 389;
-    t['K'] = 722;
-    t['L'] = 611;
-    t['M'] = 889;
-    t['N'] = 722;
-    t['O'] = 722;
-    t['P'] = 556;
-    t['Q'] = 722;
-    t['R'] = 667;
-    t['S'] = 556;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 722;
-    t['W'] = 944;
-    t['X'] = 722;
-    t['Y'] = 722;
-    t['Z'] = 611;
-    t['bracketleft'] = 333;
-    t['backslash'] = 278;
-    t['bracketright'] = 333;
-    t['asciicircum'] = 469;
-    t['underscore'] = 500;
-    t['quoteleft'] = 333;
-    t['a'] = 444;
-    t['b'] = 500;
-    t['c'] = 444;
-    t['d'] = 500;
-    t['e'] = 444;
-    t['f'] = 333;
-    t['g'] = 500;
-    t['h'] = 500;
-    t['i'] = 278;
-    t['j'] = 278;
-    t['k'] = 500;
-    t['l'] = 278;
-    t['m'] = 778;
-    t['n'] = 500;
-    t['o'] = 500;
-    t['p'] = 500;
-    t['q'] = 500;
-    t['r'] = 333;
-    t['s'] = 389;
-    t['t'] = 278;
-    t['u'] = 500;
-    t['v'] = 500;
-    t['w'] = 722;
-    t['x'] = 500;
-    t['y'] = 500;
-    t['z'] = 444;
-    t['braceleft'] = 480;
-    t['bar'] = 200;
-    t['braceright'] = 480;
-    t['asciitilde'] = 541;
-    t['exclamdown'] = 333;
-    t['cent'] = 500;
-    t['sterling'] = 500;
-    t['fraction'] = 167;
-    t['yen'] = 500;
-    t['florin'] = 500;
-    t['section'] = 500;
-    t['currency'] = 500;
-    t['quotesingle'] = 180;
-    t['quotedblleft'] = 444;
-    t['guillemotleft'] = 500;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 556;
-    t['fl'] = 556;
-    t['endash'] = 500;
-    t['dagger'] = 500;
-    t['daggerdbl'] = 500;
-    t['periodcentered'] = 250;
-    t['paragraph'] = 453;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 333;
-    t['quotedblbase'] = 444;
-    t['quotedblright'] = 444;
-    t['guillemotright'] = 500;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 444;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 889;
-    t['ordfeminine'] = 276;
-    t['Lslash'] = 611;
-    t['Oslash'] = 722;
-    t['OE'] = 889;
-    t['ordmasculine'] = 310;
-    t['ae'] = 667;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 500;
-    t['oe'] = 722;
-    t['germandbls'] = 500;
-    t['Idieresis'] = 333;
-    t['eacute'] = 444;
-    t['abreve'] = 444;
-    t['uhungarumlaut'] = 500;
-    t['ecaron'] = 444;
-    t['Ydieresis'] = 722;
-    t['divide'] = 564;
-    t['Yacute'] = 722;
-    t['Acircumflex'] = 722;
-    t['aacute'] = 444;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 500;
-    t['scommaaccent'] = 389;
-    t['ecircumflex'] = 444;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 444;
-    t['Uacute'] = 722;
-    t['uogonek'] = 500;
-    t['Edieresis'] = 611;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 760;
-    t['Emacron'] = 611;
-    t['ccaron'] = 444;
-    t['aring'] = 444;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 278;
-    t['agrave'] = 444;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 667;
-    t['atilde'] = 444;
-    t['Edotaccent'] = 611;
-    t['scaron'] = 389;
-    t['scedilla'] = 389;
-    t['iacute'] = 278;
-    t['lozenge'] = 471;
-    t['Rcaron'] = 667;
-    t['Gcommaaccent'] = 722;
-    t['ucircumflex'] = 500;
-    t['acircumflex'] = 444;
-    t['Amacron'] = 722;
-    t['rcaron'] = 333;
-    t['ccedilla'] = 444;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 556;
-    t['Omacron'] = 722;
-    t['Racute'] = 667;
-    t['Sacute'] = 556;
-    t['dcaron'] = 588;
-    t['Umacron'] = 722;
-    t['uring'] = 500;
-    t['threesuperior'] = 300;
-    t['Ograve'] = 722;
-    t['Agrave'] = 722;
-    t['Abreve'] = 722;
-    t['multiply'] = 564;
-    t['uacute'] = 500;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 476;
-    t['ydieresis'] = 500;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 611;
-    t['adieresis'] = 444;
-    t['edieresis'] = 444;
-    t['cacute'] = 444;
-    t['nacute'] = 500;
-    t['umacron'] = 500;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 333;
-    t['plusminus'] = 564;
-    t['brokenbar'] = 200;
-    t['registered'] = 760;
-    t['Gbreve'] = 722;
-    t['Idotaccent'] = 333;
-    t['summation'] = 600;
-    t['Egrave'] = 611;
-    t['racute'] = 333;
-    t['omacron'] = 500;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 667;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 326;
-    t['eogonek'] = 444;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 722;
-    t['Adieresis'] = 722;
-    t['egrave'] = 444;
-    t['zacute'] = 444;
-    t['iogonek'] = 278;
-    t['Oacute'] = 722;
-    t['oacute'] = 500;
-    t['amacron'] = 444;
-    t['sacute'] = 389;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 722;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 500;
-    t['twosuperior'] = 300;
-    t['Odieresis'] = 722;
-    t['mu'] = 500;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 500;
-    t['Eogonek'] = 611;
-    t['dcroat'] = 500;
-    t['threequarters'] = 750;
-    t['Scedilla'] = 556;
-    t['lcaron'] = 344;
-    t['Kcommaaccent'] = 722;
-    t['Lacute'] = 611;
-    t['trademark'] = 980;
-    t['edotaccent'] = 444;
-    t['Igrave'] = 333;
-    t['Imacron'] = 333;
-    t['Lcaron'] = 611;
-    t['onehalf'] = 750;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 500;
-    t['ntilde'] = 500;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 611;
-    t['emacron'] = 444;
-    t['gbreve'] = 500;
-    t['onequarter'] = 750;
-    t['Scaron'] = 556;
-    t['Scommaaccent'] = 556;
-    t['Ohungarumlaut'] = 722;
-    t['degree'] = 400;
-    t['ograve'] = 500;
-    t['Ccaron'] = 667;
-    t['ugrave'] = 500;
-    t['radical'] = 453;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 333;
-    t['Ntilde'] = 722;
-    t['otilde'] = 500;
-    t['Rcommaaccent'] = 667;
-    t['Lcommaaccent'] = 611;
-    t['Atilde'] = 722;
-    t['Aogonek'] = 722;
-    t['Aring'] = 722;
-    t['Otilde'] = 722;
-    t['zdotaccent'] = 444;
-    t['Ecaron'] = 611;
-    t['Iogonek'] = 333;
-    t['kcommaaccent'] = 500;
-    t['minus'] = 564;
-    t['Icircumflex'] = 333;
-    t['ncaron'] = 500;
-    t['tcommaaccent'] = 278;
-    t['logicalnot'] = 564;
-    t['odieresis'] = 500;
-    t['udieresis'] = 500;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 500;
-    t['eth'] = 500;
-    t['zcaron'] = 444;
-    t['ncommaaccent'] = 500;
-    t['onesuperior'] = 300;
-    t['imacron'] = 278;
-    t['Euro'] = 500;
+  t["Times-Roman"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 250;
+    t["exclam"] = 333;
+    t["quotedbl"] = 408;
+    t["numbersign"] = 500;
+    t["dollar"] = 500;
+    t["percent"] = 833;
+    t["ampersand"] = 778;
+    t["quoteright"] = 333;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 500;
+    t["plus"] = 564;
+    t["comma"] = 250;
+    t["hyphen"] = 333;
+    t["period"] = 250;
+    t["slash"] = 278;
+    t["zero"] = 500;
+    t["one"] = 500;
+    t["two"] = 500;
+    t["three"] = 500;
+    t["four"] = 500;
+    t["five"] = 500;
+    t["six"] = 500;
+    t["seven"] = 500;
+    t["eight"] = 500;
+    t["nine"] = 500;
+    t["colon"] = 278;
+    t["semicolon"] = 278;
+    t["less"] = 564;
+    t["equal"] = 564;
+    t["greater"] = 564;
+    t["question"] = 444;
+    t["at"] = 921;
+    t["A"] = 722;
+    t["B"] = 667;
+    t["C"] = 667;
+    t["D"] = 722;
+    t["E"] = 611;
+    t["F"] = 556;
+    t["G"] = 722;
+    t["H"] = 722;
+    t["I"] = 333;
+    t["J"] = 389;
+    t["K"] = 722;
+    t["L"] = 611;
+    t["M"] = 889;
+    t["N"] = 722;
+    t["O"] = 722;
+    t["P"] = 556;
+    t["Q"] = 722;
+    t["R"] = 667;
+    t["S"] = 556;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 722;
+    t["W"] = 944;
+    t["X"] = 722;
+    t["Y"] = 722;
+    t["Z"] = 611;
+    t["bracketleft"] = 333;
+    t["backslash"] = 278;
+    t["bracketright"] = 333;
+    t["asciicircum"] = 469;
+    t["underscore"] = 500;
+    t["quoteleft"] = 333;
+    t["a"] = 444;
+    t["b"] = 500;
+    t["c"] = 444;
+    t["d"] = 500;
+    t["e"] = 444;
+    t["f"] = 333;
+    t["g"] = 500;
+    t["h"] = 500;
+    t["i"] = 278;
+    t["j"] = 278;
+    t["k"] = 500;
+    t["l"] = 278;
+    t["m"] = 778;
+    t["n"] = 500;
+    t["o"] = 500;
+    t["p"] = 500;
+    t["q"] = 500;
+    t["r"] = 333;
+    t["s"] = 389;
+    t["t"] = 278;
+    t["u"] = 500;
+    t["v"] = 500;
+    t["w"] = 722;
+    t["x"] = 500;
+    t["y"] = 500;
+    t["z"] = 444;
+    t["braceleft"] = 480;
+    t["bar"] = 200;
+    t["braceright"] = 480;
+    t["asciitilde"] = 541;
+    t["exclamdown"] = 333;
+    t["cent"] = 500;
+    t["sterling"] = 500;
+    t["fraction"] = 167;
+    t["yen"] = 500;
+    t["florin"] = 500;
+    t["section"] = 500;
+    t["currency"] = 500;
+    t["quotesingle"] = 180;
+    t["quotedblleft"] = 444;
+    t["guillemotleft"] = 500;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 556;
+    t["fl"] = 556;
+    t["endash"] = 500;
+    t["dagger"] = 500;
+    t["daggerdbl"] = 500;
+    t["periodcentered"] = 250;
+    t["paragraph"] = 453;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 333;
+    t["quotedblbase"] = 444;
+    t["quotedblright"] = 444;
+    t["guillemotright"] = 500;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 444;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 889;
+    t["ordfeminine"] = 276;
+    t["Lslash"] = 611;
+    t["Oslash"] = 722;
+    t["OE"] = 889;
+    t["ordmasculine"] = 310;
+    t["ae"] = 667;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 500;
+    t["oe"] = 722;
+    t["germandbls"] = 500;
+    t["Idieresis"] = 333;
+    t["eacute"] = 444;
+    t["abreve"] = 444;
+    t["uhungarumlaut"] = 500;
+    t["ecaron"] = 444;
+    t["Ydieresis"] = 722;
+    t["divide"] = 564;
+    t["Yacute"] = 722;
+    t["Acircumflex"] = 722;
+    t["aacute"] = 444;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 500;
+    t["scommaaccent"] = 389;
+    t["ecircumflex"] = 444;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 444;
+    t["Uacute"] = 722;
+    t["uogonek"] = 500;
+    t["Edieresis"] = 611;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 760;
+    t["Emacron"] = 611;
+    t["ccaron"] = 444;
+    t["aring"] = 444;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 278;
+    t["agrave"] = 444;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 667;
+    t["atilde"] = 444;
+    t["Edotaccent"] = 611;
+    t["scaron"] = 389;
+    t["scedilla"] = 389;
+    t["iacute"] = 278;
+    t["lozenge"] = 471;
+    t["Rcaron"] = 667;
+    t["Gcommaaccent"] = 722;
+    t["ucircumflex"] = 500;
+    t["acircumflex"] = 444;
+    t["Amacron"] = 722;
+    t["rcaron"] = 333;
+    t["ccedilla"] = 444;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 556;
+    t["Omacron"] = 722;
+    t["Racute"] = 667;
+    t["Sacute"] = 556;
+    t["dcaron"] = 588;
+    t["Umacron"] = 722;
+    t["uring"] = 500;
+    t["threesuperior"] = 300;
+    t["Ograve"] = 722;
+    t["Agrave"] = 722;
+    t["Abreve"] = 722;
+    t["multiply"] = 564;
+    t["uacute"] = 500;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 476;
+    t["ydieresis"] = 500;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 611;
+    t["adieresis"] = 444;
+    t["edieresis"] = 444;
+    t["cacute"] = 444;
+    t["nacute"] = 500;
+    t["umacron"] = 500;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 333;
+    t["plusminus"] = 564;
+    t["brokenbar"] = 200;
+    t["registered"] = 760;
+    t["Gbreve"] = 722;
+    t["Idotaccent"] = 333;
+    t["summation"] = 600;
+    t["Egrave"] = 611;
+    t["racute"] = 333;
+    t["omacron"] = 500;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 667;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 326;
+    t["eogonek"] = 444;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 722;
+    t["Adieresis"] = 722;
+    t["egrave"] = 444;
+    t["zacute"] = 444;
+    t["iogonek"] = 278;
+    t["Oacute"] = 722;
+    t["oacute"] = 500;
+    t["amacron"] = 444;
+    t["sacute"] = 389;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 722;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 500;
+    t["twosuperior"] = 300;
+    t["Odieresis"] = 722;
+    t["mu"] = 500;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 500;
+    t["Eogonek"] = 611;
+    t["dcroat"] = 500;
+    t["threequarters"] = 750;
+    t["Scedilla"] = 556;
+    t["lcaron"] = 344;
+    t["Kcommaaccent"] = 722;
+    t["Lacute"] = 611;
+    t["trademark"] = 980;
+    t["edotaccent"] = 444;
+    t["Igrave"] = 333;
+    t["Imacron"] = 333;
+    t["Lcaron"] = 611;
+    t["onehalf"] = 750;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 500;
+    t["ntilde"] = 500;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 611;
+    t["emacron"] = 444;
+    t["gbreve"] = 500;
+    t["onequarter"] = 750;
+    t["Scaron"] = 556;
+    t["Scommaaccent"] = 556;
+    t["Ohungarumlaut"] = 722;
+    t["degree"] = 400;
+    t["ograve"] = 500;
+    t["Ccaron"] = 667;
+    t["ugrave"] = 500;
+    t["radical"] = 453;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 333;
+    t["Ntilde"] = 722;
+    t["otilde"] = 500;
+    t["Rcommaaccent"] = 667;
+    t["Lcommaaccent"] = 611;
+    t["Atilde"] = 722;
+    t["Aogonek"] = 722;
+    t["Aring"] = 722;
+    t["Otilde"] = 722;
+    t["zdotaccent"] = 444;
+    t["Ecaron"] = 611;
+    t["Iogonek"] = 333;
+    t["kcommaaccent"] = 500;
+    t["minus"] = 564;
+    t["Icircumflex"] = 333;
+    t["ncaron"] = 500;
+    t["tcommaaccent"] = 278;
+    t["logicalnot"] = 564;
+    t["odieresis"] = 500;
+    t["udieresis"] = 500;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 500;
+    t["eth"] = 500;
+    t["zcaron"] = 444;
+    t["ncommaaccent"] = 500;
+    t["onesuperior"] = 300;
+    t["imacron"] = 278;
+    t["Euro"] = 500;
   });
-  t['Times-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 250;
-    t['exclam'] = 333;
-    t['quotedbl'] = 555;
-    t['numbersign'] = 500;
-    t['dollar'] = 500;
-    t['percent'] = 1000;
-    t['ampersand'] = 833;
-    t['quoteright'] = 333;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 500;
-    t['plus'] = 570;
-    t['comma'] = 250;
-    t['hyphen'] = 333;
-    t['period'] = 250;
-    t['slash'] = 278;
-    t['zero'] = 500;
-    t['one'] = 500;
-    t['two'] = 500;
-    t['three'] = 500;
-    t['four'] = 500;
-    t['five'] = 500;
-    t['six'] = 500;
-    t['seven'] = 500;
-    t['eight'] = 500;
-    t['nine'] = 500;
-    t['colon'] = 333;
-    t['semicolon'] = 333;
-    t['less'] = 570;
-    t['equal'] = 570;
-    t['greater'] = 570;
-    t['question'] = 500;
-    t['at'] = 930;
-    t['A'] = 722;
-    t['B'] = 667;
-    t['C'] = 722;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 611;
-    t['G'] = 778;
-    t['H'] = 778;
-    t['I'] = 389;
-    t['J'] = 500;
-    t['K'] = 778;
-    t['L'] = 667;
-    t['M'] = 944;
-    t['N'] = 722;
-    t['O'] = 778;
-    t['P'] = 611;
-    t['Q'] = 778;
-    t['R'] = 722;
-    t['S'] = 556;
-    t['T'] = 667;
-    t['U'] = 722;
-    t['V'] = 722;
-    t['W'] = 1000;
-    t['X'] = 722;
-    t['Y'] = 722;
-    t['Z'] = 667;
-    t['bracketleft'] = 333;
-    t['backslash'] = 278;
-    t['bracketright'] = 333;
-    t['asciicircum'] = 581;
-    t['underscore'] = 500;
-    t['quoteleft'] = 333;
-    t['a'] = 500;
-    t['b'] = 556;
-    t['c'] = 444;
-    t['d'] = 556;
-    t['e'] = 444;
-    t['f'] = 333;
-    t['g'] = 500;
-    t['h'] = 556;
-    t['i'] = 278;
-    t['j'] = 333;
-    t['k'] = 556;
-    t['l'] = 278;
-    t['m'] = 833;
-    t['n'] = 556;
-    t['o'] = 500;
-    t['p'] = 556;
-    t['q'] = 556;
-    t['r'] = 444;
-    t['s'] = 389;
-    t['t'] = 333;
-    t['u'] = 556;
-    t['v'] = 500;
-    t['w'] = 722;
-    t['x'] = 500;
-    t['y'] = 500;
-    t['z'] = 444;
-    t['braceleft'] = 394;
-    t['bar'] = 220;
-    t['braceright'] = 394;
-    t['asciitilde'] = 520;
-    t['exclamdown'] = 333;
-    t['cent'] = 500;
-    t['sterling'] = 500;
-    t['fraction'] = 167;
-    t['yen'] = 500;
-    t['florin'] = 500;
-    t['section'] = 500;
-    t['currency'] = 500;
-    t['quotesingle'] = 278;
-    t['quotedblleft'] = 500;
-    t['guillemotleft'] = 500;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 556;
-    t['fl'] = 556;
-    t['endash'] = 500;
-    t['dagger'] = 500;
-    t['daggerdbl'] = 500;
-    t['periodcentered'] = 250;
-    t['paragraph'] = 540;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 333;
-    t['quotedblbase'] = 500;
-    t['quotedblright'] = 500;
-    t['guillemotright'] = 500;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 500;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 1000;
-    t['ordfeminine'] = 300;
-    t['Lslash'] = 667;
-    t['Oslash'] = 778;
-    t['OE'] = 1000;
-    t['ordmasculine'] = 330;
-    t['ae'] = 722;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 500;
-    t['oe'] = 722;
-    t['germandbls'] = 556;
-    t['Idieresis'] = 389;
-    t['eacute'] = 444;
-    t['abreve'] = 500;
-    t['uhungarumlaut'] = 556;
-    t['ecaron'] = 444;
-    t['Ydieresis'] = 722;
-    t['divide'] = 570;
-    t['Yacute'] = 722;
-    t['Acircumflex'] = 722;
-    t['aacute'] = 500;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 500;
-    t['scommaaccent'] = 389;
-    t['ecircumflex'] = 444;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 500;
-    t['Uacute'] = 722;
-    t['uogonek'] = 556;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 747;
-    t['Emacron'] = 667;
-    t['ccaron'] = 444;
-    t['aring'] = 500;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 278;
-    t['agrave'] = 500;
-    t['Tcommaaccent'] = 667;
-    t['Cacute'] = 722;
-    t['atilde'] = 500;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 389;
-    t['scedilla'] = 389;
-    t['iacute'] = 278;
-    t['lozenge'] = 494;
-    t['Rcaron'] = 722;
-    t['Gcommaaccent'] = 778;
-    t['ucircumflex'] = 556;
-    t['acircumflex'] = 500;
-    t['Amacron'] = 722;
-    t['rcaron'] = 444;
-    t['ccedilla'] = 444;
-    t['Zdotaccent'] = 667;
-    t['Thorn'] = 611;
-    t['Omacron'] = 778;
-    t['Racute'] = 722;
-    t['Sacute'] = 556;
-    t['dcaron'] = 672;
-    t['Umacron'] = 722;
-    t['uring'] = 556;
-    t['threesuperior'] = 300;
-    t['Ograve'] = 778;
-    t['Agrave'] = 722;
-    t['Abreve'] = 722;
-    t['multiply'] = 570;
-    t['uacute'] = 556;
-    t['Tcaron'] = 667;
-    t['partialdiff'] = 494;
-    t['ydieresis'] = 500;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 500;
-    t['edieresis'] = 444;
-    t['cacute'] = 444;
-    t['nacute'] = 556;
-    t['umacron'] = 556;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 389;
-    t['plusminus'] = 570;
-    t['brokenbar'] = 220;
-    t['registered'] = 747;
-    t['Gbreve'] = 778;
-    t['Idotaccent'] = 389;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 444;
-    t['omacron'] = 500;
-    t['Zacute'] = 667;
-    t['Zcaron'] = 667;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 722;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 416;
-    t['eogonek'] = 444;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 722;
-    t['Adieresis'] = 722;
-    t['egrave'] = 444;
-    t['zacute'] = 444;
-    t['iogonek'] = 278;
-    t['Oacute'] = 778;
-    t['oacute'] = 500;
-    t['amacron'] = 500;
-    t['sacute'] = 389;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 778;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 556;
-    t['twosuperior'] = 300;
-    t['Odieresis'] = 778;
-    t['mu'] = 556;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 500;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 556;
-    t['threequarters'] = 750;
-    t['Scedilla'] = 556;
-    t['lcaron'] = 394;
-    t['Kcommaaccent'] = 778;
-    t['Lacute'] = 667;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 444;
-    t['Igrave'] = 389;
-    t['Imacron'] = 389;
-    t['Lcaron'] = 667;
-    t['onehalf'] = 750;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 500;
-    t['ntilde'] = 556;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 444;
-    t['gbreve'] = 500;
-    t['onequarter'] = 750;
-    t['Scaron'] = 556;
-    t['Scommaaccent'] = 556;
-    t['Ohungarumlaut'] = 778;
-    t['degree'] = 400;
-    t['ograve'] = 500;
-    t['Ccaron'] = 722;
-    t['ugrave'] = 556;
-    t['radical'] = 549;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 444;
-    t['Ntilde'] = 722;
-    t['otilde'] = 500;
-    t['Rcommaaccent'] = 722;
-    t['Lcommaaccent'] = 667;
-    t['Atilde'] = 722;
-    t['Aogonek'] = 722;
-    t['Aring'] = 722;
-    t['Otilde'] = 778;
-    t['zdotaccent'] = 444;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 389;
-    t['kcommaaccent'] = 556;
-    t['minus'] = 570;
-    t['Icircumflex'] = 389;
-    t['ncaron'] = 556;
-    t['tcommaaccent'] = 333;
-    t['logicalnot'] = 570;
-    t['odieresis'] = 500;
-    t['udieresis'] = 556;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 500;
-    t['eth'] = 500;
-    t['zcaron'] = 444;
-    t['ncommaaccent'] = 556;
-    t['onesuperior'] = 300;
-    t['imacron'] = 278;
-    t['Euro'] = 500;
+  t["Times-Bold"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 250;
+    t["exclam"] = 333;
+    t["quotedbl"] = 555;
+    t["numbersign"] = 500;
+    t["dollar"] = 500;
+    t["percent"] = 1000;
+    t["ampersand"] = 833;
+    t["quoteright"] = 333;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 500;
+    t["plus"] = 570;
+    t["comma"] = 250;
+    t["hyphen"] = 333;
+    t["period"] = 250;
+    t["slash"] = 278;
+    t["zero"] = 500;
+    t["one"] = 500;
+    t["two"] = 500;
+    t["three"] = 500;
+    t["four"] = 500;
+    t["five"] = 500;
+    t["six"] = 500;
+    t["seven"] = 500;
+    t["eight"] = 500;
+    t["nine"] = 500;
+    t["colon"] = 333;
+    t["semicolon"] = 333;
+    t["less"] = 570;
+    t["equal"] = 570;
+    t["greater"] = 570;
+    t["question"] = 500;
+    t["at"] = 930;
+    t["A"] = 722;
+    t["B"] = 667;
+    t["C"] = 722;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 611;
+    t["G"] = 778;
+    t["H"] = 778;
+    t["I"] = 389;
+    t["J"] = 500;
+    t["K"] = 778;
+    t["L"] = 667;
+    t["M"] = 944;
+    t["N"] = 722;
+    t["O"] = 778;
+    t["P"] = 611;
+    t["Q"] = 778;
+    t["R"] = 722;
+    t["S"] = 556;
+    t["T"] = 667;
+    t["U"] = 722;
+    t["V"] = 722;
+    t["W"] = 1000;
+    t["X"] = 722;
+    t["Y"] = 722;
+    t["Z"] = 667;
+    t["bracketleft"] = 333;
+    t["backslash"] = 278;
+    t["bracketright"] = 333;
+    t["asciicircum"] = 581;
+    t["underscore"] = 500;
+    t["quoteleft"] = 333;
+    t["a"] = 500;
+    t["b"] = 556;
+    t["c"] = 444;
+    t["d"] = 556;
+    t["e"] = 444;
+    t["f"] = 333;
+    t["g"] = 500;
+    t["h"] = 556;
+    t["i"] = 278;
+    t["j"] = 333;
+    t["k"] = 556;
+    t["l"] = 278;
+    t["m"] = 833;
+    t["n"] = 556;
+    t["o"] = 500;
+    t["p"] = 556;
+    t["q"] = 556;
+    t["r"] = 444;
+    t["s"] = 389;
+    t["t"] = 333;
+    t["u"] = 556;
+    t["v"] = 500;
+    t["w"] = 722;
+    t["x"] = 500;
+    t["y"] = 500;
+    t["z"] = 444;
+    t["braceleft"] = 394;
+    t["bar"] = 220;
+    t["braceright"] = 394;
+    t["asciitilde"] = 520;
+    t["exclamdown"] = 333;
+    t["cent"] = 500;
+    t["sterling"] = 500;
+    t["fraction"] = 167;
+    t["yen"] = 500;
+    t["florin"] = 500;
+    t["section"] = 500;
+    t["currency"] = 500;
+    t["quotesingle"] = 278;
+    t["quotedblleft"] = 500;
+    t["guillemotleft"] = 500;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 556;
+    t["fl"] = 556;
+    t["endash"] = 500;
+    t["dagger"] = 500;
+    t["daggerdbl"] = 500;
+    t["periodcentered"] = 250;
+    t["paragraph"] = 540;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 333;
+    t["quotedblbase"] = 500;
+    t["quotedblright"] = 500;
+    t["guillemotright"] = 500;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 500;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 1000;
+    t["ordfeminine"] = 300;
+    t["Lslash"] = 667;
+    t["Oslash"] = 778;
+    t["OE"] = 1000;
+    t["ordmasculine"] = 330;
+    t["ae"] = 722;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 500;
+    t["oe"] = 722;
+    t["germandbls"] = 556;
+    t["Idieresis"] = 389;
+    t["eacute"] = 444;
+    t["abreve"] = 500;
+    t["uhungarumlaut"] = 556;
+    t["ecaron"] = 444;
+    t["Ydieresis"] = 722;
+    t["divide"] = 570;
+    t["Yacute"] = 722;
+    t["Acircumflex"] = 722;
+    t["aacute"] = 500;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 500;
+    t["scommaaccent"] = 389;
+    t["ecircumflex"] = 444;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 500;
+    t["Uacute"] = 722;
+    t["uogonek"] = 556;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 747;
+    t["Emacron"] = 667;
+    t["ccaron"] = 444;
+    t["aring"] = 500;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 278;
+    t["agrave"] = 500;
+    t["Tcommaaccent"] = 667;
+    t["Cacute"] = 722;
+    t["atilde"] = 500;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 389;
+    t["scedilla"] = 389;
+    t["iacute"] = 278;
+    t["lozenge"] = 494;
+    t["Rcaron"] = 722;
+    t["Gcommaaccent"] = 778;
+    t["ucircumflex"] = 556;
+    t["acircumflex"] = 500;
+    t["Amacron"] = 722;
+    t["rcaron"] = 444;
+    t["ccedilla"] = 444;
+    t["Zdotaccent"] = 667;
+    t["Thorn"] = 611;
+    t["Omacron"] = 778;
+    t["Racute"] = 722;
+    t["Sacute"] = 556;
+    t["dcaron"] = 672;
+    t["Umacron"] = 722;
+    t["uring"] = 556;
+    t["threesuperior"] = 300;
+    t["Ograve"] = 778;
+    t["Agrave"] = 722;
+    t["Abreve"] = 722;
+    t["multiply"] = 570;
+    t["uacute"] = 556;
+    t["Tcaron"] = 667;
+    t["partialdiff"] = 494;
+    t["ydieresis"] = 500;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 500;
+    t["edieresis"] = 444;
+    t["cacute"] = 444;
+    t["nacute"] = 556;
+    t["umacron"] = 556;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 389;
+    t["plusminus"] = 570;
+    t["brokenbar"] = 220;
+    t["registered"] = 747;
+    t["Gbreve"] = 778;
+    t["Idotaccent"] = 389;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 444;
+    t["omacron"] = 500;
+    t["Zacute"] = 667;
+    t["Zcaron"] = 667;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 722;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 416;
+    t["eogonek"] = 444;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 722;
+    t["Adieresis"] = 722;
+    t["egrave"] = 444;
+    t["zacute"] = 444;
+    t["iogonek"] = 278;
+    t["Oacute"] = 778;
+    t["oacute"] = 500;
+    t["amacron"] = 500;
+    t["sacute"] = 389;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 778;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 556;
+    t["twosuperior"] = 300;
+    t["Odieresis"] = 778;
+    t["mu"] = 556;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 500;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 556;
+    t["threequarters"] = 750;
+    t["Scedilla"] = 556;
+    t["lcaron"] = 394;
+    t["Kcommaaccent"] = 778;
+    t["Lacute"] = 667;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 444;
+    t["Igrave"] = 389;
+    t["Imacron"] = 389;
+    t["Lcaron"] = 667;
+    t["onehalf"] = 750;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 500;
+    t["ntilde"] = 556;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 444;
+    t["gbreve"] = 500;
+    t["onequarter"] = 750;
+    t["Scaron"] = 556;
+    t["Scommaaccent"] = 556;
+    t["Ohungarumlaut"] = 778;
+    t["degree"] = 400;
+    t["ograve"] = 500;
+    t["Ccaron"] = 722;
+    t["ugrave"] = 556;
+    t["radical"] = 549;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 444;
+    t["Ntilde"] = 722;
+    t["otilde"] = 500;
+    t["Rcommaaccent"] = 722;
+    t["Lcommaaccent"] = 667;
+    t["Atilde"] = 722;
+    t["Aogonek"] = 722;
+    t["Aring"] = 722;
+    t["Otilde"] = 778;
+    t["zdotaccent"] = 444;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 389;
+    t["kcommaaccent"] = 556;
+    t["minus"] = 570;
+    t["Icircumflex"] = 389;
+    t["ncaron"] = 556;
+    t["tcommaaccent"] = 333;
+    t["logicalnot"] = 570;
+    t["odieresis"] = 500;
+    t["udieresis"] = 556;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 500;
+    t["eth"] = 500;
+    t["zcaron"] = 444;
+    t["ncommaaccent"] = 556;
+    t["onesuperior"] = 300;
+    t["imacron"] = 278;
+    t["Euro"] = 500;
   });
-  t['Times-BoldItalic'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 250;
-    t['exclam'] = 389;
-    t['quotedbl'] = 555;
-    t['numbersign'] = 500;
-    t['dollar'] = 500;
-    t['percent'] = 833;
-    t['ampersand'] = 778;
-    t['quoteright'] = 333;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 500;
-    t['plus'] = 570;
-    t['comma'] = 250;
-    t['hyphen'] = 333;
-    t['period'] = 250;
-    t['slash'] = 278;
-    t['zero'] = 500;
-    t['one'] = 500;
-    t['two'] = 500;
-    t['three'] = 500;
-    t['four'] = 500;
-    t['five'] = 500;
-    t['six'] = 500;
-    t['seven'] = 500;
-    t['eight'] = 500;
-    t['nine'] = 500;
-    t['colon'] = 333;
-    t['semicolon'] = 333;
-    t['less'] = 570;
-    t['equal'] = 570;
-    t['greater'] = 570;
-    t['question'] = 500;
-    t['at'] = 832;
-    t['A'] = 667;
-    t['B'] = 667;
-    t['C'] = 667;
-    t['D'] = 722;
-    t['E'] = 667;
-    t['F'] = 667;
-    t['G'] = 722;
-    t['H'] = 778;
-    t['I'] = 389;
-    t['J'] = 500;
-    t['K'] = 667;
-    t['L'] = 611;
-    t['M'] = 889;
-    t['N'] = 722;
-    t['O'] = 722;
-    t['P'] = 611;
-    t['Q'] = 722;
-    t['R'] = 667;
-    t['S'] = 556;
-    t['T'] = 611;
-    t['U'] = 722;
-    t['V'] = 667;
-    t['W'] = 889;
-    t['X'] = 667;
-    t['Y'] = 611;
-    t['Z'] = 611;
-    t['bracketleft'] = 333;
-    t['backslash'] = 278;
-    t['bracketright'] = 333;
-    t['asciicircum'] = 570;
-    t['underscore'] = 500;
-    t['quoteleft'] = 333;
-    t['a'] = 500;
-    t['b'] = 500;
-    t['c'] = 444;
-    t['d'] = 500;
-    t['e'] = 444;
-    t['f'] = 333;
-    t['g'] = 500;
-    t['h'] = 556;
-    t['i'] = 278;
-    t['j'] = 278;
-    t['k'] = 500;
-    t['l'] = 278;
-    t['m'] = 778;
-    t['n'] = 556;
-    t['o'] = 500;
-    t['p'] = 500;
-    t['q'] = 500;
-    t['r'] = 389;
-    t['s'] = 389;
-    t['t'] = 278;
-    t['u'] = 556;
-    t['v'] = 444;
-    t['w'] = 667;
-    t['x'] = 500;
-    t['y'] = 444;
-    t['z'] = 389;
-    t['braceleft'] = 348;
-    t['bar'] = 220;
-    t['braceright'] = 348;
-    t['asciitilde'] = 570;
-    t['exclamdown'] = 389;
-    t['cent'] = 500;
-    t['sterling'] = 500;
-    t['fraction'] = 167;
-    t['yen'] = 500;
-    t['florin'] = 500;
-    t['section'] = 500;
-    t['currency'] = 500;
-    t['quotesingle'] = 278;
-    t['quotedblleft'] = 500;
-    t['guillemotleft'] = 500;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 556;
-    t['fl'] = 556;
-    t['endash'] = 500;
-    t['dagger'] = 500;
-    t['daggerdbl'] = 500;
-    t['periodcentered'] = 250;
-    t['paragraph'] = 500;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 333;
-    t['quotedblbase'] = 500;
-    t['quotedblright'] = 500;
-    t['guillemotright'] = 500;
-    t['ellipsis'] = 1000;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 500;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 1000;
-    t['AE'] = 944;
-    t['ordfeminine'] = 266;
-    t['Lslash'] = 611;
-    t['Oslash'] = 722;
-    t['OE'] = 944;
-    t['ordmasculine'] = 300;
-    t['ae'] = 722;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 500;
-    t['oe'] = 722;
-    t['germandbls'] = 500;
-    t['Idieresis'] = 389;
-    t['eacute'] = 444;
-    t['abreve'] = 500;
-    t['uhungarumlaut'] = 556;
-    t['ecaron'] = 444;
-    t['Ydieresis'] = 611;
-    t['divide'] = 570;
-    t['Yacute'] = 611;
-    t['Acircumflex'] = 667;
-    t['aacute'] = 500;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 444;
-    t['scommaaccent'] = 389;
-    t['ecircumflex'] = 444;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 500;
-    t['Uacute'] = 722;
-    t['uogonek'] = 556;
-    t['Edieresis'] = 667;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 747;
-    t['Emacron'] = 667;
-    t['ccaron'] = 444;
-    t['aring'] = 500;
-    t['Ncommaaccent'] = 722;
-    t['lacute'] = 278;
-    t['agrave'] = 500;
-    t['Tcommaaccent'] = 611;
-    t['Cacute'] = 667;
-    t['atilde'] = 500;
-    t['Edotaccent'] = 667;
-    t['scaron'] = 389;
-    t['scedilla'] = 389;
-    t['iacute'] = 278;
-    t['lozenge'] = 494;
-    t['Rcaron'] = 667;
-    t['Gcommaaccent'] = 722;
-    t['ucircumflex'] = 556;
-    t['acircumflex'] = 500;
-    t['Amacron'] = 667;
-    t['rcaron'] = 389;
-    t['ccedilla'] = 444;
-    t['Zdotaccent'] = 611;
-    t['Thorn'] = 611;
-    t['Omacron'] = 722;
-    t['Racute'] = 667;
-    t['Sacute'] = 556;
-    t['dcaron'] = 608;
-    t['Umacron'] = 722;
-    t['uring'] = 556;
-    t['threesuperior'] = 300;
-    t['Ograve'] = 722;
-    t['Agrave'] = 667;
-    t['Abreve'] = 667;
-    t['multiply'] = 570;
-    t['uacute'] = 556;
-    t['Tcaron'] = 611;
-    t['partialdiff'] = 494;
-    t['ydieresis'] = 444;
-    t['Nacute'] = 722;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 667;
-    t['adieresis'] = 500;
-    t['edieresis'] = 444;
-    t['cacute'] = 444;
-    t['nacute'] = 556;
-    t['umacron'] = 556;
-    t['Ncaron'] = 722;
-    t['Iacute'] = 389;
-    t['plusminus'] = 570;
-    t['brokenbar'] = 220;
-    t['registered'] = 747;
-    t['Gbreve'] = 722;
-    t['Idotaccent'] = 389;
-    t['summation'] = 600;
-    t['Egrave'] = 667;
-    t['racute'] = 389;
-    t['omacron'] = 500;
-    t['Zacute'] = 611;
-    t['Zcaron'] = 611;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 667;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 366;
-    t['eogonek'] = 444;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 667;
-    t['Adieresis'] = 667;
-    t['egrave'] = 444;
-    t['zacute'] = 389;
-    t['iogonek'] = 278;
-    t['Oacute'] = 722;
-    t['oacute'] = 500;
-    t['amacron'] = 500;
-    t['sacute'] = 389;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 722;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 500;
-    t['twosuperior'] = 300;
-    t['Odieresis'] = 722;
-    t['mu'] = 576;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 500;
-    t['Eogonek'] = 667;
-    t['dcroat'] = 500;
-    t['threequarters'] = 750;
-    t['Scedilla'] = 556;
-    t['lcaron'] = 382;
-    t['Kcommaaccent'] = 667;
-    t['Lacute'] = 611;
-    t['trademark'] = 1000;
-    t['edotaccent'] = 444;
-    t['Igrave'] = 389;
-    t['Imacron'] = 389;
-    t['Lcaron'] = 611;
-    t['onehalf'] = 750;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 500;
-    t['ntilde'] = 556;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 667;
-    t['emacron'] = 444;
-    t['gbreve'] = 500;
-    t['onequarter'] = 750;
-    t['Scaron'] = 556;
-    t['Scommaaccent'] = 556;
-    t['Ohungarumlaut'] = 722;
-    t['degree'] = 400;
-    t['ograve'] = 500;
-    t['Ccaron'] = 667;
-    t['ugrave'] = 556;
-    t['radical'] = 549;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 389;
-    t['Ntilde'] = 722;
-    t['otilde'] = 500;
-    t['Rcommaaccent'] = 667;
-    t['Lcommaaccent'] = 611;
-    t['Atilde'] = 667;
-    t['Aogonek'] = 667;
-    t['Aring'] = 667;
-    t['Otilde'] = 722;
-    t['zdotaccent'] = 389;
-    t['Ecaron'] = 667;
-    t['Iogonek'] = 389;
-    t['kcommaaccent'] = 500;
-    t['minus'] = 606;
-    t['Icircumflex'] = 389;
-    t['ncaron'] = 556;
-    t['tcommaaccent'] = 278;
-    t['logicalnot'] = 606;
-    t['odieresis'] = 500;
-    t['udieresis'] = 556;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 500;
-    t['eth'] = 500;
-    t['zcaron'] = 389;
-    t['ncommaaccent'] = 556;
-    t['onesuperior'] = 300;
-    t['imacron'] = 278;
-    t['Euro'] = 500;
+  t["Times-BoldItalic"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 250;
+    t["exclam"] = 389;
+    t["quotedbl"] = 555;
+    t["numbersign"] = 500;
+    t["dollar"] = 500;
+    t["percent"] = 833;
+    t["ampersand"] = 778;
+    t["quoteright"] = 333;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 500;
+    t["plus"] = 570;
+    t["comma"] = 250;
+    t["hyphen"] = 333;
+    t["period"] = 250;
+    t["slash"] = 278;
+    t["zero"] = 500;
+    t["one"] = 500;
+    t["two"] = 500;
+    t["three"] = 500;
+    t["four"] = 500;
+    t["five"] = 500;
+    t["six"] = 500;
+    t["seven"] = 500;
+    t["eight"] = 500;
+    t["nine"] = 500;
+    t["colon"] = 333;
+    t["semicolon"] = 333;
+    t["less"] = 570;
+    t["equal"] = 570;
+    t["greater"] = 570;
+    t["question"] = 500;
+    t["at"] = 832;
+    t["A"] = 667;
+    t["B"] = 667;
+    t["C"] = 667;
+    t["D"] = 722;
+    t["E"] = 667;
+    t["F"] = 667;
+    t["G"] = 722;
+    t["H"] = 778;
+    t["I"] = 389;
+    t["J"] = 500;
+    t["K"] = 667;
+    t["L"] = 611;
+    t["M"] = 889;
+    t["N"] = 722;
+    t["O"] = 722;
+    t["P"] = 611;
+    t["Q"] = 722;
+    t["R"] = 667;
+    t["S"] = 556;
+    t["T"] = 611;
+    t["U"] = 722;
+    t["V"] = 667;
+    t["W"] = 889;
+    t["X"] = 667;
+    t["Y"] = 611;
+    t["Z"] = 611;
+    t["bracketleft"] = 333;
+    t["backslash"] = 278;
+    t["bracketright"] = 333;
+    t["asciicircum"] = 570;
+    t["underscore"] = 500;
+    t["quoteleft"] = 333;
+    t["a"] = 500;
+    t["b"] = 500;
+    t["c"] = 444;
+    t["d"] = 500;
+    t["e"] = 444;
+    t["f"] = 333;
+    t["g"] = 500;
+    t["h"] = 556;
+    t["i"] = 278;
+    t["j"] = 278;
+    t["k"] = 500;
+    t["l"] = 278;
+    t["m"] = 778;
+    t["n"] = 556;
+    t["o"] = 500;
+    t["p"] = 500;
+    t["q"] = 500;
+    t["r"] = 389;
+    t["s"] = 389;
+    t["t"] = 278;
+    t["u"] = 556;
+    t["v"] = 444;
+    t["w"] = 667;
+    t["x"] = 500;
+    t["y"] = 444;
+    t["z"] = 389;
+    t["braceleft"] = 348;
+    t["bar"] = 220;
+    t["braceright"] = 348;
+    t["asciitilde"] = 570;
+    t["exclamdown"] = 389;
+    t["cent"] = 500;
+    t["sterling"] = 500;
+    t["fraction"] = 167;
+    t["yen"] = 500;
+    t["florin"] = 500;
+    t["section"] = 500;
+    t["currency"] = 500;
+    t["quotesingle"] = 278;
+    t["quotedblleft"] = 500;
+    t["guillemotleft"] = 500;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 556;
+    t["fl"] = 556;
+    t["endash"] = 500;
+    t["dagger"] = 500;
+    t["daggerdbl"] = 500;
+    t["periodcentered"] = 250;
+    t["paragraph"] = 500;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 333;
+    t["quotedblbase"] = 500;
+    t["quotedblright"] = 500;
+    t["guillemotright"] = 500;
+    t["ellipsis"] = 1000;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 500;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 1000;
+    t["AE"] = 944;
+    t["ordfeminine"] = 266;
+    t["Lslash"] = 611;
+    t["Oslash"] = 722;
+    t["OE"] = 944;
+    t["ordmasculine"] = 300;
+    t["ae"] = 722;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 500;
+    t["oe"] = 722;
+    t["germandbls"] = 500;
+    t["Idieresis"] = 389;
+    t["eacute"] = 444;
+    t["abreve"] = 500;
+    t["uhungarumlaut"] = 556;
+    t["ecaron"] = 444;
+    t["Ydieresis"] = 611;
+    t["divide"] = 570;
+    t["Yacute"] = 611;
+    t["Acircumflex"] = 667;
+    t["aacute"] = 500;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 444;
+    t["scommaaccent"] = 389;
+    t["ecircumflex"] = 444;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 500;
+    t["Uacute"] = 722;
+    t["uogonek"] = 556;
+    t["Edieresis"] = 667;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 747;
+    t["Emacron"] = 667;
+    t["ccaron"] = 444;
+    t["aring"] = 500;
+    t["Ncommaaccent"] = 722;
+    t["lacute"] = 278;
+    t["agrave"] = 500;
+    t["Tcommaaccent"] = 611;
+    t["Cacute"] = 667;
+    t["atilde"] = 500;
+    t["Edotaccent"] = 667;
+    t["scaron"] = 389;
+    t["scedilla"] = 389;
+    t["iacute"] = 278;
+    t["lozenge"] = 494;
+    t["Rcaron"] = 667;
+    t["Gcommaaccent"] = 722;
+    t["ucircumflex"] = 556;
+    t["acircumflex"] = 500;
+    t["Amacron"] = 667;
+    t["rcaron"] = 389;
+    t["ccedilla"] = 444;
+    t["Zdotaccent"] = 611;
+    t["Thorn"] = 611;
+    t["Omacron"] = 722;
+    t["Racute"] = 667;
+    t["Sacute"] = 556;
+    t["dcaron"] = 608;
+    t["Umacron"] = 722;
+    t["uring"] = 556;
+    t["threesuperior"] = 300;
+    t["Ograve"] = 722;
+    t["Agrave"] = 667;
+    t["Abreve"] = 667;
+    t["multiply"] = 570;
+    t["uacute"] = 556;
+    t["Tcaron"] = 611;
+    t["partialdiff"] = 494;
+    t["ydieresis"] = 444;
+    t["Nacute"] = 722;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 667;
+    t["adieresis"] = 500;
+    t["edieresis"] = 444;
+    t["cacute"] = 444;
+    t["nacute"] = 556;
+    t["umacron"] = 556;
+    t["Ncaron"] = 722;
+    t["Iacute"] = 389;
+    t["plusminus"] = 570;
+    t["brokenbar"] = 220;
+    t["registered"] = 747;
+    t["Gbreve"] = 722;
+    t["Idotaccent"] = 389;
+    t["summation"] = 600;
+    t["Egrave"] = 667;
+    t["racute"] = 389;
+    t["omacron"] = 500;
+    t["Zacute"] = 611;
+    t["Zcaron"] = 611;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 667;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 366;
+    t["eogonek"] = 444;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 667;
+    t["Adieresis"] = 667;
+    t["egrave"] = 444;
+    t["zacute"] = 389;
+    t["iogonek"] = 278;
+    t["Oacute"] = 722;
+    t["oacute"] = 500;
+    t["amacron"] = 500;
+    t["sacute"] = 389;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 722;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 500;
+    t["twosuperior"] = 300;
+    t["Odieresis"] = 722;
+    t["mu"] = 576;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 500;
+    t["Eogonek"] = 667;
+    t["dcroat"] = 500;
+    t["threequarters"] = 750;
+    t["Scedilla"] = 556;
+    t["lcaron"] = 382;
+    t["Kcommaaccent"] = 667;
+    t["Lacute"] = 611;
+    t["trademark"] = 1000;
+    t["edotaccent"] = 444;
+    t["Igrave"] = 389;
+    t["Imacron"] = 389;
+    t["Lcaron"] = 611;
+    t["onehalf"] = 750;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 500;
+    t["ntilde"] = 556;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 667;
+    t["emacron"] = 444;
+    t["gbreve"] = 500;
+    t["onequarter"] = 750;
+    t["Scaron"] = 556;
+    t["Scommaaccent"] = 556;
+    t["Ohungarumlaut"] = 722;
+    t["degree"] = 400;
+    t["ograve"] = 500;
+    t["Ccaron"] = 667;
+    t["ugrave"] = 556;
+    t["radical"] = 549;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 389;
+    t["Ntilde"] = 722;
+    t["otilde"] = 500;
+    t["Rcommaaccent"] = 667;
+    t["Lcommaaccent"] = 611;
+    t["Atilde"] = 667;
+    t["Aogonek"] = 667;
+    t["Aring"] = 667;
+    t["Otilde"] = 722;
+    t["zdotaccent"] = 389;
+    t["Ecaron"] = 667;
+    t["Iogonek"] = 389;
+    t["kcommaaccent"] = 500;
+    t["minus"] = 606;
+    t["Icircumflex"] = 389;
+    t["ncaron"] = 556;
+    t["tcommaaccent"] = 278;
+    t["logicalnot"] = 606;
+    t["odieresis"] = 500;
+    t["udieresis"] = 556;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 500;
+    t["eth"] = 500;
+    t["zcaron"] = 389;
+    t["ncommaaccent"] = 556;
+    t["onesuperior"] = 300;
+    t["imacron"] = 278;
+    t["Euro"] = 500;
   });
-  t['Times-Italic'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 250;
-    t['exclam'] = 333;
-    t['quotedbl'] = 420;
-    t['numbersign'] = 500;
-    t['dollar'] = 500;
-    t['percent'] = 833;
-    t['ampersand'] = 778;
-    t['quoteright'] = 333;
-    t['parenleft'] = 333;
-    t['parenright'] = 333;
-    t['asterisk'] = 500;
-    t['plus'] = 675;
-    t['comma'] = 250;
-    t['hyphen'] = 333;
-    t['period'] = 250;
-    t['slash'] = 278;
-    t['zero'] = 500;
-    t['one'] = 500;
-    t['two'] = 500;
-    t['three'] = 500;
-    t['four'] = 500;
-    t['five'] = 500;
-    t['six'] = 500;
-    t['seven'] = 500;
-    t['eight'] = 500;
-    t['nine'] = 500;
-    t['colon'] = 333;
-    t['semicolon'] = 333;
-    t['less'] = 675;
-    t['equal'] = 675;
-    t['greater'] = 675;
-    t['question'] = 500;
-    t['at'] = 920;
-    t['A'] = 611;
-    t['B'] = 611;
-    t['C'] = 667;
-    t['D'] = 722;
-    t['E'] = 611;
-    t['F'] = 611;
-    t['G'] = 722;
-    t['H'] = 722;
-    t['I'] = 333;
-    t['J'] = 444;
-    t['K'] = 667;
-    t['L'] = 556;
-    t['M'] = 833;
-    t['N'] = 667;
-    t['O'] = 722;
-    t['P'] = 611;
-    t['Q'] = 722;
-    t['R'] = 611;
-    t['S'] = 500;
-    t['T'] = 556;
-    t['U'] = 722;
-    t['V'] = 611;
-    t['W'] = 833;
-    t['X'] = 611;
-    t['Y'] = 556;
-    t['Z'] = 556;
-    t['bracketleft'] = 389;
-    t['backslash'] = 278;
-    t['bracketright'] = 389;
-    t['asciicircum'] = 422;
-    t['underscore'] = 500;
-    t['quoteleft'] = 333;
-    t['a'] = 500;
-    t['b'] = 500;
-    t['c'] = 444;
-    t['d'] = 500;
-    t['e'] = 444;
-    t['f'] = 278;
-    t['g'] = 500;
-    t['h'] = 500;
-    t['i'] = 278;
-    t['j'] = 278;
-    t['k'] = 444;
-    t['l'] = 278;
-    t['m'] = 722;
-    t['n'] = 500;
-    t['o'] = 500;
-    t['p'] = 500;
-    t['q'] = 500;
-    t['r'] = 389;
-    t['s'] = 389;
-    t['t'] = 278;
-    t['u'] = 500;
-    t['v'] = 444;
-    t['w'] = 667;
-    t['x'] = 444;
-    t['y'] = 444;
-    t['z'] = 389;
-    t['braceleft'] = 400;
-    t['bar'] = 275;
-    t['braceright'] = 400;
-    t['asciitilde'] = 541;
-    t['exclamdown'] = 389;
-    t['cent'] = 500;
-    t['sterling'] = 500;
-    t['fraction'] = 167;
-    t['yen'] = 500;
-    t['florin'] = 500;
-    t['section'] = 500;
-    t['currency'] = 500;
-    t['quotesingle'] = 214;
-    t['quotedblleft'] = 556;
-    t['guillemotleft'] = 500;
-    t['guilsinglleft'] = 333;
-    t['guilsinglright'] = 333;
-    t['fi'] = 500;
-    t['fl'] = 500;
-    t['endash'] = 500;
-    t['dagger'] = 500;
-    t['daggerdbl'] = 500;
-    t['periodcentered'] = 250;
-    t['paragraph'] = 523;
-    t['bullet'] = 350;
-    t['quotesinglbase'] = 333;
-    t['quotedblbase'] = 556;
-    t['quotedblright'] = 556;
-    t['guillemotright'] = 500;
-    t['ellipsis'] = 889;
-    t['perthousand'] = 1000;
-    t['questiondown'] = 500;
-    t['grave'] = 333;
-    t['acute'] = 333;
-    t['circumflex'] = 333;
-    t['tilde'] = 333;
-    t['macron'] = 333;
-    t['breve'] = 333;
-    t['dotaccent'] = 333;
-    t['dieresis'] = 333;
-    t['ring'] = 333;
-    t['cedilla'] = 333;
-    t['hungarumlaut'] = 333;
-    t['ogonek'] = 333;
-    t['caron'] = 333;
-    t['emdash'] = 889;
-    t['AE'] = 889;
-    t['ordfeminine'] = 276;
-    t['Lslash'] = 556;
-    t['Oslash'] = 722;
-    t['OE'] = 944;
-    t['ordmasculine'] = 310;
-    t['ae'] = 667;
-    t['dotlessi'] = 278;
-    t['lslash'] = 278;
-    t['oslash'] = 500;
-    t['oe'] = 667;
-    t['germandbls'] = 500;
-    t['Idieresis'] = 333;
-    t['eacute'] = 444;
-    t['abreve'] = 500;
-    t['uhungarumlaut'] = 500;
-    t['ecaron'] = 444;
-    t['Ydieresis'] = 556;
-    t['divide'] = 675;
-    t['Yacute'] = 556;
-    t['Acircumflex'] = 611;
-    t['aacute'] = 500;
-    t['Ucircumflex'] = 722;
-    t['yacute'] = 444;
-    t['scommaaccent'] = 389;
-    t['ecircumflex'] = 444;
-    t['Uring'] = 722;
-    t['Udieresis'] = 722;
-    t['aogonek'] = 500;
-    t['Uacute'] = 722;
-    t['uogonek'] = 500;
-    t['Edieresis'] = 611;
-    t['Dcroat'] = 722;
-    t['commaaccent'] = 250;
-    t['copyright'] = 760;
-    t['Emacron'] = 611;
-    t['ccaron'] = 444;
-    t['aring'] = 500;
-    t['Ncommaaccent'] = 667;
-    t['lacute'] = 278;
-    t['agrave'] = 500;
-    t['Tcommaaccent'] = 556;
-    t['Cacute'] = 667;
-    t['atilde'] = 500;
-    t['Edotaccent'] = 611;
-    t['scaron'] = 389;
-    t['scedilla'] = 389;
-    t['iacute'] = 278;
-    t['lozenge'] = 471;
-    t['Rcaron'] = 611;
-    t['Gcommaaccent'] = 722;
-    t['ucircumflex'] = 500;
-    t['acircumflex'] = 500;
-    t['Amacron'] = 611;
-    t['rcaron'] = 389;
-    t['ccedilla'] = 444;
-    t['Zdotaccent'] = 556;
-    t['Thorn'] = 611;
-    t['Omacron'] = 722;
-    t['Racute'] = 611;
-    t['Sacute'] = 500;
-    t['dcaron'] = 544;
-    t['Umacron'] = 722;
-    t['uring'] = 500;
-    t['threesuperior'] = 300;
-    t['Ograve'] = 722;
-    t['Agrave'] = 611;
-    t['Abreve'] = 611;
-    t['multiply'] = 675;
-    t['uacute'] = 500;
-    t['Tcaron'] = 556;
-    t['partialdiff'] = 476;
-    t['ydieresis'] = 444;
-    t['Nacute'] = 667;
-    t['icircumflex'] = 278;
-    t['Ecircumflex'] = 611;
-    t['adieresis'] = 500;
-    t['edieresis'] = 444;
-    t['cacute'] = 444;
-    t['nacute'] = 500;
-    t['umacron'] = 500;
-    t['Ncaron'] = 667;
-    t['Iacute'] = 333;
-    t['plusminus'] = 675;
-    t['brokenbar'] = 275;
-    t['registered'] = 760;
-    t['Gbreve'] = 722;
-    t['Idotaccent'] = 333;
-    t['summation'] = 600;
-    t['Egrave'] = 611;
-    t['racute'] = 389;
-    t['omacron'] = 500;
-    t['Zacute'] = 556;
-    t['Zcaron'] = 556;
-    t['greaterequal'] = 549;
-    t['Eth'] = 722;
-    t['Ccedilla'] = 667;
-    t['lcommaaccent'] = 278;
-    t['tcaron'] = 300;
-    t['eogonek'] = 444;
-    t['Uogonek'] = 722;
-    t['Aacute'] = 611;
-    t['Adieresis'] = 611;
-    t['egrave'] = 444;
-    t['zacute'] = 389;
-    t['iogonek'] = 278;
-    t['Oacute'] = 722;
-    t['oacute'] = 500;
-    t['amacron'] = 500;
-    t['sacute'] = 389;
-    t['idieresis'] = 278;
-    t['Ocircumflex'] = 722;
-    t['Ugrave'] = 722;
-    t['Delta'] = 612;
-    t['thorn'] = 500;
-    t['twosuperior'] = 300;
-    t['Odieresis'] = 722;
-    t['mu'] = 500;
-    t['igrave'] = 278;
-    t['ohungarumlaut'] = 500;
-    t['Eogonek'] = 611;
-    t['dcroat'] = 500;
-    t['threequarters'] = 750;
-    t['Scedilla'] = 500;
-    t['lcaron'] = 300;
-    t['Kcommaaccent'] = 667;
-    t['Lacute'] = 556;
-    t['trademark'] = 980;
-    t['edotaccent'] = 444;
-    t['Igrave'] = 333;
-    t['Imacron'] = 333;
-    t['Lcaron'] = 611;
-    t['onehalf'] = 750;
-    t['lessequal'] = 549;
-    t['ocircumflex'] = 500;
-    t['ntilde'] = 500;
-    t['Uhungarumlaut'] = 722;
-    t['Eacute'] = 611;
-    t['emacron'] = 444;
-    t['gbreve'] = 500;
-    t['onequarter'] = 750;
-    t['Scaron'] = 500;
-    t['Scommaaccent'] = 500;
-    t['Ohungarumlaut'] = 722;
-    t['degree'] = 400;
-    t['ograve'] = 500;
-    t['Ccaron'] = 667;
-    t['ugrave'] = 500;
-    t['radical'] = 453;
-    t['Dcaron'] = 722;
-    t['rcommaaccent'] = 389;
-    t['Ntilde'] = 667;
-    t['otilde'] = 500;
-    t['Rcommaaccent'] = 611;
-    t['Lcommaaccent'] = 556;
-    t['Atilde'] = 611;
-    t['Aogonek'] = 611;
-    t['Aring'] = 611;
-    t['Otilde'] = 722;
-    t['zdotaccent'] = 389;
-    t['Ecaron'] = 611;
-    t['Iogonek'] = 333;
-    t['kcommaaccent'] = 444;
-    t['minus'] = 675;
-    t['Icircumflex'] = 333;
-    t['ncaron'] = 500;
-    t['tcommaaccent'] = 278;
-    t['logicalnot'] = 675;
-    t['odieresis'] = 500;
-    t['udieresis'] = 500;
-    t['notequal'] = 549;
-    t['gcommaaccent'] = 500;
-    t['eth'] = 500;
-    t['zcaron'] = 389;
-    t['ncommaaccent'] = 500;
-    t['onesuperior'] = 300;
-    t['imacron'] = 278;
-    t['Euro'] = 500;
+  t["Times-Italic"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 250;
+    t["exclam"] = 333;
+    t["quotedbl"] = 420;
+    t["numbersign"] = 500;
+    t["dollar"] = 500;
+    t["percent"] = 833;
+    t["ampersand"] = 778;
+    t["quoteright"] = 333;
+    t["parenleft"] = 333;
+    t["parenright"] = 333;
+    t["asterisk"] = 500;
+    t["plus"] = 675;
+    t["comma"] = 250;
+    t["hyphen"] = 333;
+    t["period"] = 250;
+    t["slash"] = 278;
+    t["zero"] = 500;
+    t["one"] = 500;
+    t["two"] = 500;
+    t["three"] = 500;
+    t["four"] = 500;
+    t["five"] = 500;
+    t["six"] = 500;
+    t["seven"] = 500;
+    t["eight"] = 500;
+    t["nine"] = 500;
+    t["colon"] = 333;
+    t["semicolon"] = 333;
+    t["less"] = 675;
+    t["equal"] = 675;
+    t["greater"] = 675;
+    t["question"] = 500;
+    t["at"] = 920;
+    t["A"] = 611;
+    t["B"] = 611;
+    t["C"] = 667;
+    t["D"] = 722;
+    t["E"] = 611;
+    t["F"] = 611;
+    t["G"] = 722;
+    t["H"] = 722;
+    t["I"] = 333;
+    t["J"] = 444;
+    t["K"] = 667;
+    t["L"] = 556;
+    t["M"] = 833;
+    t["N"] = 667;
+    t["O"] = 722;
+    t["P"] = 611;
+    t["Q"] = 722;
+    t["R"] = 611;
+    t["S"] = 500;
+    t["T"] = 556;
+    t["U"] = 722;
+    t["V"] = 611;
+    t["W"] = 833;
+    t["X"] = 611;
+    t["Y"] = 556;
+    t["Z"] = 556;
+    t["bracketleft"] = 389;
+    t["backslash"] = 278;
+    t["bracketright"] = 389;
+    t["asciicircum"] = 422;
+    t["underscore"] = 500;
+    t["quoteleft"] = 333;
+    t["a"] = 500;
+    t["b"] = 500;
+    t["c"] = 444;
+    t["d"] = 500;
+    t["e"] = 444;
+    t["f"] = 278;
+    t["g"] = 500;
+    t["h"] = 500;
+    t["i"] = 278;
+    t["j"] = 278;
+    t["k"] = 444;
+    t["l"] = 278;
+    t["m"] = 722;
+    t["n"] = 500;
+    t["o"] = 500;
+    t["p"] = 500;
+    t["q"] = 500;
+    t["r"] = 389;
+    t["s"] = 389;
+    t["t"] = 278;
+    t["u"] = 500;
+    t["v"] = 444;
+    t["w"] = 667;
+    t["x"] = 444;
+    t["y"] = 444;
+    t["z"] = 389;
+    t["braceleft"] = 400;
+    t["bar"] = 275;
+    t["braceright"] = 400;
+    t["asciitilde"] = 541;
+    t["exclamdown"] = 389;
+    t["cent"] = 500;
+    t["sterling"] = 500;
+    t["fraction"] = 167;
+    t["yen"] = 500;
+    t["florin"] = 500;
+    t["section"] = 500;
+    t["currency"] = 500;
+    t["quotesingle"] = 214;
+    t["quotedblleft"] = 556;
+    t["guillemotleft"] = 500;
+    t["guilsinglleft"] = 333;
+    t["guilsinglright"] = 333;
+    t["fi"] = 500;
+    t["fl"] = 500;
+    t["endash"] = 500;
+    t["dagger"] = 500;
+    t["daggerdbl"] = 500;
+    t["periodcentered"] = 250;
+    t["paragraph"] = 523;
+    t["bullet"] = 350;
+    t["quotesinglbase"] = 333;
+    t["quotedblbase"] = 556;
+    t["quotedblright"] = 556;
+    t["guillemotright"] = 500;
+    t["ellipsis"] = 889;
+    t["perthousand"] = 1000;
+    t["questiondown"] = 500;
+    t["grave"] = 333;
+    t["acute"] = 333;
+    t["circumflex"] = 333;
+    t["tilde"] = 333;
+    t["macron"] = 333;
+    t["breve"] = 333;
+    t["dotaccent"] = 333;
+    t["dieresis"] = 333;
+    t["ring"] = 333;
+    t["cedilla"] = 333;
+    t["hungarumlaut"] = 333;
+    t["ogonek"] = 333;
+    t["caron"] = 333;
+    t["emdash"] = 889;
+    t["AE"] = 889;
+    t["ordfeminine"] = 276;
+    t["Lslash"] = 556;
+    t["Oslash"] = 722;
+    t["OE"] = 944;
+    t["ordmasculine"] = 310;
+    t["ae"] = 667;
+    t["dotlessi"] = 278;
+    t["lslash"] = 278;
+    t["oslash"] = 500;
+    t["oe"] = 667;
+    t["germandbls"] = 500;
+    t["Idieresis"] = 333;
+    t["eacute"] = 444;
+    t["abreve"] = 500;
+    t["uhungarumlaut"] = 500;
+    t["ecaron"] = 444;
+    t["Ydieresis"] = 556;
+    t["divide"] = 675;
+    t["Yacute"] = 556;
+    t["Acircumflex"] = 611;
+    t["aacute"] = 500;
+    t["Ucircumflex"] = 722;
+    t["yacute"] = 444;
+    t["scommaaccent"] = 389;
+    t["ecircumflex"] = 444;
+    t["Uring"] = 722;
+    t["Udieresis"] = 722;
+    t["aogonek"] = 500;
+    t["Uacute"] = 722;
+    t["uogonek"] = 500;
+    t["Edieresis"] = 611;
+    t["Dcroat"] = 722;
+    t["commaaccent"] = 250;
+    t["copyright"] = 760;
+    t["Emacron"] = 611;
+    t["ccaron"] = 444;
+    t["aring"] = 500;
+    t["Ncommaaccent"] = 667;
+    t["lacute"] = 278;
+    t["agrave"] = 500;
+    t["Tcommaaccent"] = 556;
+    t["Cacute"] = 667;
+    t["atilde"] = 500;
+    t["Edotaccent"] = 611;
+    t["scaron"] = 389;
+    t["scedilla"] = 389;
+    t["iacute"] = 278;
+    t["lozenge"] = 471;
+    t["Rcaron"] = 611;
+    t["Gcommaaccent"] = 722;
+    t["ucircumflex"] = 500;
+    t["acircumflex"] = 500;
+    t["Amacron"] = 611;
+    t["rcaron"] = 389;
+    t["ccedilla"] = 444;
+    t["Zdotaccent"] = 556;
+    t["Thorn"] = 611;
+    t["Omacron"] = 722;
+    t["Racute"] = 611;
+    t["Sacute"] = 500;
+    t["dcaron"] = 544;
+    t["Umacron"] = 722;
+    t["uring"] = 500;
+    t["threesuperior"] = 300;
+    t["Ograve"] = 722;
+    t["Agrave"] = 611;
+    t["Abreve"] = 611;
+    t["multiply"] = 675;
+    t["uacute"] = 500;
+    t["Tcaron"] = 556;
+    t["partialdiff"] = 476;
+    t["ydieresis"] = 444;
+    t["Nacute"] = 667;
+    t["icircumflex"] = 278;
+    t["Ecircumflex"] = 611;
+    t["adieresis"] = 500;
+    t["edieresis"] = 444;
+    t["cacute"] = 444;
+    t["nacute"] = 500;
+    t["umacron"] = 500;
+    t["Ncaron"] = 667;
+    t["Iacute"] = 333;
+    t["plusminus"] = 675;
+    t["brokenbar"] = 275;
+    t["registered"] = 760;
+    t["Gbreve"] = 722;
+    t["Idotaccent"] = 333;
+    t["summation"] = 600;
+    t["Egrave"] = 611;
+    t["racute"] = 389;
+    t["omacron"] = 500;
+    t["Zacute"] = 556;
+    t["Zcaron"] = 556;
+    t["greaterequal"] = 549;
+    t["Eth"] = 722;
+    t["Ccedilla"] = 667;
+    t["lcommaaccent"] = 278;
+    t["tcaron"] = 300;
+    t["eogonek"] = 444;
+    t["Uogonek"] = 722;
+    t["Aacute"] = 611;
+    t["Adieresis"] = 611;
+    t["egrave"] = 444;
+    t["zacute"] = 389;
+    t["iogonek"] = 278;
+    t["Oacute"] = 722;
+    t["oacute"] = 500;
+    t["amacron"] = 500;
+    t["sacute"] = 389;
+    t["idieresis"] = 278;
+    t["Ocircumflex"] = 722;
+    t["Ugrave"] = 722;
+    t["Delta"] = 612;
+    t["thorn"] = 500;
+    t["twosuperior"] = 300;
+    t["Odieresis"] = 722;
+    t["mu"] = 500;
+    t["igrave"] = 278;
+    t["ohungarumlaut"] = 500;
+    t["Eogonek"] = 611;
+    t["dcroat"] = 500;
+    t["threequarters"] = 750;
+    t["Scedilla"] = 500;
+    t["lcaron"] = 300;
+    t["Kcommaaccent"] = 667;
+    t["Lacute"] = 556;
+    t["trademark"] = 980;
+    t["edotaccent"] = 444;
+    t["Igrave"] = 333;
+    t["Imacron"] = 333;
+    t["Lcaron"] = 611;
+    t["onehalf"] = 750;
+    t["lessequal"] = 549;
+    t["ocircumflex"] = 500;
+    t["ntilde"] = 500;
+    t["Uhungarumlaut"] = 722;
+    t["Eacute"] = 611;
+    t["emacron"] = 444;
+    t["gbreve"] = 500;
+    t["onequarter"] = 750;
+    t["Scaron"] = 500;
+    t["Scommaaccent"] = 500;
+    t["Ohungarumlaut"] = 722;
+    t["degree"] = 400;
+    t["ograve"] = 500;
+    t["Ccaron"] = 667;
+    t["ugrave"] = 500;
+    t["radical"] = 453;
+    t["Dcaron"] = 722;
+    t["rcommaaccent"] = 389;
+    t["Ntilde"] = 667;
+    t["otilde"] = 500;
+    t["Rcommaaccent"] = 611;
+    t["Lcommaaccent"] = 556;
+    t["Atilde"] = 611;
+    t["Aogonek"] = 611;
+    t["Aring"] = 611;
+    t["Otilde"] = 722;
+    t["zdotaccent"] = 389;
+    t["Ecaron"] = 611;
+    t["Iogonek"] = 333;
+    t["kcommaaccent"] = 444;
+    t["minus"] = 675;
+    t["Icircumflex"] = 333;
+    t["ncaron"] = 500;
+    t["tcommaaccent"] = 278;
+    t["logicalnot"] = 675;
+    t["odieresis"] = 500;
+    t["udieresis"] = 500;
+    t["notequal"] = 549;
+    t["gcommaaccent"] = 500;
+    t["eth"] = 500;
+    t["zcaron"] = 389;
+    t["ncommaaccent"] = 500;
+    t["onesuperior"] = 300;
+    t["imacron"] = 278;
+    t["Euro"] = 500;
   });
-  t['ZapfDingbats'] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t['space'] = 278;
-    t['a1'] = 974;
-    t['a2'] = 961;
-    t['a202'] = 974;
-    t['a3'] = 980;
-    t['a4'] = 719;
-    t['a5'] = 789;
-    t['a119'] = 790;
-    t['a118'] = 791;
-    t['a117'] = 690;
-    t['a11'] = 960;
-    t['a12'] = 939;
-    t['a13'] = 549;
-    t['a14'] = 855;
-    t['a15'] = 911;
-    t['a16'] = 933;
-    t['a105'] = 911;
-    t['a17'] = 945;
-    t['a18'] = 974;
-    t['a19'] = 755;
-    t['a20'] = 846;
-    t['a21'] = 762;
-    t['a22'] = 761;
-    t['a23'] = 571;
-    t['a24'] = 677;
-    t['a25'] = 763;
-    t['a26'] = 760;
-    t['a27'] = 759;
-    t['a28'] = 754;
-    t['a6'] = 494;
-    t['a7'] = 552;
-    t['a8'] = 537;
-    t['a9'] = 577;
-    t['a10'] = 692;
-    t['a29'] = 786;
-    t['a30'] = 788;
-    t['a31'] = 788;
-    t['a32'] = 790;
-    t['a33'] = 793;
-    t['a34'] = 794;
-    t['a35'] = 816;
-    t['a36'] = 823;
-    t['a37'] = 789;
-    t['a38'] = 841;
-    t['a39'] = 823;
-    t['a40'] = 833;
-    t['a41'] = 816;
-    t['a42'] = 831;
-    t['a43'] = 923;
-    t['a44'] = 744;
-    t['a45'] = 723;
-    t['a46'] = 749;
-    t['a47'] = 790;
-    t['a48'] = 792;
-    t['a49'] = 695;
-    t['a50'] = 776;
-    t['a51'] = 768;
-    t['a52'] = 792;
-    t['a53'] = 759;
-    t['a54'] = 707;
-    t['a55'] = 708;
-    t['a56'] = 682;
-    t['a57'] = 701;
-    t['a58'] = 826;
-    t['a59'] = 815;
-    t['a60'] = 789;
-    t['a61'] = 789;
-    t['a62'] = 707;
-    t['a63'] = 687;
-    t['a64'] = 696;
-    t['a65'] = 689;
-    t['a66'] = 786;
-    t['a67'] = 787;
-    t['a68'] = 713;
-    t['a69'] = 791;
-    t['a70'] = 785;
-    t['a71'] = 791;
-    t['a72'] = 873;
-    t['a73'] = 761;
-    t['a74'] = 762;
-    t['a203'] = 762;
-    t['a75'] = 759;
-    t['a204'] = 759;
-    t['a76'] = 892;
-    t['a77'] = 892;
-    t['a78'] = 788;
-    t['a79'] = 784;
-    t['a81'] = 438;
-    t['a82'] = 138;
-    t['a83'] = 277;
-    t['a84'] = 415;
-    t['a97'] = 392;
-    t['a98'] = 392;
-    t['a99'] = 668;
-    t['a100'] = 668;
-    t['a89'] = 390;
-    t['a90'] = 390;
-    t['a93'] = 317;
-    t['a94'] = 317;
-    t['a91'] = 276;
-    t['a92'] = 276;
-    t['a205'] = 509;
-    t['a85'] = 509;
-    t['a206'] = 410;
-    t['a86'] = 410;
-    t['a87'] = 234;
-    t['a88'] = 234;
-    t['a95'] = 334;
-    t['a96'] = 334;
-    t['a101'] = 732;
-    t['a102'] = 544;
-    t['a103'] = 544;
-    t['a104'] = 910;
-    t['a106'] = 667;
-    t['a107'] = 760;
-    t['a108'] = 760;
-    t['a112'] = 776;
-    t['a111'] = 595;
-    t['a110'] = 694;
-    t['a109'] = 626;
-    t['a120'] = 788;
-    t['a121'] = 788;
-    t['a122'] = 788;
-    t['a123'] = 788;
-    t['a124'] = 788;
-    t['a125'] = 788;
-    t['a126'] = 788;
-    t['a127'] = 788;
-    t['a128'] = 788;
-    t['a129'] = 788;
-    t['a130'] = 788;
-    t['a131'] = 788;
-    t['a132'] = 788;
-    t['a133'] = 788;
-    t['a134'] = 788;
-    t['a135'] = 788;
-    t['a136'] = 788;
-    t['a137'] = 788;
-    t['a138'] = 788;
-    t['a139'] = 788;
-    t['a140'] = 788;
-    t['a141'] = 788;
-    t['a142'] = 788;
-    t['a143'] = 788;
-    t['a144'] = 788;
-    t['a145'] = 788;
-    t['a146'] = 788;
-    t['a147'] = 788;
-    t['a148'] = 788;
-    t['a149'] = 788;
-    t['a150'] = 788;
-    t['a151'] = 788;
-    t['a152'] = 788;
-    t['a153'] = 788;
-    t['a154'] = 788;
-    t['a155'] = 788;
-    t['a156'] = 788;
-    t['a157'] = 788;
-    t['a158'] = 788;
-    t['a159'] = 788;
-    t['a160'] = 894;
-    t['a161'] = 838;
-    t['a163'] = 1016;
-    t['a164'] = 458;
-    t['a196'] = 748;
-    t['a165'] = 924;
-    t['a192'] = 748;
-    t['a166'] = 918;
-    t['a167'] = 927;
-    t['a168'] = 928;
-    t['a169'] = 928;
-    t['a170'] = 834;
-    t['a171'] = 873;
-    t['a172'] = 828;
-    t['a173'] = 924;
-    t['a162'] = 924;
-    t['a174'] = 917;
-    t['a175'] = 930;
-    t['a176'] = 931;
-    t['a177'] = 463;
-    t['a178'] = 883;
-    t['a179'] = 836;
-    t['a193'] = 836;
-    t['a180'] = 867;
-    t['a199'] = 867;
-    t['a181'] = 696;
-    t['a200'] = 696;
-    t['a182'] = 874;
-    t['a201'] = 874;
-    t['a183'] = 760;
-    t['a184'] = 946;
-    t['a197'] = 771;
-    t['a185'] = 865;
-    t['a194'] = 771;
-    t['a198'] = 888;
-    t['a186'] = 967;
-    t['a195'] = 888;
-    t['a187'] = 831;
-    t['a188'] = 873;
-    t['a189'] = 927;
-    t['a190'] = 970;
-    t['a191'] = 918;
+  t["ZapfDingbats"] = (0, _core_utils.getLookupTableFactory)(function (t) {
+    t["space"] = 278;
+    t["a1"] = 974;
+    t["a2"] = 961;
+    t["a202"] = 974;
+    t["a3"] = 980;
+    t["a4"] = 719;
+    t["a5"] = 789;
+    t["a119"] = 790;
+    t["a118"] = 791;
+    t["a117"] = 690;
+    t["a11"] = 960;
+    t["a12"] = 939;
+    t["a13"] = 549;
+    t["a14"] = 855;
+    t["a15"] = 911;
+    t["a16"] = 933;
+    t["a105"] = 911;
+    t["a17"] = 945;
+    t["a18"] = 974;
+    t["a19"] = 755;
+    t["a20"] = 846;
+    t["a21"] = 762;
+    t["a22"] = 761;
+    t["a23"] = 571;
+    t["a24"] = 677;
+    t["a25"] = 763;
+    t["a26"] = 760;
+    t["a27"] = 759;
+    t["a28"] = 754;
+    t["a6"] = 494;
+    t["a7"] = 552;
+    t["a8"] = 537;
+    t["a9"] = 577;
+    t["a10"] = 692;
+    t["a29"] = 786;
+    t["a30"] = 788;
+    t["a31"] = 788;
+    t["a32"] = 790;
+    t["a33"] = 793;
+    t["a34"] = 794;
+    t["a35"] = 816;
+    t["a36"] = 823;
+    t["a37"] = 789;
+    t["a38"] = 841;
+    t["a39"] = 823;
+    t["a40"] = 833;
+    t["a41"] = 816;
+    t["a42"] = 831;
+    t["a43"] = 923;
+    t["a44"] = 744;
+    t["a45"] = 723;
+    t["a46"] = 749;
+    t["a47"] = 790;
+    t["a48"] = 792;
+    t["a49"] = 695;
+    t["a50"] = 776;
+    t["a51"] = 768;
+    t["a52"] = 792;
+    t["a53"] = 759;
+    t["a54"] = 707;
+    t["a55"] = 708;
+    t["a56"] = 682;
+    t["a57"] = 701;
+    t["a58"] = 826;
+    t["a59"] = 815;
+    t["a60"] = 789;
+    t["a61"] = 789;
+    t["a62"] = 707;
+    t["a63"] = 687;
+    t["a64"] = 696;
+    t["a65"] = 689;
+    t["a66"] = 786;
+    t["a67"] = 787;
+    t["a68"] = 713;
+    t["a69"] = 791;
+    t["a70"] = 785;
+    t["a71"] = 791;
+    t["a72"] = 873;
+    t["a73"] = 761;
+    t["a74"] = 762;
+    t["a203"] = 762;
+    t["a75"] = 759;
+    t["a204"] = 759;
+    t["a76"] = 892;
+    t["a77"] = 892;
+    t["a78"] = 788;
+    t["a79"] = 784;
+    t["a81"] = 438;
+    t["a82"] = 138;
+    t["a83"] = 277;
+    t["a84"] = 415;
+    t["a97"] = 392;
+    t["a98"] = 392;
+    t["a99"] = 668;
+    t["a100"] = 668;
+    t["a89"] = 390;
+    t["a90"] = 390;
+    t["a93"] = 317;
+    t["a94"] = 317;
+    t["a91"] = 276;
+    t["a92"] = 276;
+    t["a205"] = 509;
+    t["a85"] = 509;
+    t["a206"] = 410;
+    t["a86"] = 410;
+    t["a87"] = 234;
+    t["a88"] = 234;
+    t["a95"] = 334;
+    t["a96"] = 334;
+    t["a101"] = 732;
+    t["a102"] = 544;
+    t["a103"] = 544;
+    t["a104"] = 910;
+    t["a106"] = 667;
+    t["a107"] = 760;
+    t["a108"] = 760;
+    t["a112"] = 776;
+    t["a111"] = 595;
+    t["a110"] = 694;
+    t["a109"] = 626;
+    t["a120"] = 788;
+    t["a121"] = 788;
+    t["a122"] = 788;
+    t["a123"] = 788;
+    t["a124"] = 788;
+    t["a125"] = 788;
+    t["a126"] = 788;
+    t["a127"] = 788;
+    t["a128"] = 788;
+    t["a129"] = 788;
+    t["a130"] = 788;
+    t["a131"] = 788;
+    t["a132"] = 788;
+    t["a133"] = 788;
+    t["a134"] = 788;
+    t["a135"] = 788;
+    t["a136"] = 788;
+    t["a137"] = 788;
+    t["a138"] = 788;
+    t["a139"] = 788;
+    t["a140"] = 788;
+    t["a141"] = 788;
+    t["a142"] = 788;
+    t["a143"] = 788;
+    t["a144"] = 788;
+    t["a145"] = 788;
+    t["a146"] = 788;
+    t["a147"] = 788;
+    t["a148"] = 788;
+    t["a149"] = 788;
+    t["a150"] = 788;
+    t["a151"] = 788;
+    t["a152"] = 788;
+    t["a153"] = 788;
+    t["a154"] = 788;
+    t["a155"] = 788;
+    t["a156"] = 788;
+    t["a157"] = 788;
+    t["a158"] = 788;
+    t["a159"] = 788;
+    t["a160"] = 894;
+    t["a161"] = 838;
+    t["a163"] = 1016;
+    t["a164"] = 458;
+    t["a196"] = 748;
+    t["a165"] = 924;
+    t["a192"] = 748;
+    t["a166"] = 918;
+    t["a167"] = 927;
+    t["a168"] = 928;
+    t["a169"] = 928;
+    t["a170"] = 834;
+    t["a171"] = 873;
+    t["a172"] = 828;
+    t["a173"] = 924;
+    t["a162"] = 924;
+    t["a174"] = 917;
+    t["a175"] = 930;
+    t["a176"] = 931;
+    t["a177"] = 463;
+    t["a178"] = 883;
+    t["a179"] = 836;
+    t["a193"] = 836;
+    t["a180"] = 867;
+    t["a199"] = 867;
+    t["a181"] = 696;
+    t["a200"] = 696;
+    t["a182"] = 874;
+    t["a201"] = 874;
+    t["a183"] = 760;
+    t["a184"] = 946;
+    t["a197"] = 771;
+    t["a185"] = 865;
+    t["a194"] = 771;
+    t["a198"] = 888;
+    t["a186"] = 967;
+    t["a195"] = 888;
+    t["a187"] = 831;
+    t["a188"] = 873;
+    t["a189"] = 927;
+    t["a190"] = 970;
+    t["a191"] = 918;
   });
 });
 exports.getMetrics = getMetrics;
 
 /***/ }),
-/* 218 */
+/* 39 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -53246,63 +42766,38 @@ Object.defineProperty(exports, "__esModule", {
 exports.isPDFFunction = isPDFFunction;
 exports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
-
-var _ps_parser = __w_pdfjs_require__(219);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); } }
+var _util = __w_pdfjs_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _primitives = __w_pdfjs_require__(4);
 
-var IsEvalSupportedCached = {
-  get value() {
-    return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());
-  }
-
-};
-
-var PDFFunctionFactory =
-/*#__PURE__*/
-function () {
-  function PDFFunctionFactory(_ref) {
-    var xref = _ref.xref,
-        _ref$isEvalSupported = _ref.isEvalSupported,
-        isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;
-
-    _classCallCheck(this, PDFFunctionFactory);
+var _ps_parser = __w_pdfjs_require__(40);
 
+class PDFFunctionFactory {
+  constructor({
+    xref,
+    isEvalSupported = true
+  }) {
     this.xref = xref;
     this.isEvalSupported = isEvalSupported !== false;
   }
 
-  _createClass(PDFFunctionFactory, [{
-    key: "create",
-    value: function create(fn) {
-      return PDFFunction.parse({
-        xref: this.xref,
-        isEvalSupported: this.isEvalSupported,
-        fn: fn
-      });
-    }
-  }, {
-    key: "createFromArray",
-    value: function createFromArray(fnObj) {
-      return PDFFunction.parseArray({
-        xref: this.xref,
-        isEvalSupported: this.isEvalSupported,
-        fnObj: fnObj
-      });
-    }
-  }]);
+  create(fn) {
+    return PDFFunction.parse({
+      xref: this.xref,
+      isEvalSupported: this.isEvalSupported,
+      fn
+    });
+  }
 
-  return PDFFunctionFactory;
-}();
+  createFromArray(fnObj) {
+    return PDFFunction.parseArray({
+      xref: this.xref,
+      isEvalSupported: this.isEvalSupported,
+      fnObj
+    });
+  }
+
+}
 
 exports.PDFFunctionFactory = PDFFunctionFactory;
 
@@ -53311,14 +42806,14 @@ function toNumberArray(arr) {
     return null;
   }
 
-  var length = arr.length;
+  const length = arr.length;
 
-  for (var i = 0; i < length; i++) {
-    if (typeof arr[i] !== 'number') {
-      var result = new Array(length);
+  for (let i = 0; i < length; i++) {
+    if (typeof arr[i] !== "number") {
+      const result = new Array(length);
 
-      for (var _i = 0; _i < length; _i++) {
-        result[_i] = +arr[_i];
+      for (let i = 0; i < length; i++) {
+        result[i] = +arr[i];
       }
 
       return result;
@@ -53329,12 +42824,12 @@ function toNumberArray(arr) {
 }
 
 var PDFFunction = function PDFFunctionClosure() {
-  var CONSTRUCT_SAMPLED = 0;
-  var CONSTRUCT_INTERPOLATED = 2;
-  var CONSTRUCT_STICHED = 3;
-  var CONSTRUCT_POSTSCRIPT = 4;
+  const CONSTRUCT_SAMPLED = 0;
+  const CONSTRUCT_INTERPOLATED = 2;
+  const CONSTRUCT_STICHED = 3;
+  const CONSTRUCT_POSTSCRIPT = 4;
   return {
-    getSampleArray: function getSampleArray(size, outputSize, bps, stream) {
+    getSampleArray(size, outputSize, bps, stream) {
       var i, ii;
       var length = 1;
 
@@ -53346,7 +42841,7 @@ var PDFFunction = function PDFFunctionClosure() {
       var array = new Array(length);
       var codeSize = 0;
       var codeBuf = 0;
-      var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);
+      var sampleMul = 1.0 / (2.0 ** bps - 1);
       var strBytes = stream.getBytes((length * bps + 7) / 8);
       var strIdx = 0;
 
@@ -53364,10 +42859,12 @@ var PDFFunction = function PDFFunctionClosure() {
 
       return array;
     },
-    getIR: function getIR(_ref2) {
-      var xref = _ref2.xref,
-          isEvalSupported = _ref2.isEvalSupported,
-          fn = _ref2.fn;
+
+    getIR({
+      xref,
+      isEvalSupported,
+      fn
+    }) {
       var dict = fn.dict;
 
       if (!dict) {
@@ -53375,80 +42872,85 @@ var PDFFunction = function PDFFunctionClosure() {
       }
 
       var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, 
this.constructPostScript];
-      var typeNum = dict.get('FunctionType');
+      var typeNum = dict.get("FunctionType");
       var typeFn = types[typeNum];
 
       if (!typeFn) {
-        throw new _util.FormatError('Unknown type of function');
+        throw new _util.FormatError("Unknown type of function");
       }
 
       return typeFn.call(this, {
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        fn: fn,
-        dict: dict
+        xref,
+        isEvalSupported,
+        fn,
+        dict
       });
     },
-    fromIR: function fromIR(_ref3) {
-      var xref = _ref3.xref,
-          isEvalSupported = _ref3.isEvalSupported,
-          IR = _ref3.IR;
+
+    fromIR({
+      xref,
+      isEvalSupported,
+      IR
+    }) {
       var type = IR[0];
 
       switch (type) {
         case CONSTRUCT_SAMPLED:
           return this.constructSampledFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
+            xref,
+            isEvalSupported,
+            IR
           });
 
         case CONSTRUCT_INTERPOLATED:
           return this.constructInterpolatedFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
+            xref,
+            isEvalSupported,
+            IR
           });
 
         case CONSTRUCT_STICHED:
           return this.constructStichedFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
+            xref,
+            isEvalSupported,
+            IR
           });
 
         default:
           return this.constructPostScriptFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
+            xref,
+            isEvalSupported,
+            IR
           });
       }
     },
-    parse: function parse(_ref4) {
-      var xref = _ref4.xref,
-          isEvalSupported = _ref4.isEvalSupported,
-          fn = _ref4.fn;
-      var IR = this.getIR({
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        fn: fn
+
+    parse({
+      xref,
+      isEvalSupported,
+      fn
+    }) {
+      const IR = this.getIR({
+        xref,
+        isEvalSupported,
+        fn
       });
       return this.fromIR({
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        IR: IR
+        xref,
+        isEvalSupported,
+        IR
       });
     },
-    parseArray: function parseArray(_ref5) {
-      var xref = _ref5.xref,
-          isEvalSupported = _ref5.isEvalSupported,
-          fnObj = _ref5.fnObj;
 
+    parseArray({
+      xref,
+      isEvalSupported,
+      fnObj
+    }) {
       if (!Array.isArray(fnObj)) {
         return this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
+          xref,
+          isEvalSupported,
           fn: fnObj
         });
       }
@@ -53457,8 +42959,8 @@ var PDFFunction = function PDFFunctionClosure() {
 
       for (var j = 0, jj = fnObj.length; j < jj; j++) {
         fnArray.push(this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
+          xref,
+          isEvalSupported,
           fn: xref.fetchIfRef(fnObj[j])
         }));
       }
@@ -53469,12 +42971,13 @@ var PDFFunction = function PDFFunctionClosure() {
         }
       };
     },
-    constructSampled: function constructSampled(_ref6) {
-      var xref = _ref6.xref,
-          isEvalSupported = _ref6.isEvalSupported,
-          fn = _ref6.fn,
-          dict = _ref6.dict;
 
+    constructSampled({
+      xref,
+      isEvalSupported,
+      fn,
+      dict
+    }) {
       function toMultiArray(arr) {
         var inputLength = arr.length;
         var out = [];
@@ -53488,26 +42991,26 @@ var PDFFunction = function PDFFunctionClosure() {
         return out;
       }
 
-      var domain = toNumberArray(dict.getArray('Domain'));
-      var range = toNumberArray(dict.getArray('Range'));
+      var domain = toNumberArray(dict.getArray("Domain"));
+      var range = toNumberArray(dict.getArray("Range"));
 
       if (!domain || !range) {
-        throw new _util.FormatError('No domain or range');
+        throw new _util.FormatError("No domain or range");
       }
 
       var inputSize = domain.length / 2;
       var outputSize = range.length / 2;
       domain = toMultiArray(domain);
       range = toMultiArray(range);
-      var size = toNumberArray(dict.getArray('Size'));
-      var bps = dict.get('BitsPerSample');
-      var order = dict.get('Order') || 1;
+      var size = toNumberArray(dict.getArray("Size"));
+      var bps = dict.get("BitsPerSample");
+      var order = dict.get("Order") || 1;
 
       if (order !== 1) {
-        (0, _util.info)('No support for cubic spline interpolation: ' + order);
+        (0, _util.info)("No support for cubic spline interpolation: " + order);
       }
 
-      var encode = toNumberArray(dict.getArray('Encode'));
+      var encode = toNumberArray(dict.getArray("Encode"));
 
       if (!encode) {
         encode = [];
@@ -53519,7 +43022,7 @@ var PDFFunction = function PDFFunctionClosure() {
         encode = toMultiArray(encode);
       }
 
-      var decode = toNumberArray(dict.getArray('Decode'));
+      var decode = toNumberArray(dict.getArray("Decode"));
 
       if (!decode) {
         decode = range;
@@ -53528,13 +43031,14 @@ var PDFFunction = function PDFFunctionClosure() {
       }
 
       var samples = this.getSampleArray(size, outputSize, bps, fn);
-      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, 
bps) - 1, range];
+      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, 2 ** bps - 1, 
range];
     },
-    constructSampledFromIR: function constructSampledFromIR(_ref7) {
-      var xref = _ref7.xref,
-          isEvalSupported = _ref7.isEvalSupported,
-          IR = _ref7.IR;
 
+    constructSampledFromIR({
+      xref,
+      isEvalSupported,
+      IR
+    }) {
       function interpolate(x, xmin, xmax, ymin, ymax) {
         return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));
       }
@@ -53599,14 +43103,16 @@ var PDFFunction = function PDFFunctionClosure() {
         }
       };
     },
-    constructInterpolated: function constructInterpolated(_ref8) {
-      var xref = _ref8.xref,
-          isEvalSupported = _ref8.isEvalSupported,
-          fn = _ref8.fn,
-          dict = _ref8.dict;
-      var c0 = toNumberArray(dict.getArray('C0')) || [0];
-      var c1 = toNumberArray(dict.getArray('C1')) || [1];
-      var n = dict.get('N');
+
+    constructInterpolated({
+      xref,
+      isEvalSupported,
+      fn,
+      dict
+    }) {
+      var c0 = toNumberArray(dict.getArray("C0")) || [0];
+      var c1 = toNumberArray(dict.getArray("C1")) || [1];
+      var n = dict.get("N");
       var length = c0.length;
       var diff = [];
 
@@ -53616,58 +43122,64 @@ var PDFFunction = function PDFFunctionClosure() {
 
       return [CONSTRUCT_INTERPOLATED, c0, diff, n];
     },
-    constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {
-      var xref = _ref9.xref,
-          isEvalSupported = _ref9.isEvalSupported,
-          IR = _ref9.IR;
+
+    constructInterpolatedFromIR({
+      xref,
+      isEvalSupported,
+      IR
+    }) {
       var c0 = IR[1];
       var diff = IR[2];
       var n = IR[3];
       var length = diff.length;
       return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {
-        var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);
+        var x = n === 1 ? src[srcOffset] : src[srcOffset] ** n;
 
         for (var j = 0; j < length; ++j) {
           dest[destOffset + j] = c0[j] + x * diff[j];
         }
       };
     },
-    constructStiched: function constructStiched(_ref10) {
-      var xref = _ref10.xref,
-          isEvalSupported = _ref10.isEvalSupported,
-          fn = _ref10.fn,
-          dict = _ref10.dict;
-      var domain = toNumberArray(dict.getArray('Domain'));
+
+    constructStiched({
+      xref,
+      isEvalSupported,
+      fn,
+      dict
+    }) {
+      var domain = toNumberArray(dict.getArray("Domain"));
 
       if (!domain) {
-        throw new _util.FormatError('No domain');
+        throw new _util.FormatError("No domain");
       }
 
       var inputSize = domain.length / 2;
 
       if (inputSize !== 1) {
-        throw new _util.FormatError('Bad domain for stiched function');
+        throw new _util.FormatError("Bad domain for stiched function");
       }
 
-      var fnRefs = dict.get('Functions');
+      var fnRefs = dict.get("Functions");
       var fns = [];
 
       for (var i = 0, ii = fnRefs.length; i < ii; ++i) {
         fns.push(this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
+          xref,
+          isEvalSupported,
           fn: xref.fetchIfRef(fnRefs[i])
         }));
       }
 
-      var bounds = toNumberArray(dict.getArray('Bounds'));
-      var encode = toNumberArray(dict.getArray('Encode'));
+      var bounds = toNumberArray(dict.getArray("Bounds"));
+      var encode = toNumberArray(dict.getArray("Encode"));
       return [CONSTRUCT_STICHED, domain, bounds, encode, fns];
     },
-    constructStichedFromIR: function constructStichedFromIR(_ref11) {
-      var xref = _ref11.xref,
-          isEvalSupported = _ref11.isEvalSupported,
-          IR = _ref11.IR;
+
+    constructStichedFromIR({
+      xref,
+      isEvalSupported,
+      IR
+    }) {
       var domain = IR[1];
       var bounds = IR[2];
       var encode = IR[3];
@@ -53710,20 +43222,22 @@ var PDFFunction = function PDFFunctionClosure() {
         fns[i](tmpBuf, 0, dest, destOffset);
       };
     },
-    constructPostScript: function constructPostScript(_ref12) {
-      var xref = _ref12.xref,
-          isEvalSupported = _ref12.isEvalSupported,
-          fn = _ref12.fn,
-          dict = _ref12.dict;
-      var domain = toNumberArray(dict.getArray('Domain'));
-      var range = toNumberArray(dict.getArray('Range'));
+
+    constructPostScript({
+      xref,
+      isEvalSupported,
+      fn,
+      dict
+    }) {
+      var domain = toNumberArray(dict.getArray("Domain"));
+      var range = toNumberArray(dict.getArray("Range"));
 
       if (!domain) {
-        throw new _util.FormatError('No domain.');
+        throw new _util.FormatError("No domain.");
       }
 
       if (!range) {
-        throw new _util.FormatError('No range.');
+        throw new _util.FormatError("No range.");
       }
 
       var lexer = new _ps_parser.PostScriptLexer(fn);
@@ -53731,23 +43245,25 @@ var PDFFunction = function PDFFunctionClosure() {
       var code = parser.parse();
       return [CONSTRUCT_POSTSCRIPT, domain, range, code];
     },
-    constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {
-      var xref = _ref13.xref,
-          isEvalSupported = _ref13.isEvalSupported,
-          IR = _ref13.IR;
+
+    constructPostScriptFromIR({
+      xref,
+      isEvalSupported,
+      IR
+    }) {
       var domain = IR[1];
       var range = IR[2];
       var code = IR[3];
 
-      if (isEvalSupported && IsEvalSupportedCached.value) {
-        var compiled = new PostScriptCompiler().compile(code, domain, range);
+      if (isEvalSupported && _util.IsEvalSupportedCached.value) {
+        const compiled = new PostScriptCompiler().compile(code, domain, range);
 
         if (compiled) {
-          return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled);
+          return new Function("src", "srcOffset", "dest", "destOffset", compiled);
         }
       }
 
-      (0, _util.info)('Unable to compile PS function');
+      (0, _util.info)("Unable to compile PS function");
       var numOutputs = range.length >> 1;
       var numInputs = domain.length >> 1;
       var evaluator = new PostScriptEvaluator(code);
@@ -53757,13 +43273,13 @@ var PDFFunction = function PDFFunctionClosure() {
       var tmpBuf = new Float32Array(numInputs);
       return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {
         var i, value;
-        var key = '';
+        var key = "";
         var input = tmpBuf;
 
         for (i = 0; i < numInputs; i++) {
           value = src[srcOffset + i];
           input[i] = value;
-          key += value + '_';
+          key += value + "_";
         }
 
         var cachedValue = cache[key];
@@ -53802,13 +43318,14 @@ var PDFFunction = function PDFFunctionClosure() {
         dest.set(output, destOffset);
       };
     }
+
   };
 }();
 
 function isPDFFunction(v) {
   var fnDict;
 
-  if (_typeof(v) !== 'object') {
+  if (typeof v !== "object") {
     return false;
   } else if ((0, _primitives.isDict)(v)) {
     fnDict = v;
@@ -53818,7 +43335,7 @@ function isPDFFunction(v) {
     return false;
   }
 
-  return fnDict.has('FunctionType');
+  return fnDict.has("FunctionType");
 }
 
 var PostScriptStack = function PostScriptStackClosure() {
@@ -53831,21 +43348,21 @@ var PostScriptStack = function PostScriptStackClosure() {
   PostScriptStack.prototype = {
     push: function PostScriptStack_push(value) {
       if (this.stack.length >= MAX_STACK_SIZE) {
-        throw new Error('PostScript function stack overflow.');
+        throw new Error("PostScript function stack overflow.");
       }
 
       this.stack.push(value);
     },
     pop: function PostScriptStack_pop() {
       if (this.stack.length <= 0) {
-        throw new Error('PostScript function stack underflow.');
+        throw new Error("PostScript function stack underflow.");
       }
 
       return this.stack.pop();
     },
     copy: function PostScriptStack_copy(n) {
       if (this.stack.length + n >= MAX_STACK_SIZE) {
-        throw new Error('PostScript function stack overflow.');
+        throw new Error("PostScript function stack overflow.");
       }
 
       var stack = this.stack;
@@ -53904,13 +43421,13 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
       while (counter < length) {
         operator = operators[counter++];
 
-        if (typeof operator === 'number') {
+        if (typeof operator === "number") {
           stack.push(operator);
           continue;
         }
 
         switch (operator) {
-          case 'jz':
+          case "jz":
             b = stack.pop();
             a = stack.pop();
 
@@ -53920,23 +43437,23 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
 
             break;
 
-          case 'j':
+          case "j":
             a = stack.pop();
             counter = a;
             break;
 
-          case 'abs':
+          case "abs":
             a = stack.pop();
             stack.push(Math.abs(a));
             break;
 
-          case 'add':
+          case "add":
             b = stack.pop();
             a = stack.pop();
             stack.push(a + b);
             break;
 
-          case 'and':
+          case "and":
             b = stack.pop();
             a = stack.pop();
 
@@ -53948,12 +43465,12 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
 
             break;
 
-          case 'atan':
+          case "atan":
             a = stack.pop();
             stack.push(Math.atan(a));
             break;
 
-          case 'bitshift':
+          case "bitshift":
             b = stack.pop();
             a = stack.pop();
 
@@ -53965,133 +43482,133 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
 
             break;
 
-          case 'ceiling':
+          case "ceiling":
             a = stack.pop();
             stack.push(Math.ceil(a));
             break;
 
-          case 'copy':
+          case "copy":
             a = stack.pop();
             stack.copy(a);
             break;
 
-          case 'cos':
+          case "cos":
             a = stack.pop();
             stack.push(Math.cos(a));
             break;
 
-          case 'cvi':
+          case "cvi":
             a = stack.pop() | 0;
             stack.push(a);
             break;
 
-          case 'cvr':
+          case "cvr":
             break;
 
-          case 'div':
+          case "div":
             b = stack.pop();
             a = stack.pop();
             stack.push(a / b);
             break;
 
-          case 'dup':
+          case "dup":
             stack.copy(1);
             break;
 
-          case 'eq':
+          case "eq":
             b = stack.pop();
             a = stack.pop();
             stack.push(a === b);
             break;
 
-          case 'exch':
+          case "exch":
             stack.roll(2, 1);
             break;
 
-          case 'exp':
+          case "exp":
             b = stack.pop();
             a = stack.pop();
-            stack.push(Math.pow(a, b));
+            stack.push(a ** b);
             break;
 
-          case 'false':
+          case "false":
             stack.push(false);
             break;
 
-          case 'floor':
+          case "floor":
             a = stack.pop();
             stack.push(Math.floor(a));
             break;
 
-          case 'ge':
+          case "ge":
             b = stack.pop();
             a = stack.pop();
             stack.push(a >= b);
             break;
 
-          case 'gt':
+          case "gt":
             b = stack.pop();
             a = stack.pop();
             stack.push(a > b);
             break;
 
-          case 'idiv':
+          case "idiv":
             b = stack.pop();
             a = stack.pop();
             stack.push(a / b | 0);
             break;
 
-          case 'index':
+          case "index":
             a = stack.pop();
             stack.index(a);
             break;
 
-          case 'le':
+          case "le":
             b = stack.pop();
             a = stack.pop();
             stack.push(a <= b);
             break;
 
-          case 'ln':
+          case "ln":
             a = stack.pop();
             stack.push(Math.log(a));
             break;
 
-          case 'log':
+          case "log":
             a = stack.pop();
             stack.push(Math.log(a) / Math.LN10);
             break;
 
-          case 'lt':
+          case "lt":
             b = stack.pop();
             a = stack.pop();
             stack.push(a < b);
             break;
 
-          case 'mod':
+          case "mod":
             b = stack.pop();
             a = stack.pop();
             stack.push(a % b);
             break;
 
-          case 'mul':
+          case "mul":
             b = stack.pop();
             a = stack.pop();
             stack.push(a * b);
             break;
 
-          case 'ne':
+          case "ne":
             b = stack.pop();
             a = stack.pop();
             stack.push(a !== b);
             break;
 
-          case 'neg':
+          case "neg":
             a = stack.pop();
             stack.push(-a);
             break;
 
-          case 'not':
+          case "not":
             a = stack.pop();
 
             if ((0, _util.isBool)(a)) {
@@ -54102,7 +43619,7 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
 
             break;
 
-          case 'or':
+          case "or":
             b = stack.pop();
             a = stack.pop();
 
@@ -54114,48 +43631,48 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
 
             break;
 
-          case 'pop':
+          case "pop":
             stack.pop();
             break;
 
-          case 'roll':
+          case "roll":
             b = stack.pop();
             a = stack.pop();
             stack.roll(a, b);
             break;
 
-          case 'round':
+          case "round":
             a = stack.pop();
             stack.push(Math.round(a));
             break;
 
-          case 'sin':
+          case "sin":
             a = stack.pop();
             stack.push(Math.sin(a));
             break;
 
-          case 'sqrt':
+          case "sqrt":
             a = stack.pop();
             stack.push(Math.sqrt(a));
             break;
 
-          case 'sub':
+          case "sub":
             b = stack.pop();
             a = stack.pop();
             stack.push(a - b);
             break;
 
-          case 'true':
+          case "true":
             stack.push(true);
             break;
 
-          case 'truncate':
+          case "truncate":
             a = stack.pop();
             a = a < 0 ? Math.ceil(a) : Math.floor(a);
             stack.push(a);
             break;
 
-          case 'xor':
+          case "xor":
             b = stack.pop();
             a = stack.pop();
 
@@ -54168,7 +43685,7 @@ var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
             break;
 
           default:
-            throw new _util.FormatError("Unknown operator ".concat(operator));
+            throw new _util.FormatError(`Unknown operator ${operator}`);
         }
       }
 
@@ -54186,11 +43703,11 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   }
 
   AstNode.prototype.visit = function (visitor) {
-    (0, _util.unreachable)('abstract method');
+    (0, _util.unreachable)("abstract method");
   };
 
   function AstArgument(index, min, max) {
-    AstNode.call(this, 'args');
+    AstNode.call(this, "args");
     this.index = index;
     this.min = min;
     this.max = max;
@@ -54203,7 +43720,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   };
 
   function AstLiteral(number) {
-    AstNode.call(this, 'literal');
+    AstNode.call(this, "literal");
     this.number = number;
     this.min = number;
     this.max = number;
@@ -54216,7 +43733,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   };
 
   function AstBinaryOperation(op, arg1, arg2, min, max) {
-    AstNode.call(this, 'binary');
+    AstNode.call(this, "binary");
     this.op = op;
     this.arg1 = arg1;
     this.arg2 = arg2;
@@ -54231,7 +43748,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   };
 
   function AstMin(arg, max) {
-    AstNode.call(this, 'max');
+    AstNode.call(this, "max");
     this.arg = arg;
     this.min = arg.min;
     this.max = max;
@@ -54244,7 +43761,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   };
 
   function AstVariable(index, min, max) {
-    AstNode.call(this, 'var');
+    AstNode.call(this, "var");
     this.index = index;
     this.min = min;
     this.max = max;
@@ -54257,7 +43774,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   };
 
   function AstVariableDefinition(variable, arg) {
-    AstNode.call(this, 'definition');
+    AstNode.call(this, "definition");
     this.variable = variable;
     this.arg = arg;
   }
@@ -54273,67 +43790,74 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
   }
 
   ExpressionBuilderVisitor.prototype = {
-    visitArgument: function visitArgument(arg) {
-      this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))');
+    visitArgument(arg) {
+      this.parts.push("Math.max(", arg.min, ", Math.min(", arg.max, ", src[srcOffset + ", arg.index, "]))");
     },
-    visitVariable: function visitVariable(variable) {
-      this.parts.push('v', variable.index);
+
+    visitVariable(variable) {
+      this.parts.push("v", variable.index);
     },
-    visitLiteral: function visitLiteral(literal) {
+
+    visitLiteral(literal) {
       this.parts.push(literal.number);
     },
-    visitBinaryOperation: function visitBinaryOperation(operation) {
-      this.parts.push('(');
+
+    visitBinaryOperation(operation) {
+      this.parts.push("(");
       operation.arg1.visit(this);
-      this.parts.push(' ', operation.op, ' ');
+      this.parts.push(" ", operation.op, " ");
       operation.arg2.visit(this);
-      this.parts.push(')');
+      this.parts.push(")");
     },
-    visitVariableDefinition: function visitVariableDefinition(definition) {
-      this.parts.push('var ');
+
+    visitVariableDefinition(definition) {
+      this.parts.push("var ");
       definition.variable.visit(this);
-      this.parts.push(' = ');
+      this.parts.push(" = ");
       definition.arg.visit(this);
-      this.parts.push(';');
+      this.parts.push(";");
     },
-    visitMin: function visitMin(max) {
-      this.parts.push('Math.min(');
+
+    visitMin(max) {
+      this.parts.push("Math.min(");
       max.arg.visit(this);
-      this.parts.push(', ', max.max, ')');
+      this.parts.push(", ", max.max, ")");
     },
-    toString: function toString() {
-      return this.parts.join('');
+
+    toString() {
+      return this.parts.join("");
     }
+
   };
 
   function buildAddOperation(num1, num2) {
-    if (num2.type === 'literal' && num2.number === 0) {
+    if (num2.type === "literal" && num2.number === 0) {
       return num1;
     }
 
-    if (num1.type === 'literal' && num1.number === 0) {
+    if (num1.type === "literal" && num1.number === 0) {
       return num2;
     }
 
-    if (num2.type === 'literal' && num1.type === 'literal') {
+    if (num2.type === "literal" && num1.type === "literal") {
       return new AstLiteral(num1.number + num2.number);
     }
 
-    return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max);
+    return new AstBinaryOperation("+", num1, num2, num1.min + num2.min, num1.max + num2.max);
   }
 
   function buildMulOperation(num1, num2) {
-    if (num2.type === 'literal') {
+    if (num2.type === "literal") {
       if (num2.number === 0) {
         return new AstLiteral(0);
       } else if (num2.number === 1) {
         return num1;
-      } else if (num1.type === 'literal') {
+      } else if (num1.type === "literal") {
         return new AstLiteral(num1.number * num2.number);
       }
     }
 
-    if (num1.type === 'literal') {
+    if (num1.type === "literal") {
       if (num1.number === 0) {
         return new AstLiteral(0);
       } else if (num1.number === 1) {
@@ -54343,23 +43867,23 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
 
     var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);
     var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);
-    return new AstBinaryOperation('*', num1, num2, min, max);
+    return new AstBinaryOperation("*", num1, num2, min, max);
   }
 
   function buildSubOperation(num1, num2) {
-    if (num2.type === 'literal') {
+    if (num2.type === "literal") {
       if (num2.number === 0) {
         return num1;
-      } else if (num1.type === 'literal') {
+      } else if (num1.type === "literal") {
         return new AstLiteral(num1.number - num2.number);
       }
     }
 
-    if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && 
num2.arg1.type === 'literal' && num2.arg1.number === 1) {
+    if (num2.type === "binary" && num2.op === "-" && num1.type === "literal" && num1.number === 1 && 
num2.arg1.type === "literal" && num2.arg1.number === 1) {
       return num2.arg2;
     }
 
-    return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min);
+    return new AstBinaryOperation("-", num1, num2, num1.min - num2.max, num1.max - num2.min);
   }
 
   function buildMinOperation(num1, max) {
@@ -54392,13 +43916,13 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
       for (i = 0, ii = code.length; i < ii; i++) {
         item = code[i];
 
-        if (typeof item === 'number') {
+        if (typeof item === "number") {
           stack.push(new AstLiteral(item));
           continue;
         }
 
         switch (item) {
-          case 'add':
+          case "add":
             if (stack.length < 2) {
               return null;
             }
@@ -54408,14 +43932,14 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             stack.push(buildAddOperation(num1, num2));
             break;
 
-          case 'cvr':
+          case "cvr":
             if (stack.length < 1) {
               return null;
             }
 
             break;
 
-          case 'mul':
+          case "mul":
             if (stack.length < 2) {
               return null;
             }
@@ -54425,7 +43949,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             stack.push(buildMulOperation(num1, num2));
             break;
 
-          case 'sub':
+          case "sub":
             if (stack.length < 2) {
               return null;
             }
@@ -54435,7 +43959,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             stack.push(buildSubOperation(num1, num2));
             break;
 
-          case 'exch':
+          case "exch":
             if (stack.length < 2) {
               return null;
             }
@@ -54445,7 +43969,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             stack.push(ast1, ast2);
             break;
 
-          case 'pop':
+          case "pop":
             if (stack.length < 1) {
               return null;
             }
@@ -54453,14 +43977,14 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             stack.pop();
             break;
 
-          case 'index':
+          case "index":
             if (stack.length < 1) {
               return null;
             }
 
             num1 = stack.pop();
 
-            if (num1.type !== 'literal') {
+            if (num1.type !== "literal") {
               return null;
             }
 
@@ -54472,7 +43996,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
 
             ast1 = stack[stack.length - n - 1];
 
-            if (ast1.type === 'literal' || ast1.type === 'var') {
+            if (ast1.type === "literal" || ast1.type === "var") {
               stack.push(ast1);
               break;
             }
@@ -54483,12 +44007,12 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             instructions.push(new AstVariableDefinition(tmpVar, ast1));
             break;
 
-          case 'dup':
+          case "dup":
             if (stack.length < 1) {
               return null;
             }
 
-            if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 
4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) {
+            if (typeof code[i + 1] === "number" && code[i + 2] === "gt" && code[i + 3] === i + 7 && code[i + 
4] === "jz" && code[i + 5] === "pop" && code[i + 6] === code[i + 1]) {
               num1 = stack.pop();
               stack.push(buildMinOperation(num1, code[i + 1]));
               i += 6;
@@ -54497,7 +44021,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
 
             ast1 = stack[stack.length - 1];
 
-            if (ast1.type === 'literal' || ast1.type === 'var') {
+            if (ast1.type === "literal" || ast1.type === "var") {
               stack.push(ast1);
               break;
             }
@@ -54508,7 +44032,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             instructions.push(new AstVariableDefinition(tmpVar, ast1));
             break;
 
-          case 'roll':
+          case "roll":
             if (stack.length < 2) {
               return null;
             }
@@ -54516,7 +44040,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
             num2 = stack.pop();
             num1 = stack.pop();
 
-            if (num2.type !== 'literal' || num1.type !== 'literal') {
+            if (num2.type !== "literal" || num1.type !== "literal") {
               return null;
             }
 
@@ -54559,20 +44083,20 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
         var out = [statementBuilder.toString()];
 
         if (min > expr.min) {
-          out.unshift('Math.max(', min, ', ');
-          out.push(')');
+          out.unshift("Math.max(", min, ", ");
+          out.push(")");
         }
 
         if (max < expr.max) {
-          out.unshift('Math.min(', max, ', ');
-          out.push(')');
+          out.unshift("Math.min(", max, ", ");
+          out.push(")");
         }
 
-        out.unshift('dest[destOffset + ', i, '] = ');
-        out.push(';');
-        result.push(out.join(''));
+        out.unshift("dest[destOffset + ", i, "] = ");
+        out.push(";");
+        result.push(out.join(""));
       });
-      return result.join('\n');
+      return result.join("\n");
     }
   };
   return PostScriptCompiler;
@@ -54581,7 +44105,7 @@ var PostScriptCompiler = function PostScriptCompilerClosure() {
 exports.PostScriptCompiler = PostScriptCompiler;
 
 /***/ }),
-/* 219 */
+/* 40 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -54592,110 +44116,93 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PostScriptParser = exports.PostScriptLexer = void 0;
 
-var _util = __w_pdfjs_require__(5);
+var _util = __w_pdfjs_require__(2);
 
-var _primitives = __w_pdfjs_require__(183);
+var _primitives = __w_pdfjs_require__(4);
 
-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); return Constructor; }
-
-var PostScriptParser =
-/*#__PURE__*/
-function () {
-  function PostScriptParser(lexer) {
-    _classCallCheck(this, PostScriptParser);
+var _core_utils = __w_pdfjs_require__(7);
 
+class PostScriptParser {
+  constructor(lexer) {
     this.lexer = lexer;
     this.operators = [];
     this.token = null;
     this.prev = null;
   }
 
-  _createClass(PostScriptParser, [{
-    key: "nextToken",
-    value: function nextToken() {
-      this.prev = this.token;
-      this.token = this.lexer.getToken();
-    }
-  }, {
-    key: "accept",
-    value: function accept(type) {
-      if (this.token.type === type) {
-        this.nextToken();
-        return true;
-      }
+  nextToken() {
+    this.prev = this.token;
+    this.token = this.lexer.getToken();
+  }
 
-      return false;
+  accept(type) {
+    if (this.token.type === type) {
+      this.nextToken();
+      return true;
     }
-  }, {
-    key: "expect",
-    value: function expect(type) {
-      if (this.accept(type)) {
-        return true;
-      }
 
-      throw new _util.FormatError("Unexpected symbol: found ".concat(this.token.type, " expected 
").concat(type, "."));
-    }
-  }, {
-    key: "parse",
-    value: function parse() {
-      this.nextToken();
-      this.expect(PostScriptTokenTypes.LBRACE);
-      this.parseBlock();
-      this.expect(PostScriptTokenTypes.RBRACE);
-      return this.operators;
+    return false;
+  }
+
+  expect(type) {
+    if (this.accept(type)) {
+      return true;
     }
-  }, {
-    key: "parseBlock",
-    value: function parseBlock() {
-      while (true) {
-        if (this.accept(PostScriptTokenTypes.NUMBER)) {
-          this.operators.push(this.prev.value);
-        } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {
-          this.operators.push(this.prev.value);
-        } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
-          this.parseCondition();
-        } else {
-          return;
-        }
+
+    throw new _util.FormatError(`Unexpected symbol: found ${this.token.type} expected ${type}.`);
+  }
+
+  parse() {
+    this.nextToken();
+    this.expect(PostScriptTokenTypes.LBRACE);
+    this.parseBlock();
+    this.expect(PostScriptTokenTypes.RBRACE);
+    return this.operators;
+  }
+
+  parseBlock() {
+    while (true) {
+      if (this.accept(PostScriptTokenTypes.NUMBER)) {
+        this.operators.push(this.prev.value);
+      } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {
+        this.operators.push(this.prev.value);
+      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
+        this.parseCondition();
+      } else {
+        return;
       }
     }
-  }, {
-    key: "parseCondition",
-    value: function parseCondition() {
-      var conditionLocation = this.operators.length;
+  }
+
+  parseCondition() {
+    const conditionLocation = this.operators.length;
+    this.operators.push(null, null);
+    this.parseBlock();
+    this.expect(PostScriptTokenTypes.RBRACE);
+
+    if (this.accept(PostScriptTokenTypes.IF)) {
+      this.operators[conditionLocation] = this.operators.length;
+      this.operators[conditionLocation + 1] = "jz";
+    } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
+      const jumpLocation = this.operators.length;
       this.operators.push(null, null);
+      const endOfTrue = this.operators.length;
       this.parseBlock();
       this.expect(PostScriptTokenTypes.RBRACE);
-
-      if (this.accept(PostScriptTokenTypes.IF)) {
-        this.operators[conditionLocation] = this.operators.length;
-        this.operators[conditionLocation + 1] = 'jz';
-      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
-        var jumpLocation = this.operators.length;
-        this.operators.push(null, null);
-        var endOfTrue = this.operators.length;
-        this.parseBlock();
-        this.expect(PostScriptTokenTypes.RBRACE);
-        this.expect(PostScriptTokenTypes.IFELSE);
-        this.operators[jumpLocation] = this.operators.length;
-        this.operators[jumpLocation + 1] = 'j';
-        this.operators[conditionLocation] = endOfTrue;
-        this.operators[conditionLocation + 1] = 'jz';
-      } else {
-        throw new _util.FormatError('PS Function: error parsing conditional.');
-      }
+      this.expect(PostScriptTokenTypes.IFELSE);
+      this.operators[jumpLocation] = this.operators.length;
+      this.operators[jumpLocation + 1] = "j";
+      this.operators[conditionLocation] = endOfTrue;
+      this.operators[conditionLocation + 1] = "jz";
+    } else {
+      throw new _util.FormatError("PS Function: error parsing conditional.");
     }
-  }]);
+  }
 
-  return PostScriptParser;
-}();
+}
 
 exports.PostScriptParser = PostScriptParser;
-var PostScriptTokenTypes = {
+const PostScriptTokenTypes = {
   LBRACE: 0,
   RBRACE: 1,
   NUMBER: 2,
@@ -54704,177 +44211,155 @@ var PostScriptTokenTypes = {
   IFELSE: 5
 };
 
-var PostScriptToken = function PostScriptTokenClosure() {
-  var opCache = Object.create(null);
-
-  var PostScriptToken =
-  /*#__PURE__*/
-  function () {
-    function PostScriptToken(type, value) {
-      _classCallCheck(this, PostScriptToken);
+const PostScriptToken = function PostScriptTokenClosure() {
+  const opCache = Object.create(null);
 
+  class PostScriptToken {
+    constructor(type, value) {
       this.type = type;
       this.value = value;
     }
 
-    _createClass(PostScriptToken, null, [{
-      key: "getOperator",
-      value: function getOperator(op) {
-        var opValue = opCache[op];
-
-        if (opValue) {
-          return opValue;
-        }
+    static getOperator(op) {
+      const opValue = opCache[op];
 
-        return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);
-      }
-    }, {
-      key: "LBRACE",
-      get: function get() {
-        return (0, _util.shadow)(this, 'LBRACE', new PostScriptToken(PostScriptTokenTypes.LBRACE, '{'));
-      }
-    }, {
-      key: "RBRACE",
-      get: function get() {
-        return (0, _util.shadow)(this, 'RBRACE', new PostScriptToken(PostScriptTokenTypes.RBRACE, '}'));
+      if (opValue) {
+        return opValue;
       }
-    }, {
-      key: "IF",
-      get: function get() {
-        return (0, _util.shadow)(this, 'IF', new PostScriptToken(PostScriptTokenTypes.IF, 'IF'));
-      }
-    }, {
-      key: "IFELSE",
-      get: function get() {
-        return (0, _util.shadow)(this, 'IFELSE', new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE'));
-      }
-    }]);
 
-    return PostScriptToken;
-  }();
+      return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);
+    }
+
+    static get LBRACE() {
+      return (0, _util.shadow)(this, "LBRACE", new PostScriptToken(PostScriptTokenTypes.LBRACE, "{"));
+    }
+
+    static get RBRACE() {
+      return (0, _util.shadow)(this, "RBRACE", new PostScriptToken(PostScriptTokenTypes.RBRACE, "}"));
+    }
+
+    static get IF() {
+      return (0, _util.shadow)(this, "IF", new PostScriptToken(PostScriptTokenTypes.IF, "IF"));
+    }
+
+    static get IFELSE() {
+      return (0, _util.shadow)(this, "IFELSE", new PostScriptToken(PostScriptTokenTypes.IFELSE, "IFELSE"));
+    }
+
+  }
 
   return PostScriptToken;
 }();
 
-var PostScriptLexer =
-/*#__PURE__*/
-function () {
-  function PostScriptLexer(stream) {
-    _classCallCheck(this, PostScriptLexer);
-
+class PostScriptLexer {
+  constructor(stream) {
     this.stream = stream;
     this.nextChar();
     this.strBuf = [];
   }
 
-  _createClass(PostScriptLexer, [{
-    key: "nextChar",
-    value: function nextChar() {
-      return this.currentChar = this.stream.getByte();
-    }
-  }, {
-    key: "getToken",
-    value: function getToken() {
-      var comment = false;
-      var ch = this.currentChar;
-
-      while (true) {
-        if (ch < 0) {
-          return _primitives.EOF;
-        }
+  nextChar() {
+    return this.currentChar = this.stream.getByte();
+  }
 
-        if (comment) {
-          if (ch === 0x0A || ch === 0x0D) {
-            comment = false;
-          }
-        } else if (ch === 0x25) {
-          comment = true;
-        } else if (!(0, _util.isSpace)(ch)) {
-          break;
-        }
+  getToken() {
+    let comment = false;
+    let ch = this.currentChar;
 
-        ch = this.nextChar();
+    while (true) {
+      if (ch < 0) {
+        return _primitives.EOF;
       }
 
-      switch (ch | 0) {
-        case 0x30:
-        case 0x31:
-        case 0x32:
-        case 0x33:
-        case 0x34:
-        case 0x35:
-        case 0x36:
-        case 0x37:
-        case 0x38:
-        case 0x39:
-        case 0x2B:
-        case 0x2D:
-        case 0x2E:
-          return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());
-
-        case 0x7B:
-          this.nextChar();
-          return PostScriptToken.LBRACE;
-
-        case 0x7D:
-          this.nextChar();
-          return PostScriptToken.RBRACE;
+      if (comment) {
+        if (ch === 0x0a || ch === 0x0d) {
+          comment = false;
+        }
+      } else if (ch === 0x25) {
+        comment = true;
+      } else if (!(0, _core_utils.isWhiteSpace)(ch)) {
+        break;
       }
 
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      strBuf[0] = String.fromCharCode(ch);
+      ch = this.nextChar();
+    }
 
-      while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) {
-        strBuf.push(String.fromCharCode(ch));
-      }
+    switch (ch | 0) {
+      case 0x30:
+      case 0x31:
+      case 0x32:
+      case 0x33:
+      case 0x34:
+      case 0x35:
+      case 0x36:
+      case 0x37:
+      case 0x38:
+      case 0x39:
+      case 0x2b:
+      case 0x2d:
+      case 0x2e:
+        return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());
 
-      var str = strBuf.join('');
+      case 0x7b:
+        this.nextChar();
+        return PostScriptToken.LBRACE;
 
-      switch (str.toLowerCase()) {
-        case 'if':
-          return PostScriptToken.IF;
+      case 0x7d:
+        this.nextChar();
+        return PostScriptToken.RBRACE;
+    }
 
-        case 'ifelse':
-          return PostScriptToken.IFELSE;
+    const strBuf = this.strBuf;
+    strBuf.length = 0;
+    strBuf[0] = String.fromCharCode(ch);
 
-        default:
-          return PostScriptToken.getOperator(str);
-      }
+    while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {
+      strBuf.push(String.fromCharCode(ch));
     }
-  }, {
-    key: "getNumber",
-    value: function getNumber() {
-      var ch = this.currentChar;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      strBuf[0] = String.fromCharCode(ch);
 
-      while ((ch = this.nextChar()) >= 0) {
-        if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) {
-          strBuf.push(String.fromCharCode(ch));
-        } else {
-          break;
-        }
-      }
+    const str = strBuf.join("");
 
-      var value = parseFloat(strBuf.join(''));
+    switch (str.toLowerCase()) {
+      case "if":
+        return PostScriptToken.IF;
 
-      if (isNaN(value)) {
-        throw new _util.FormatError("Invalid floating point number: ".concat(value));
+      case "ifelse":
+        return PostScriptToken.IFELSE;
+
+      default:
+        return PostScriptToken.getOperator(str);
+    }
+  }
+
+  getNumber() {
+    let ch = this.currentChar;
+    const strBuf = this.strBuf;
+    strBuf.length = 0;
+    strBuf[0] = String.fromCharCode(ch);
+
+    while ((ch = this.nextChar()) >= 0) {
+      if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {
+        strBuf.push(String.fromCharCode(ch));
+      } else {
+        break;
       }
+    }
 
-      return value;
+    const value = parseFloat(strBuf.join(""));
+
+    if (isNaN(value)) {
+      throw new _util.FormatError(`Invalid floating point number: ${value}`);
     }
-  }]);
 
-  return PostScriptLexer;
-}();
+    return value;
+  }
+
+}
 
 exports.PostScriptLexer = PostScriptLexer;
 
 /***/ }),
-/* 220 */
+/* 41 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -54885,137 +44370,122 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.MurmurHash3_64 = void 0;
 
-var _util = __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); return Constructor; }
+var _util = __w_pdfjs_require__(2);
 
-var SEED = 0xc3d2e1f0;
-var MASK_HIGH = 0xffff0000;
-var MASK_LOW = 0xffff;
-
-var MurmurHash3_64 =
-/*#__PURE__*/
-function () {
-  function MurmurHash3_64(seed) {
-    _classCallCheck(this, MurmurHash3_64);
+const SEED = 0xc3d2e1f0;
+const MASK_HIGH = 0xffff0000;
+const MASK_LOW = 0xffff;
 
+class MurmurHash3_64 {
+  constructor(seed) {
     this.h1 = seed ? seed & 0xffffffff : SEED;
     this.h2 = seed ? seed & 0xffffffff : SEED;
   }
 
-  _createClass(MurmurHash3_64, [{
-    key: "update",
-    value: function update(input) {
-      var data, length;
-
-      if ((0, _util.isString)(input)) {
-        data = new Uint8Array(input.length * 2);
-        length = 0;
+  update(input) {
+    let data, length;
 
-        for (var i = 0, ii = input.length; i < ii; i++) {
-          var code = input.charCodeAt(i);
+    if ((0, _util.isString)(input)) {
+      data = new Uint8Array(input.length * 2);
+      length = 0;
 
-          if (code <= 0xff) {
-            data[length++] = code;
-          } else {
-            data[length++] = code >>> 8;
-            data[length++] = code & 0xff;
-          }
+      for (let i = 0, ii = input.length; i < ii; i++) {
+        const code = input.charCodeAt(i);
+
+        if (code <= 0xff) {
+          data[length++] = code;
+        } else {
+          data[length++] = code >>> 8;
+          data[length++] = code & 0xff;
         }
-      } else if ((0, _util.isArrayBuffer)(input)) {
-        data = input;
-        length = data.byteLength;
-      } else {
-        throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');
       }
+    } else if ((0, _util.isArrayBuffer)(input)) {
+      data = input;
+      length = data.byteLength;
+    } else {
+      throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array.");
+    }
 
-      var blockCounts = length >> 2;
-      var tailLength = length - blockCounts * 4;
-      var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
-      var k1 = 0,
-          k2 = 0;
-      var h1 = this.h1,
-          h2 = this.h2;
-      var C1 = 0xcc9e2d51,
+    const blockCounts = length >> 2;
+    const tailLength = length - blockCounts * 4;
+    const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
+    let k1 = 0,
+        k2 = 0;
+    let h1 = this.h1,
+        h2 = this.h2;
+    const C1 = 0xcc9e2d51,
           C2 = 0x1b873593;
-      var C1_LOW = C1 & MASK_LOW,
+    const C1_LOW = C1 & MASK_LOW,
           C2_LOW = C2 & MASK_LOW;
 
-      for (var _i = 0; _i < blockCounts; _i++) {
-        if (_i & 1) {
-          k1 = dataUint32[_i];
-          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
-          k1 = k1 << 15 | k1 >>> 17;
-          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
-          h1 ^= k1;
-          h1 = h1 << 13 | h1 >>> 19;
-          h1 = h1 * 5 + 0xe6546b64;
-        } else {
-          k2 = dataUint32[_i];
-          k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;
-          k2 = k2 << 15 | k2 >>> 17;
-          k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;
-          h2 ^= k2;
-          h2 = h2 << 13 | h2 >>> 19;
-          h2 = h2 * 5 + 0xe6546b64;
-        }
+    for (let i = 0; i < blockCounts; i++) {
+      if (i & 1) {
+        k1 = dataUint32[i];
+        k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
+        k1 = k1 << 15 | k1 >>> 17;
+        k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
+        h1 ^= k1;
+        h1 = h1 << 13 | h1 >>> 19;
+        h1 = h1 * 5 + 0xe6546b64;
+      } else {
+        k2 = dataUint32[i];
+        k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;
+        k2 = k2 << 15 | k2 >>> 17;
+        k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;
+        h2 ^= k2;
+        h2 = h2 << 13 | h2 >>> 19;
+        h2 = h2 * 5 + 0xe6546b64;
       }
+    }
 
-      k1 = 0;
-
-      switch (tailLength) {
-        case 3:
-          k1 ^= data[blockCounts * 4 + 2] << 16;
+    k1 = 0;
 
-        case 2:
-          k1 ^= data[blockCounts * 4 + 1] << 8;
+    switch (tailLength) {
+      case 3:
+        k1 ^= data[blockCounts * 4 + 2] << 16;
 
-        case 1:
-          k1 ^= data[blockCounts * 4];
-          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
-          k1 = k1 << 15 | k1 >>> 17;
-          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
+      case 2:
+        k1 ^= data[blockCounts * 4 + 1] << 8;
 
-          if (blockCounts & 1) {
-            h1 ^= k1;
-          } else {
-            h2 ^= k1;
-          }
+      case 1:
+        k1 ^= data[blockCounts * 4];
+        k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
+        k1 = k1 << 15 | k1 >>> 17;
+        k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
 
-      }
+        if (blockCounts & 1) {
+          h1 ^= k1;
+        } else {
+          h2 ^= k1;
+        }
 
-      this.h1 = h1;
-      this.h2 = h2;
     }
-  }, {
-    key: "hexdigest",
-    value: function hexdigest() {
-      var h1 = this.h1,
-          h2 = this.h2;
-      h1 ^= h2 >>> 1;
-      h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;
-      h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;
-      h1 ^= h2 >>> 1;
-      h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
-      h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
-      h1 ^= h2 >>> 1;
-      var hex1 = (h1 >>> 0).toString(16),
+
+    this.h1 = h1;
+    this.h2 = h2;
+  }
+
+  hexdigest() {
+    let h1 = this.h1,
+        h2 = this.h2;
+    h1 ^= h2 >>> 1;
+    h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;
+    h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;
+    h1 ^= h2 >>> 1;
+    h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
+    h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
+    h1 ^= h2 >>> 1;
+    const hex1 = (h1 >>> 0).toString(16),
           hex2 = (h2 >>> 0).toString(16);
-      return hex1.padStart(8, '0') + hex2.padStart(8, '0');
-    }
-  }]);
+    return hex1.padStart(8, "0") + hex2.padStart(8, "0");
+  }
 
-  return MurmurHash3_64;
-}();
+}
 
 exports.MurmurHash3_64 = MurmurHash3_64;
 
 /***/ }),
-/* 221 */
+/* 42 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -55026,31 +44496,20 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.NativeImageDecoder = void 0;
 
-var _colorspace = __w_pdfjs_require__(201);
+var _colorspace = __w_pdfjs_require__(22);
 
-var _jpeg_stream = __w_pdfjs_require__(196);
+var _jpeg_stream = __w_pdfjs_require__(17);
 
-var _stream = __w_pdfjs_require__(190);
-
-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); return Constructor; }
-
-var NativeImageDecoder =
-/*#__PURE__*/
-function () {
-  function NativeImageDecoder(_ref) {
-    var xref = _ref.xref,
-        resources = _ref.resources,
-        handler = _ref.handler,
-        _ref$forceDataSchema = _ref.forceDataSchema,
-        forceDataSchema = _ref$forceDataSchema === void 0 ? false : _ref$forceDataSchema,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-
-    _classCallCheck(this, NativeImageDecoder);
+var _stream = __w_pdfjs_require__(11);
 
+class NativeImageDecoder {
+  constructor({
+    xref,
+    resources,
+    handler,
+    forceDataSchema = false,
+    pdfFunctionFactory
+  }) {
     this.xref = xref;
     this.resources = resources;
     this.handler = handler;
@@ -55058,60 +44517,54 @@ function () {
     this.pdfFunctionFactory = pdfFunctionFactory;
   }
 
-  _createClass(NativeImageDecoder, [{
-    key: "canDecode",
-    value: function canDecode(image) {
-      return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, 
this.resources, this.pdfFunctionFactory);
-    }
-  }, {
-    key: "decode",
-    value: function decode(image) {
-      var dict = image.dict;
-      var colorSpace = dict.get('ColorSpace', 'CS');
-      colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, 
this.pdfFunctionFactory);
-      return this.handler.sendWithPromise('JpegDecode', [image.getIR(this.forceDataSchema), 
colorSpace.numComps]).then(function (_ref2) {
-        var data = _ref2.data,
-            width = _ref2.width,
-            height = _ref2.height;
-        return new _stream.Stream(data, 0, data.length, dict);
-      });
-    }
-  }], [{
-    key: "isSupported",
-    value: function isSupported(image, xref, res, pdfFunctionFactory) {
-      var dict = image.dict;
+  canDecode(image) {
+    return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, 
this.resources, this.pdfFunctionFactory) && image.maybeValidDimensions;
+  }
 
-      if (dict.has('DecodeParms') || dict.has('DP')) {
-        return false;
-      }
+  decode(image) {
+    const dict = image.dict;
+    let colorSpace = dict.get("ColorSpace", "CS");
+    colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, 
this.pdfFunctionFactory);
+    return this.handler.sendWithPromise("JpegDecode", [image.getIR(this.forceDataSchema), 
colorSpace.numComps]).then(function ({
+      data,
+      width,
+      height
+    }) {
+      return new _stream.Stream(data, 0, data.length, dict);
+    });
+  }
 
-      var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);
+  static isSupported(image, xref, res, pdfFunctionFactory) {
+    const dict = image.dict;
 
-      return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && 
cs.isDefaultDecode(dict.getArray('Decode', 'D'));
+    if (dict.has("DecodeParms") || dict.has("DP")) {
+      return false;
     }
-  }, {
-    key: "isDecodable",
-    value: function isDecodable(image, xref, res, pdfFunctionFactory) {
-      var dict = image.dict;
 
-      if (dict.has('DecodeParms') || dict.has('DP')) {
-        return false;
-      }
+    const cs = _colorspace.ColorSpace.parse(dict.get("ColorSpace", "CS"), xref, res, pdfFunctionFactory);
+
+    return (cs.name === "DeviceGray" || cs.name === "DeviceRGB") && 
cs.isDefaultDecode(dict.getArray("Decode", "D"));
+  }
 
-      var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);
+  static isDecodable(image, xref, res, pdfFunctionFactory) {
+    const dict = image.dict;
 
-      var bpc = dict.get('BitsPerComponent', 'BPC') || 1;
-      return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D'), 
bpc);
+    if (dict.has("DecodeParms") || dict.has("DP")) {
+      return false;
     }
-  }]);
 
-  return NativeImageDecoder;
-}();
+    const cs = _colorspace.ColorSpace.parse(dict.get("ColorSpace", "CS"), xref, res, pdfFunctionFactory);
+
+    const bpc = dict.get("BitsPerComponent", "BPC") || 1;
+    return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray("Decode", "D"), bpc);
+  }
+
+}
 
 exports.NativeImageDecoder = NativeImageDecoder;
 
 /***/ }),
-/* 222 */
+/* 43 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -55122,31 +44575,23 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFImage = void 0;
 
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(183);
+var _util = __w_pdfjs_require__(2);
 
-var _colorspace = __w_pdfjs_require__(201);
+var _primitives = __w_pdfjs_require__(4);
 
-var _stream = __w_pdfjs_require__(190);
+var _colorspace = __w_pdfjs_require__(22);
 
-var _jpeg_stream = __w_pdfjs_require__(196);
+var _stream = __w_pdfjs_require__(11);
 
-var _jpx = __w_pdfjs_require__(199);
+var _jpeg_stream = __w_pdfjs_require__(17);
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = 
_i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = 
true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw 
_e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+var _jpx = __w_pdfjs_require__(20);
 
 var PDFImage = function PDFImageClosure() {
   function handleImageData(image, nativeDecoder) {
     if (nativeDecoder && nativeDecoder.canDecode(image)) {
-      return nativeDecoder.decode(image)["catch"](function (reason) {
-        (0, _util.warn)('Native image decoding failed -- trying to recover: ' + (reason && reason.message));
+      return nativeDecoder.decode(image).catch(reason => {
+        (0, _util.warn)("Native image decoding failed -- trying to recover: " + (reason && reason.message));
         return image;
       });
     }
@@ -55156,12 +44601,28 @@ var PDFImage = function PDFImageClosure() {
 
   function decodeAndClamp(value, addend, coefficient, max) {
     value = addend + value * coefficient;
-    return value < 0 ? 0 : value > max ? max : value;
+
+    if (value < 0) {
+      value = 0;
+    } else if (value > max) {
+      value = max;
+    }
+
+    return value;
   }
 
   function resizeImageMask(src, bpc, w1, h1, w2, h2) {
     var length = w2 * h2;
-    var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new 
Uint32Array(length);
+    let dest;
+
+    if (bpc <= 8) {
+      dest = new Uint8Array(length);
+    } else if (bpc <= 16) {
+      dest = new Uint16Array(length);
+    } else {
+      dest = new Uint32Array(length);
+    }
+
     var xRatio = w1 / w2;
     var yRatio = h1 / h2;
     var i,
@@ -55188,26 +44649,23 @@ var PDFImage = function PDFImageClosure() {
     return dest;
   }
 
-  function PDFImage(_ref) {
-    var xref = _ref.xref,
-        res = _ref.res,
-        image = _ref.image,
-        _ref$isInline = _ref.isInline,
-        isInline = _ref$isInline === void 0 ? false : _ref$isInline,
-        _ref$smask = _ref.smask,
-        smask = _ref$smask === void 0 ? null : _ref$smask,
-        _ref$mask = _ref.mask,
-        mask = _ref$mask === void 0 ? null : _ref$mask,
-        _ref$isMask = _ref.isMask,
-        isMask = _ref$isMask === void 0 ? false : _ref$isMask,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
+  function PDFImage({
+    xref,
+    res,
+    image,
+    isInline = false,
+    smask = null,
+    mask = null,
+    isMask = false,
+    pdfFunctionFactory
+  }) {
     this.image = image;
     var dict = image.dict;
-    var filter = dict.get('Filter');
+    const filter = dict.get("Filter");
 
     if ((0, _primitives.isName)(filter)) {
       switch (filter.name) {
-        case 'JPXDecode':
+        case "JPXDecode":
           var jpxImage = new _jpx.JpxImage();
           jpxImage.parseImageProperties(image.stream);
           image.stream.reset();
@@ -55217,41 +44675,41 @@ var PDFImage = function PDFImageClosure() {
           image.numComps = jpxImage.componentsCount;
           break;
 
-        case 'JBIG2Decode':
+        case "JBIG2Decode":
           image.bitsPerComponent = 1;
           image.numComps = 1;
           break;
       }
     }
 
-    var width = dict.get('Width', 'W');
-    var height = dict.get('Height', 'H');
+    let width = dict.get("Width", "W");
+    let height = dict.get("Height", "H");
 
     if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 
0 && (image.width !== width || image.height !== height)) {
-      (0, _util.warn)('PDFImage - using the Width/Height of the image data, ' + 'rather than the image 
dictionary.');
+      (0, _util.warn)("PDFImage - using the Width/Height of the image data, " + "rather than the image 
dictionary.");
       width = image.width;
       height = image.height;
     }
 
     if (width < 1 || height < 1) {
-      throw new _util.FormatError("Invalid image width: ".concat(width, " or ") + "height: ".concat(height));
+      throw new _util.FormatError(`Invalid image width: ${width} or height: ${height}`);
     }
 
     this.width = width;
     this.height = height;
-    this.interpolate = dict.get('Interpolate', 'I') || false;
-    this.imageMask = dict.get('ImageMask', 'IM') || false;
-    this.matte = dict.get('Matte') || false;
+    this.interpolate = dict.get("Interpolate", "I") || false;
+    this.imageMask = dict.get("ImageMask", "IM") || false;
+    this.matte = dict.get("Matte") || false;
     var bitsPerComponent = image.bitsPerComponent;
 
     if (!bitsPerComponent) {
-      bitsPerComponent = dict.get('BitsPerComponent', 'BPC');
+      bitsPerComponent = dict.get("BitsPerComponent", "BPC");
 
       if (!bitsPerComponent) {
         if (this.imageMask) {
           bitsPerComponent = 1;
         } else {
-          throw new _util.FormatError("Bits per component missing in image: ".concat(this.imageMask));
+          throw new _util.FormatError(`Bits per component missing in image: ${this.imageMask}`);
         }
       }
     }
@@ -55259,35 +44717,35 @@ var PDFImage = function PDFImageClosure() {
     this.bpc = bitsPerComponent;
 
     if (!this.imageMask) {
-      var colorSpace = dict.get('ColorSpace', 'CS');
+      var colorSpace = dict.get("ColorSpace", "CS");
 
       if (!colorSpace) {
-        (0, _util.info)('JPX images (which do not require color spaces)');
+        (0, _util.info)("JPX images (which do not require color spaces)");
 
         switch (image.numComps) {
           case 1:
-            colorSpace = _primitives.Name.get('DeviceGray');
+            colorSpace = _primitives.Name.get("DeviceGray");
             break;
 
           case 3:
-            colorSpace = _primitives.Name.get('DeviceRGB');
+            colorSpace = _primitives.Name.get("DeviceRGB");
             break;
 
           case 4:
-            colorSpace = _primitives.Name.get('DeviceCMYK');
+            colorSpace = _primitives.Name.get("DeviceCMYK");
             break;
 
           default:
-            throw new Error("JPX images with ".concat(image.numComps, " ") + 'color components not 
supported.');
+            throw new Error(`JPX images with ${image.numComps} ` + "color components not supported.");
         }
       }
 
-      var resources = isInline ? res : null;
+      const resources = isInline ? res : null;
       this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);
       this.numComps = this.colorSpace.numComps;
     }
 
-    this.decode = dict.getArray('Decode', 'D');
+    this.decode = dict.getArray("Decode", "D");
     this.needsDecode = false;
 
     if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) 
|| isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {
@@ -55295,7 +44753,7 @@ var PDFImage = function PDFImageClosure() {
       var max = (1 << bitsPerComponent) - 1;
       this.decodeCoefficients = [];
       this.decodeAddends = [];
-      var isIndexed = this.colorSpace && this.colorSpace.name === 'Indexed';
+      const isIndexed = this.colorSpace && this.colorSpace.name === "Indexed";
 
       for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {
         var dmin = this.decode[i];
@@ -55307,27 +44765,27 @@ var PDFImage = function PDFImageClosure() {
 
     if (smask) {
       this.smask = new PDFImage({
-        xref: xref,
-        res: res,
+        xref,
+        res,
         image: smask,
-        isInline: isInline,
-        pdfFunctionFactory: pdfFunctionFactory
+        isInline,
+        pdfFunctionFactory
       });
     } else if (mask) {
       if ((0, _primitives.isStream)(mask)) {
         var maskDict = mask.dict,
-            imageMask = maskDict.get('ImageMask', 'IM');
+            imageMask = maskDict.get("ImageMask", "IM");
 
         if (!imageMask) {
-          (0, _util.warn)('Ignoring /Mask in image without /ImageMask.');
+          (0, _util.warn)("Ignoring /Mask in image without /ImageMask.");
         } else {
           this.mask = new PDFImage({
-            xref: xref,
-            res: res,
+            xref,
+            res,
             image: mask,
-            isInline: isInline,
+            isInline,
             isMask: true,
-            pdfFunctionFactory: pdfFunctionFactory
+            pdfFunctionFactory
           });
         }
       } else {
@@ -55336,21 +44794,20 @@ var PDFImage = function PDFImageClosure() {
     }
   }
 
-  PDFImage.buildImage = function (_ref2) {
-    var handler = _ref2.handler,
-        xref = _ref2.xref,
-        res = _ref2.res,
-        image = _ref2.image,
-        _ref2$isInline = _ref2.isInline,
-        isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,
-        _ref2$nativeDecoder = _ref2.nativeDecoder,
-        nativeDecoder = _ref2$nativeDecoder === void 0 ? null : _ref2$nativeDecoder,
-        pdfFunctionFactory = _ref2.pdfFunctionFactory;
+  PDFImage.buildImage = function ({
+    handler,
+    xref,
+    res,
+    image,
+    isInline = false,
+    nativeDecoder = null,
+    pdfFunctionFactory
+  }) {
     var imagePromise = handleImageData(image, nativeDecoder);
     var smaskPromise;
     var maskPromise;
-    var smask = image.dict.get('SMask');
-    var mask = image.dict.get('Mask');
+    var smask = image.dict.get("SMask");
+    var mask = image.dict.get("Mask");
 
     if (smask) {
       smaskPromise = handleImageData(smask, nativeDecoder);
@@ -55364,7 +44821,7 @@ var PDFImage = function PDFImageClosure() {
         } else if (Array.isArray(mask)) {
           maskPromise = Promise.resolve(mask);
         } else {
-          (0, _util.warn)('Unsupported mask format.');
+          (0, _util.warn)("Unsupported mask format.");
           maskPromise = Promise.resolve(null);
         }
       } else {
@@ -55372,30 +44829,26 @@ var PDFImage = function PDFImageClosure() {
       }
     }
 
-    return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {
-      var _ref4 = _slicedToArray(_ref3, 3),
-          imageData = _ref4[0],
-          smaskData = _ref4[1],
-          maskData = _ref4[2];
-
+    return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function ([imageData, smaskData, 
maskData]) {
       return new PDFImage({
-        xref: xref,
-        res: res,
+        xref,
+        res,
         image: imageData,
-        isInline: isInline,
+        isInline,
         smask: smaskData,
         mask: maskData,
-        pdfFunctionFactory: pdfFunctionFactory
+        pdfFunctionFactory
       });
     });
   };
 
-  PDFImage.createMask = function (_ref5) {
-    var imgArray = _ref5.imgArray,
-        width = _ref5.width,
-        height = _ref5.height,
-        imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,
-        inverseDecode = _ref5.inverseDecode;
+  PDFImage.createMask = function ({
+    imgArray,
+    width,
+    height,
+    imageIsFromDecodeStream,
+    inverseDecode
+  }) {
     var computedLength = (width + 7 >> 3) * height;
     var actualLength = imgArray.byteLength;
     var haveFullData = computedLength === actualLength;
@@ -55417,14 +44870,14 @@ var PDFImage = function PDFImageClosure() {
 
     if (inverseDecode) {
       for (i = 0; i < actualLength; i++) {
-        data[i] ^= 0xFF;
+        data[i] ^= 0xff;
       }
     }
 
     return {
-      data: data,
-      width: width,
-      height: height
+      data,
+      width,
+      height
     };
   };
 
@@ -55437,7 +44890,7 @@ var PDFImage = function PDFImageClosure() {
       return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);
     },
 
-    decodeBuffer: function decodeBuffer(buffer) {
+    decodeBuffer(buffer) {
       var bpc = this.bpc;
       var numComps = this.numComps;
       var decodeAddends = this.decodeAddends;
@@ -55462,7 +44915,8 @@ var PDFImage = function PDFImageClosure() {
         }
       }
     },
-    getComponents: function getComponents(buffer) {
+
+    getComponents(buffer) {
       var bpc = this.bpc;
 
       if (bpc === 8) {
@@ -55474,7 +44928,16 @@ var PDFImage = function PDFImageClosure() {
       var numComps = this.numComps;
       var length = width * height * numComps;
       var bufferPos = 0;
-      var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new 
Uint32Array(length);
+      let output;
+
+      if (bpc <= 8) {
+        output = new Uint8Array(length);
+      } else if (bpc <= 16) {
+        output = new Uint16Array(length);
+      } else {
+        output = new Uint32Array(length);
+      }
+
       var rowComps = width * numComps;
       var max = (1 << bpc) - 1;
       var i = 0,
@@ -55527,8 +44990,15 @@ var PDFImage = function PDFImageClosure() {
           }
 
           var remainingBits = bits - bpc;
-          var value = buf >> remainingBits;
-          output[i] = value < 0 ? 0 : value > max ? max : value;
+          let value = buf >> remainingBits;
+
+          if (value < 0) {
+            value = 0;
+          } else if (value > max) {
+            value = max;
+          }
+
+          output[i] = value;
           buf = buf & (1 << remainingBits) - 1;
           bits = remainingBits;
         }
@@ -55536,7 +45006,8 @@ var PDFImage = function PDFImageClosure() {
 
       return output;
     },
-    fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {
+
+    fillOpacity(rgbaBuf, width, height, actualHeight, image) {
       var smask = this.smask;
       var mask = this.mask;
       var alphaBuf, sw, sh, i, ii, j;
@@ -55586,7 +45057,7 @@ var PDFImage = function PDFImageClosure() {
             alphaBuf[i] = opacity;
           }
         } else {
-          throw new _util.FormatError('Unknown mask format.');
+          throw new _util.FormatError("Unknown mask format.");
         }
       }
 
@@ -55600,7 +45071,8 @@ var PDFImage = function PDFImageClosure() {
         }
       }
     },
-    undoPreblend: function undoPreblend(buffer, width, height) {
+
+    undoPreblend(buffer, width, height) {
       var matte = this.smask && this.smask.matte;
 
       if (!matte) {
@@ -55629,8 +45101,8 @@ var PDFImage = function PDFImageClosure() {
         buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;
       }
     },
-    createImageData: function createImageData() {
-      var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+
+    createImageData(forceRGBA = false) {
       var drawWidth = this.drawWidth;
       var drawHeight = this.drawHeight;
       var imgData = {
@@ -55649,9 +45121,9 @@ var PDFImage = function PDFImageClosure() {
       if (!forceRGBA) {
         var kind;
 
-        if (this.colorSpace.name === 'DeviceGray' && bpc === 1) {
+        if (this.colorSpace.name === "DeviceGray" && bpc === 1) {
           kind = _util.ImageKind.GRAYSCALE_1BPP;
-        } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) {
+        } else if (this.colorSpace.name === "DeviceRGB" && bpc === 8 && !this.needsDecode) {
           kind = _util.ImageKind.RGB_24BPP;
         }
 
@@ -55668,7 +45140,7 @@ var PDFImage = function PDFImageClosure() {
           }
 
           if (this.needsDecode) {
-            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, 'PDFImage.createImageData: The image 
must be grayscale.');
+            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, "PDFImage.createImageData: The image 
must be grayscale.");
             var buffer = imgData.data;
 
             for (var i = 0, ii = buffer.length; i < ii; i++) {
@@ -55680,14 +45152,14 @@ var PDFImage = function PDFImageClosure() {
         }
 
         if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {
-          var imageLength = originalHeight * rowBytes;
+          let imageLength = originalHeight * rowBytes;
 
           switch (this.colorSpace.name) {
-            case 'DeviceGray':
+            case "DeviceGray":
               imageLength *= 3;
 
-            case 'DeviceRGB':
-            case 'DeviceCMYK':
+            case "DeviceRGB":
+            case "DeviceCMYK":
               imgData.kind = _util.ImageKind.RGB_24BPP;
               imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);
               return imgData;
@@ -55725,11 +45197,12 @@ var PDFImage = function PDFImageClosure() {
 
       return imgData;
     },
-    fillGrayBuffer: function fillGrayBuffer(buffer) {
+
+    fillGrayBuffer(buffer) {
       var numComps = this.numComps;
 
       if (numComps !== 1) {
-        throw new _util.FormatError("Reading gray scale from a color image: ".concat(numComps));
+        throw new _util.FormatError(`Reading gray scale from a color image: ${numComps}`);
       }
 
       var width = this.width;
@@ -55767,14 +45240,15 @@ var PDFImage = function PDFImageClosure() {
         buffer[i] = scale * comps[i];
       }
     },
-    getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {
-      var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+
+    getImageBytes(length, drawWidth, drawHeight, forceRGB = false) {
       this.image.reset();
       this.image.drawWidth = drawWidth || this.width;
       this.image.drawHeight = drawHeight || this.height;
       this.image.forceRGB = !!forceRGB;
       return this.image.getBytes(length, true);
     }
+
   };
   return PDFImage;
 }();
@@ -55782,7 +45256,7 @@ var PDFImage = function PDFImageClosure() {
 exports.PDFImage = PDFImage;
 
 /***/ }),
-/* 223 */
+/* 44 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -55791,13 +45265,30 @@ exports.PDFImage = PDFImage;
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.MessageHandler = MessageHandler;
+exports.isNodeJS = void 0;
+const isNodeJS = typeof process === "object" && process + "" === "[object process]" && 
!process.versions["nw"] && !process.versions["electron"];
+exports.isNodeJS = isNodeJS;
+
+/***/ }),
+/* 45 */
+/***/ (function(module, exports, __w_pdfjs_require__) {
 
-var _util = __w_pdfjs_require__(5);
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.MessageHandler = void 0;
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+var _util = __w_pdfjs_require__(2);
 
-var StreamKind = {
+const CallbackKind = {
+  UNKNOWN: 0,
+  DATA: 1,
+  ERROR: 2
+};
+const StreamKind = {
   UNKNOWN: 0,
   CANCEL: 1,
   CANCEL_COMPLETE: 2,
@@ -55810,21 +45301,21 @@ var StreamKind = {
 };
 
 function wrapReason(reason) {
-  if (_typeof(reason) !== 'object') {
+  if (typeof reason !== "object" || reason === null) {
     return reason;
   }
 
   switch (reason.name) {
-    case 'AbortException':
+    case "AbortException":
       return new _util.AbortException(reason.message);
 
-    case 'MissingPDFException':
+    case "MissingPDFException":
       return new _util.MissingPDFException(reason.message);
 
-    case 'UnexpectedResponseException':
+    case "UnexpectedResponseException":
       return new _util.UnexpectedResponseException(reason.message, reason.status);
 
-    case 'UnknownErrorException':
+    case "UnknownErrorException":
       return new _util.UnknownErrorException(reason.message, reason.details);
 
     default:
@@ -55832,195 +45323,205 @@ function wrapReason(reason) {
   }
 }
 
-function MessageHandler(sourceName, targetName, comObj) {
-  var _this = this;
+class MessageHandler {
+  constructor(sourceName, targetName, comObj) {
+    this.sourceName = sourceName;
+    this.targetName = targetName;
+    this.comObj = comObj;
+    this.callbackId = 1;
+    this.streamId = 1;
+    this.postMessageTransfers = true;
+    this.streamSinks = Object.create(null);
+    this.streamControllers = Object.create(null);
+    this.callbackCapabilities = Object.create(null);
+    this.actionHandler = Object.create(null);
 
-  this.sourceName = sourceName;
-  this.targetName = targetName;
-  this.comObj = comObj;
-  this.callbackId = 1;
-  this.streamId = 1;
-  this.postMessageTransfers = true;
-  this.streamSinks = Object.create(null);
-  this.streamControllers = Object.create(null);
-  var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
-  var ah = this.actionHandler = Object.create(null);
+    this._onComObjOnMessage = event => {
+      const data = event.data;
 
-  this._onComObjOnMessage = function (event) {
-    var data = event.data;
+      if (data.targetName !== this.sourceName) {
+        return;
+      }
 
-    if (data.targetName !== _this.sourceName) {
-      return;
-    }
+      if (data.stream) {
+        this._processStreamMessage(data);
+
+        return;
+      }
+
+      if (data.callback) {
+        const callbackId = data.callbackId;
+        const capability = this.callbackCapabilities[callbackId];
 
-    if (data.stream) {
-      _this._processStreamMessage(data);
-    } else if (data.isReply) {
-      var callbackId = data.callbackId;
+        if (!capability) {
+          throw new Error(`Cannot resolve callback ${callbackId}`);
+        }
 
-      if (data.callbackId in callbacksCapabilities) {
-        var callback = callbacksCapabilities[callbackId];
-        delete callbacksCapabilities[callbackId];
+        delete this.callbackCapabilities[callbackId];
 
-        if ('reason' in data) {
-          callback.reject(wrapReason(data.reason));
+        if (data.callback === CallbackKind.DATA) {
+          capability.resolve(data.data);
+        } else if (data.callback === CallbackKind.ERROR) {
+          capability.reject(wrapReason(data.reason));
         } else {
-          callback.resolve(data.data);
+          throw new Error("Unexpected callback case");
         }
-      } else {
-        throw new Error("Cannot resolve callback ".concat(callbackId));
+
+        return;
+      }
+
+      const action = this.actionHandler[data.action];
+
+      if (!action) {
+        throw new Error(`Unknown action from worker: ${data.action}`);
       }
-    } else if (data.action in ah) {
-      var action = ah[data.action];
 
       if (data.callbackId) {
-        var _sourceName = _this.sourceName;
-        var _targetName = data.sourceName;
+        const sourceName = this.sourceName;
+        const targetName = data.sourceName;
         new Promise(function (resolve) {
           resolve(action(data.data));
         }).then(function (result) {
           comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            isReply: true,
+            sourceName,
+            targetName,
+            callback: CallbackKind.DATA,
             callbackId: data.callbackId,
             data: result
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            isReply: true,
+            sourceName,
+            targetName,
+            callback: CallbackKind.ERROR,
             callbackId: data.callbackId,
             reason: wrapReason(reason)
           });
         });
-      } else if (data.streamId) {
-        _this._createStreamSink(data);
-      } else {
-        action(data.data);
+        return;
       }
-    } else {
-      throw new Error("Unknown action from worker: ".concat(data.action));
-    }
-  };
 
-  comObj.addEventListener('message', this._onComObjOnMessage);
-}
+      if (data.streamId) {
+        this._createStreamSink(data);
+
+        return;
+      }
 
-MessageHandler.prototype = {
-  on: function on(actionName, handler) {
-    var ah = this.actionHandler;
+      action(data.data);
+    };
+
+    comObj.addEventListener("message", this._onComObjOnMessage);
+  }
+
+  on(actionName, handler) {
+    const ah = this.actionHandler;
 
     if (ah[actionName]) {
-      throw new Error("There is already an actionName called \"".concat(actionName, "\""));
+      throw new Error(`There is already an actionName called "${actionName}"`);
     }
 
     ah[actionName] = handler;
-  },
-  send: function send(actionName, data, transfers) {
-    this.postMessage({
+  }
+
+  send(actionName, data, transfers) {
+    this._postMessage({
       sourceName: this.sourceName,
       targetName: this.targetName,
       action: actionName,
-      data: data
+      data
     }, transfers);
-  },
-  sendWithPromise: function sendWithPromise(actionName, data, transfers) {
-    var callbackId = this.callbackId++;
-    var capability = (0, _util.createPromiseCapability)();
-    this.callbacksCapabilities[callbackId] = capability;
+  }
+
+  sendWithPromise(actionName, data, transfers) {
+    const callbackId = this.callbackId++;
+    const capability = (0, _util.createPromiseCapability)();
+    this.callbackCapabilities[callbackId] = capability;
 
     try {
-      this.postMessage({
+      this._postMessage({
         sourceName: this.sourceName,
         targetName: this.targetName,
         action: actionName,
-        callbackId: callbackId,
-        data: data
+        callbackId,
+        data
       }, transfers);
     } catch (ex) {
       capability.reject(ex);
     }
 
     return capability.promise;
-  },
-  sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {
-    var _this2 = this;
-
-    var streamId = this.streamId++;
-    var sourceName = this.sourceName;
-    var targetName = this.targetName;
-    var comObj = this.comObj;
-    return new _util.ReadableStream({
-      start: function start(controller) {
-        var startCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId] = {
-          controller: controller,
+  }
+
+  sendWithStream(actionName, data, queueingStrategy, transfers) {
+    const streamId = this.streamId++;
+    const sourceName = this.sourceName;
+    const targetName = this.targetName;
+    const comObj = this.comObj;
+    return new ReadableStream({
+      start: controller => {
+        const startCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId] = {
+          controller,
           startCall: startCapability,
           pullCall: null,
           cancelCall: null,
           isClosed: false
         };
 
-        _this2.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+        this._postMessage({
+          sourceName,
+          targetName,
           action: actionName,
-          streamId: streamId,
-          data: data,
+          streamId,
+          data,
           desiredSize: controller.desiredSize
         }, transfers);
 
         return startCapability.promise;
       },
-      pull: function pull(controller) {
-        var pullCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId].pullCall = pullCapability;
+      pull: controller => {
+        const pullCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId].pullCall = pullCapability;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.PULL,
-          streamId: streamId,
+          streamId,
           desiredSize: controller.desiredSize
         });
         return pullCapability.promise;
       },
-      cancel: function cancel(reason) {
-        (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');
-        var cancelCapability = (0, _util.createPromiseCapability)();
-        _this2.streamControllers[streamId].cancelCall = cancelCapability;
-        _this2.streamControllers[streamId].isClosed = true;
+      cancel: reason => {
+        (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
+        const cancelCapability = (0, _util.createPromiseCapability)();
+        this.streamControllers[streamId].cancelCall = cancelCapability;
+        this.streamControllers[streamId].isClosed = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.CANCEL,
-          streamId: streamId,
+          streamId,
           reason: wrapReason(reason)
         });
         return cancelCapability.promise;
       }
     }, queueingStrategy);
-  },
-  _createStreamSink: function _createStreamSink(data) {
-    var self = this;
-    var action = this.actionHandler[data.action];
-    var streamId = data.streamId;
-    var desiredSize = data.desiredSize;
-    var sourceName = this.sourceName;
-    var targetName = data.sourceName;
-    var capability = (0, _util.createPromiseCapability)();
-    var comObj = this.comObj;
-    var streamSink = {
-      enqueue: function enqueue(chunk) {
-        var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-        var transfers = arguments.length > 2 ? arguments[2] : undefined;
+  }
 
+  _createStreamSink(data) {
+    const self = this;
+    const action = this.actionHandler[data.action];
+    const streamId = data.streamId;
+    const sourceName = this.sourceName;
+    const targetName = data.sourceName;
+    const comObj = this.comObj;
+    const streamSink = {
+      enqueue(chunk, size = 1, transfers) {
         if (this.isCancelled) {
           return;
         }
 
-        var lastDesiredSize = this.desiredSize;
+        const lastDesiredSize = this.desiredSize;
         this.desiredSize -= size;
 
         if (lastDesiredSize > 0 && this.desiredSize <= 0) {
@@ -56028,30 +45529,32 @@ MessageHandler.prototype = {
           this.ready = this.sinkCapability.promise;
         }
 
-        self.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+        self._postMessage({
+          sourceName,
+          targetName,
           stream: StreamKind.ENQUEUE,
-          streamId: streamId,
-          chunk: chunk
+          streamId,
+          chunk
         }, transfers);
       },
-      close: function close() {
+
+      close() {
         if (this.isCancelled) {
           return;
         }
 
         this.isCancelled = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.CLOSE,
-          streamId: streamId
+          streamId
         });
         delete self.streamSinks[streamId];
       },
-      error: function error(reason) {
-        (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');
+
+      error(reason) {
+        (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
 
         if (this.isCancelled) {
           return;
@@ -56059,18 +45562,19 @@ MessageHandler.prototype = {
 
         this.isCancelled = true;
         comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
+          sourceName,
+          targetName,
           stream: StreamKind.ERROR,
-          streamId: streamId,
+          streamId,
           reason: wrapReason(reason)
         });
       },
-      sinkCapability: capability,
+
+      sinkCapability: (0, _util.createPromiseCapability)(),
       onPull: null,
       onCancel: null,
       isCancelled: false,
-      desiredSize: desiredSize,
+      desiredSize: data.desiredSize,
       ready: null
     };
     streamSink.sinkCapability.resolve();
@@ -56080,37 +45584,28 @@ MessageHandler.prototype = {
       resolve(action(data.data, streamSink));
     }).then(function () {
       comObj.postMessage({
-        sourceName: sourceName,
-        targetName: targetName,
+        sourceName,
+        targetName,
         stream: StreamKind.START_COMPLETE,
-        streamId: streamId,
+        streamId,
         success: true
       });
     }, function (reason) {
       comObj.postMessage({
-        sourceName: sourceName,
-        targetName: targetName,
+        sourceName,
+        targetName,
         stream: StreamKind.START_COMPLETE,
-        streamId: streamId,
+        streamId,
         reason: wrapReason(reason)
       });
     });
-  },
-  _processStreamMessage: function _processStreamMessage(data) {
-    var _this3 = this;
-
-    var sourceName = this.sourceName;
-    var targetName = data.sourceName;
-    var streamId = data.streamId;
-    var comObj = this.comObj;
-
-    var deleteStreamController = function deleteStreamController() {
-      Promise.all([_this3.streamControllers[streamId].startCall, 
_this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function 
(capability) {
-        return capability && capability.promise["catch"](function () {});
-      })).then(function () {
-        delete _this3.streamControllers[streamId];
-      });
-    };
+  }
+
+  _processStreamMessage(data) {
+    const streamId = data.streamId;
+    const sourceName = this.sourceName;
+    const targetName = data.sourceName;
+    const comObj = this.comObj;
 
     switch (data.stream) {
       case StreamKind.START_COMPLETE:
@@ -56134,10 +45629,10 @@ MessageHandler.prototype = {
       case StreamKind.PULL:
         if (!this.streamSinks[streamId]) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
           break;
@@ -56148,30 +45643,32 @@ MessageHandler.prototype = {
         }
 
         this.streamSinks[streamId].desiredSize = data.desiredSize;
-        var onPull = this.streamSinks[data.streamId].onPull;
+        const {
+          onPull
+        } = this.streamSinks[data.streamId];
         new Promise(function (resolve) {
           resolve(onPull && onPull());
         }).then(function () {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.PULL_COMPLETE,
-            streamId: streamId,
+            streamId,
             reason: wrapReason(reason)
           });
         });
         break;
 
       case StreamKind.ENQUEUE:
-        (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
 
         if (this.streamControllers[streamId].isClosed) {
           break;
@@ -56181,7 +45678,7 @@ MessageHandler.prototype = {
         break;
 
       case StreamKind.CLOSE:
-        (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
 
         if (this.streamControllers[streamId].isClosed) {
           break;
@@ -56189,13 +45686,17 @@ MessageHandler.prototype = {
 
         this.streamControllers[streamId].isClosed = true;
         this.streamControllers[streamId].controller.close();
-        deleteStreamController();
+
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.ERROR:
-        (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');
+        (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
         this.streamControllers[streamId].controller.error(wrapReason(data.reason));
-        deleteStreamController();
+
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.CANCEL_COMPLETE:
@@ -56205,7 +45706,8 @@ MessageHandler.prototype = {
           this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
         }
 
-        deleteStreamController();
+        this._deleteStreamController(streamId);
+
         break;
 
       case StreamKind.CANCEL:
@@ -56213,23 +45715,25 @@ MessageHandler.prototype = {
           break;
         }
 
-        var onCancel = this.streamSinks[data.streamId].onCancel;
+        const {
+          onCancel
+        } = this.streamSinks[data.streamId];
         new Promise(function (resolve) {
           resolve(onCancel && onCancel(wrapReason(data.reason)));
         }).then(function () {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.CANCEL_COMPLETE,
-            streamId: streamId,
+            streamId,
             success: true
           });
         }, function (reason) {
           comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
+            sourceName,
+            targetName,
             stream: StreamKind.CANCEL_COMPLETE,
-            streamId: streamId,
+            streamId,
             reason: wrapReason(reason)
           });
         });
@@ -56239,23 +45743,35 @@ MessageHandler.prototype = {
         break;
 
       default:
-        throw new Error('Unexpected stream case');
+        throw new Error("Unexpected stream case");
     }
-  },
-  postMessage: function postMessage(message, transfers) {
+  }
+
+  async _deleteStreamController(streamId) {
+    await Promise.allSettled([this.streamControllers[streamId].startCall, 
this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function 
(capability) {
+      return capability && capability.promise;
+    }));
+    delete this.streamControllers[streamId];
+  }
+
+  _postMessage(message, transfers) {
     if (transfers && this.postMessageTransfers) {
       this.comObj.postMessage(message, transfers);
     } else {
       this.comObj.postMessage(message);
     }
-  },
-  destroy: function destroy() {
-    this.comObj.removeEventListener('message', this._onComObjOnMessage);
   }
-};
+
+  destroy() {
+    this.comObj.removeEventListener("message", this._onComObjOnMessage);
+  }
+
+}
+
+exports.MessageHandler = MessageHandler;
 
 /***/ }),
-/* 224 */
+/* 46 */
 /***/ (function(module, exports, __w_pdfjs_require__) {
 
 "use strict";
@@ -56266,255 +45782,146 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFWorkerStream = void 0;
 
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); 
var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { 
Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new 
Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var PDFWorkerStream =
-/*#__PURE__*/
-function () {
-  function PDFWorkerStream(msgHandler) {
-    _classCallCheck(this, PDFWorkerStream);
+var _util = __w_pdfjs_require__(2);
 
+class PDFWorkerStream {
+  constructor(msgHandler) {
     this._msgHandler = msgHandler;
     this._contentLength = null;
     this._fullRequestReader = null;
     this._rangeRequestReaders = [];
   }
 
-  _createClass(PDFWorkerStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
+  getFullReader() {
+    (0, _util.assert)(!this._fullRequestReader);
+    this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
+    return this._fullRequestReader;
+  }
 
-      this._rangeRequestReaders.push(reader);
+  getRangeReader(begin, end) {
+    const reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
 
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
+    this._rangeRequestReaders.push(reader);
 
-      var readers = this._rangeRequestReaders.slice(0);
+    return reader;
+  }
 
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
+  cancelAllRequests(reason) {
+    if (this._fullRequestReader) {
+      this._fullRequestReader.cancel(reason);
     }
-  }]);
 
-  return PDFWorkerStream;
-}();
+    const readers = this._rangeRequestReaders.slice(0);
 
-exports.PDFWorkerStream = PDFWorkerStream;
+    readers.forEach(function (reader) {
+      reader.cancel(reason);
+    });
+  }
 
-var PDFWorkerStreamReader =
-/*#__PURE__*/
-function () {
-  function PDFWorkerStreamReader(msgHandler) {
-    var _this = this;
+}
 
-    _classCallCheck(this, PDFWorkerStreamReader);
+exports.PDFWorkerStream = PDFWorkerStream;
 
+class PDFWorkerStreamReader {
+  constructor(msgHandler) {
     this._msgHandler = msgHandler;
     this.onProgress = null;
     this._contentLength = null;
     this._isRangeSupported = false;
     this._isStreamingSupported = false;
 
-    var readableStream = this._msgHandler.sendWithStream('GetReader');
+    const readableStream = this._msgHandler.sendWithStream("GetReader");
 
     this._reader = readableStream.getReader();
-    this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {
-      _this._isStreamingSupported = data.isStreamingSupported;
-      _this._isRangeSupported = data.isRangeSupported;
-      _this._contentLength = data.contentLength;
+    this._headersReady = this._msgHandler.sendWithPromise("ReaderHeadersReady").then(data => {
+      this._isStreamingSupported = data.isStreamingSupported;
+      this._isRangeSupported = data.isRangeSupported;
+      this._contentLength = data.contentLength;
     });
   }
 
-  _createClass(PDFWorkerStreamReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var _ref, value, done;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._reader.read();
-
-              case 2:
-                _ref = _context.sent;
-                value = _ref.value;
-                done = _ref.done;
-
-                if (!done) {
-                  _context.next = 7;
-                  break;
-                }
+  get headersReady() {
+    return this._headersReady;
+  }
 
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get contentLength() {
+    return this._contentLength;
+  }
 
-              case 7:
-                return _context.abrupt("return", {
-                  value: value.buffer,
-                  done: false
-                });
+  get isStreamingSupported() {
+    return this._isStreamingSupported;
+  }
 
-              case 8:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
+  get isRangeSupported() {
+    return this._isRangeSupported;
+  }
 
-      function read() {
-        return _read.apply(this, arguments);
-      }
+  async read() {
+    const {
+      value,
+      done
+    } = await this._reader.read();
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._reader.cancel(reason);
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReady;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
+    if (done) {
+      return {
+        value: undefined,
+        done: true
+      };
     }
-  }]);
 
-  return PDFWorkerStreamReader;
-}();
+    return {
+      value: value.buffer,
+      done: false
+    };
+  }
 
-var PDFWorkerStreamRangeReader =
-/*#__PURE__*/
-function () {
-  function PDFWorkerStreamRangeReader(begin, end, msgHandler) {
-    _classCallCheck(this, PDFWorkerStreamRangeReader);
+  cancel(reason) {
+    this._reader.cancel(reason);
+  }
+
+}
 
+class PDFWorkerStreamRangeReader {
+  constructor(begin, end, msgHandler) {
     this._msgHandler = msgHandler;
     this.onProgress = null;
 
-    var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {
-      begin: begin,
-      end: end
+    const readableStream = this._msgHandler.sendWithStream("GetRangeReader", {
+      begin,
+      end
     });
 
     this._reader = readableStream.getReader();
   }
 
-  _createClass(PDFWorkerStreamRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        var _ref2, value, done;
-
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._reader.read();
-
-              case 2:
-                _ref2 = _context2.sent;
-                value = _ref2.value;
-                done = _ref2.done;
-
-                if (!done) {
-                  _context2.next = 7;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
+  get isStreamingSupported() {
+    return false;
+  }
 
-              case 7:
-                return _context2.abrupt("return", {
-                  value: value.buffer,
-                  done: false
-                });
+  async read() {
+    const {
+      value,
+      done
+    } = await this._reader.read();
 
-              case 8:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
+    if (done) {
+      return {
+        value: undefined,
+        done: true
+      };
+    }
 
-      function read() {
-        return _read2.apply(this, arguments);
-      }
+    return {
+      value: value.buffer,
+      done: false
+    };
+  }
 
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._reader.cancel(reason);
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
-    }
-  }]);
+  cancel(reason) {
+    this._reader.cancel(reason);
+  }
 
-  return PDFWorkerStreamRangeReader;
-}();
+}
 
 /***/ })
 /******/ ]);
diff --git a/third-party/pdfjs/web/viewer.css b/third-party/pdfjs/web/viewer.css
index bc9a0017a..aabbad188 100644
--- a/third-party/pdfjs/web/viewer.css
+++ b/third-party/pdfjs/web/viewer.css
@@ -30,14 +30,14 @@
   position: absolute;
   white-space: pre;
   cursor: text;
-  transform-origin: 0% 0%;
+  -webkit-transform-origin: 0% 0%;
+          transform-origin: 0% 0%;
 }
 
 .textLayer .highlight {
   margin: -1px;
   padding: 1px;
-
-  background-color: rgb(180, 0, 170);
+  background-color: rgba(180, 0, 170, 1);
   border-radius: 4px;
 }
 
@@ -54,12 +54,16 @@
 }
 
 .textLayer .highlight.selected {
-  background-color: rgb(0, 100, 0);
+  background-color: rgba(0, 100, 0, 1);
 }
 
-.textLayer ::-moz-selection { background: rgb(0,0,255); }
+.textLayer ::-moz-selection {
+  background: rgba(0, 0, 255, 1);
+}
 
-.textLayer ::selection { background: rgb(0,0,255); }
+.textLayer ::selection {
+  background: rgba(0, 0, 255, 1);
+}
 
 .textLayer .endOfContent {
   display: block;
@@ -98,8 +102,8 @@
 .annotationLayer .linkAnnotation > a:hover,
 .annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
   opacity: 0.2;
-  background: #ff0;
-  box-shadow: 0px 2px 10px #ff0;
+  background: rgba(255, 255, 0, 1);
+  box-shadow: 0px 2px 10px rgba(255, 255, 0, 1);
 }
 
 .annotationLayer .textAnnotation img {
@@ -152,7 +156,7 @@
 .annotationLayer .choiceWidgetAnnotation select:hover,
 .annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
 .annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
-  border: 1px solid #000;
+  border: 1px solid rgba(0, 0, 0, 1);
 }
 
 .annotationLayer .textWidgetAnnotation input:focus,
@@ -165,7 +169,7 @@
 .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
 .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
 .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
-  background-color: #000;
+  background-color: rgba(0, 0, 0, 1);
   content: '';
   display: block;
   position: absolute;
@@ -179,11 +183,13 @@
 }
 
 .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
-  transform: rotate(45deg);
+  -webkit-transform: rotate(45deg);
+          transform: rotate(45deg);
 }
 
 .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
-  transform: rotate(-45deg);
+  -webkit-transform: rotate(-45deg);
+          transform: rotate(-45deg);
 }
 
 .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
@@ -227,8 +233,8 @@
   position: absolute;
   z-index: 200;
   max-width: 20em;
-  background-color: #FFFF99;
-  box-shadow: 0px 2px 5px #888;
+  background-color: rgba(255, 255, 153, 1);
+  box-shadow: 0px 2px 5px rgba(136, 136, 136, 1);
   border-radius: 2px;
   padding: 6px;
   margin-left: 5px;
@@ -252,7 +258,7 @@
 }
 
 .annotationLayer .popup p {
-  border-top: 1px solid #333;
+  border-top: 1px solid rgba(51, 51, 51, 1);
   margin-top: 2px;
   padding-top: 2px;
 }
@@ -287,9 +293,10 @@
   overflow: visible;
   border: 9px solid transparent;
   background-clip: content-box;
-  -o-border-image: url(images/shadow.png) 9 9 repeat;
-     border-image: url(images/shadow.png) 9 9 repeat;
-  background-color: white;
+  -webkit-border-image: url(images/shadow.png) 9 9 repeat;
+       -o-border-image: url(images/shadow.png) 9 9 repeat;
+          border-image: url(images/shadow.png) 9 9 repeat;
+  background-color: rgba(255, 255, 255, 1);
 }
 
 .pdfViewer.removePageBorders .page {
@@ -402,6 +409,8 @@
 
 :root {
   --sidebar-width: 200px;
+  --sidebar-transition-duration: 200ms;
+  --sidebar-transition-timing-function: ease;
 }
 
 * {
@@ -419,7 +428,7 @@ html {
 body {
   height: 100%;
   width: 100%;
-  background-color: #404040;
+  background-color: rgba(64, 64, 64, 1);
   background-image: url(images/texture.png);
 }
 
@@ -444,13 +453,13 @@ select {
 }
 
 #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop {
-  background-color: #000;
+  background-color: rgba(0, 0, 0, 1);
 }
 
 #viewerContainer.pdfPresentationMode:-webkit-full-screen {
   top: 0px;
-  border-top: 2px solid transparent;
-  background-color: #000;
+  border-top: 2px solid rgba(0, 0, 0, 0);
+  background-color: rgba(0, 0, 0, 1);
   width: 100%;
   height: 100%;
   overflow: hidden;
@@ -461,8 +470,8 @@ select {
 
 #viewerContainer.pdfPresentationMode:-moz-full-screen {
   top: 0px;
-  border-top: 2px solid transparent;
-  background-color: #000;
+  border-top: 2px solid rgba(0, 0, 0, 0);
+  background-color: rgba(0, 0, 0, 1);
   width: 100%;
   height: 100%;
   overflow: hidden;
@@ -473,8 +482,8 @@ select {
 
 #viewerContainer.pdfPresentationMode:-ms-fullscreen {
   top: 0px;
-  border-top: 2px solid transparent;
-  background-color: #000;
+  border-top: 2px solid rgba(0, 0, 0, 0);
+  background-color: rgba(0, 0, 0, 1);
   width: 100%;
   height: 100%;
   overflow: hidden;
@@ -485,8 +494,8 @@ select {
 
 #viewerContainer.pdfPresentationMode:fullscreen {
   top: 0px;
-  border-top: 2px solid transparent;
-  background-color: #000;
+  border-top: 2px solid rgba(0, 0, 0, 0);
+  background-color: rgba(0, 0, 0, 1);
   width: 100%;
   height: 100%;
   overflow: hidden;
@@ -544,25 +553,31 @@ select {
   position: absolute;
   top: 32px;
   bottom: 0;
-  width: 200px; /* Here, and elsewhere below, keep the constant value for compatibility
-                   with older browsers that lack support for CSS variables. */
+  width: 200px;
   width: var(--sidebar-width);
   visibility: hidden;
   z-index: 100;
-  border-top: 1px solid #333;
-
-  transition-duration: 200ms;
-  transition-timing-function: ease;
+  border-top: 1px solid rgba(51, 51, 51, 1);
+  -webkit-transition-duration: 200ms;
+          transition-duration: 200ms;
+  -webkit-transition-duration: var(--sidebar-transition-duration);
+          transition-duration: var(--sidebar-transition-duration);
+  -webkit-transition-timing-function: ease;
+          transition-timing-function: ease;
+  -webkit-transition-timing-function: var(--sidebar-transition-timing-function);
+          transition-timing-function: var(--sidebar-transition-timing-function);
 }
 html[dir='ltr'] #sidebarContainer {
+  -webkit-transition-property: left;
   transition-property: left;
   left: -200px;
-  left: calc(-1 * var(--sidebar-width));
+  left: calc(0px - var(--sidebar-width));
 }
 html[dir='rtl'] #sidebarContainer {
+  -webkit-transition-property: right;
   transition-property: right;
   right: -200px;
-  right: calc(-1 * var(--sidebar-width));
+  right: calc(0px - var(--sidebar-width));
 }
 
 .loadingInProgress #sidebarContainer {
@@ -571,7 +586,8 @@ html[dir='rtl'] #sidebarContainer {
 
 #outerContainer.sidebarResizing #sidebarContainer {
   /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
-  transition-duration: 0s;
+  -webkit-transition-duration: 0s;
+          transition-duration: 0s;
   /* Prevent e.g. the thumbnails being selected when the sidebar is resized. */
   -webkit-user-select: none;
      -moz-user-select: none;
@@ -606,15 +622,15 @@ html[dir='rtl'] #outerContainer.sidebarOpen #sidebarContainer {
   -webkit-overflow-scrolling: touch;
   position: absolute;
   width: 100%;
-  background-color: hsla(0,0%,0%,.1);
+  background-color: rgba(0, 0, 0, 0.1);
 }
 html[dir='ltr'] #sidebarContent {
   left: 0;
-  box-shadow: inset -1px 0 0 hsla(0,0%,0%,.25);
+  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25);
 }
 html[dir='rtl'] #sidebarContent {
   right: 0;
-  box-shadow: inset 1px 0 0 hsla(0,0%,0%,.25);
+  box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25);
 }
 
 #viewerContainer {
@@ -628,27 +644,36 @@ html[dir='rtl'] #sidebarContent {
   outline: none;
 }
 #viewerContainer:not(.pdfPresentationMode) {
-  transition-duration: 200ms;
-  transition-timing-function: ease;
+  -webkit-transition-duration: 200ms;
+          transition-duration: 200ms;
+  -webkit-transition-duration: var(--sidebar-transition-duration);
+          transition-duration: var(--sidebar-transition-duration);
+  -webkit-transition-timing-function: ease;
+          transition-timing-function: ease;
+  -webkit-transition-timing-function: var(--sidebar-transition-timing-function);
+          transition-timing-function: var(--sidebar-transition-timing-function);
 }
 html[dir='ltr'] #viewerContainer {
-  box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05);
+  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.05);
 }
 html[dir='rtl'] #viewerContainer {
-  box-shadow: inset -1px 0 0 hsla(0,0%,100%,.05);
+  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.05);
 }
 
 #outerContainer.sidebarResizing #viewerContainer {
   /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
-  transition-duration: 0s;
+  -webkit-transition-duration: 0s;
+          transition-duration: 0s;
 }
 
 html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
+  -webkit-transition-property: left;
   transition-property: left;
   left: 200px;
   left: var(--sidebar-width);
 }
 html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
+  -webkit-transition-property: right;
   transition-property: right;
   right: 200px;
   right: var(--sidebar-width);
@@ -669,21 +694,23 @@ html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentatio
 #toolbarSidebar {
   width: 100%;
   height: 32px;
-  background-color: #424242; /* fallback */
+  background-color: rgba(66, 66, 66, 1); /* fallback */
+  background-image: url(images/texture.png),
+                    -webkit-gradient(linear, left top, left bottom, from(rgba(77, 77, 77, 0.99)), 
to(rgba(64, 64, 64, 0.95)));
   background-image: url(images/texture.png),
-                    linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95));
+                    linear-gradient(rgba(77, 77, 77, 0.99), rgba(64, 64, 64, 0.95));
 }
 html[dir='ltr'] #toolbarSidebar {
   box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25),
-              inset 0 -1px 0 hsla(0,0%,100%,.05),
-              0 1px 0 hsla(0,0%,0%,.15),
-              0 0 1px hsla(0,0%,0%,.1);
+              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
+              0 1px 0 rgba(0, 0, 0, 0.15),
+              0 0 1px rgba(0, 0, 0, 0.1);
 }
 html[dir='rtl'] #toolbarSidebar {
   box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25),
-              inset 0 1px 0 hsla(0,0%,100%,.05),
-              0 1px 0 hsla(0,0%,0%,.15),
-              0 0 1px hsla(0,0%,0%,.1);
+              inset 0 1px 0 rgba(255, 255, 255, 0.05),
+              0 1px 0 rgba(0, 0, 0, 0.15),
+              0 0 1px rgba(0, 0, 0, 0.1);
 }
 
 #sidebarResizer {
@@ -704,21 +731,23 @@ html[dir='rtl'] #sidebarResizer {
 #toolbarContainer, .findbar, .secondaryToolbar {
   position: relative;
   height: 32px;
-  background-color: #474747; /* fallback */
+  background-color: rgba(71, 71, 71, 1); /* fallback */
   background-image: url(images/texture.png),
-                    linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
+                    -webkit-gradient(linear, left top, left bottom, from(rgba(82, 82, 82, 0.99)), 
to(rgba(69, 69, 69, 0.95)));
+  background-image: url(images/texture.png),
+                    linear-gradient(rgba(82, 82, 82, 0.99), rgba(69, 69, 69, 0.95));
 }
 html[dir='ltr'] #toolbarContainer, .findbar, .secondaryToolbar {
-  box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
-              inset 0 -1px 0 hsla(0,0%,100%,.05),
-              0 1px 0 hsla(0,0%,0%,.15),
-              0 1px 1px hsla(0,0%,0%,.1);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15),
+              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
+              0 1px 0 rgba(0, 0, 0, 0.15),
+              0 1px 1px rgba(0, 0, 0, 0.1);
 }
 html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
-  box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
-              inset 0 -1px 0 hsla(0,0%,100%,.05),
-              0 1px 0 hsla(0,0%,0%,.15),
-              0 1px 1px hsla(0,0%,0%,.1);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15),
+              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
+              0 1px 0 rgba(0, 0, 0, 0.15),
+              0 1px 1px rgba(0, 0, 0, 0.1);
 }
 
 #toolbarViewer {
@@ -729,8 +758,8 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
   position: relative;
   width: 100%;
   height: 4px;
-  background-color: #333;
-  border-bottom: 1px solid #333;
+  background-color: rgba(51, 51, 51, 1);
+  border-bottom: 1px solid rgba(51, 51, 51, 1);
 }
 
 #loadingBar .progress {
@@ -739,8 +768,9 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
   left: 0;
   width: 0%;
   height: 100%;
-  background-color: #ddd;
+  background-color: rgba(221, 221, 221, 1);
   overflow: hidden;
+  -webkit-transition: width 200ms;
   transition: width 200ms;
 }
 
@@ -755,7 +785,8 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
 }
 
 #loadingBar .progress.indeterminate {
-  background-color: #999;
+  background-color: rgba(153, 153, 153, 1);
+  -webkit-transition: none;
   transition: none;
 }
 
@@ -765,14 +796,11 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
   left: 0;
   height: 100%;
   width: calc(100% + 150px);
-
   background: repeating-linear-gradient(135deg,
-                                        #bbb 0, #999 5px,
-                                        #999 45px, #ddd 55px,
-                                        #ddd 95px, #bbb 100px);
-
+                                        rgba(187, 187, 187, 1) 0, rgba(153, 153, 153, 1) 5px,
+                                        rgba(153, 153, 153, 1) 45px, rgba(221, 221, 221, 1) 55px,
+                                        rgba(221, 221, 221, 1) 95px, rgba(187, 187, 187, 1) 100px);
   -webkit-animation: progressIndeterminate 950ms linear infinite;
-
           animation: progressIndeterminate 950ms linear infinite;
 }
 
@@ -784,7 +812,7 @@ html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
   min-width: 16px;
   padding: 0px 6px 0px 6px;
   margin: 4px 2px 4px 2px;
-  color: hsl(0,0%,85%);
+  color: rgba(217, 217, 217, 1);
   font-size: 12px;
   line-height: 14px;
   text-align: left;
@@ -821,7 +849,7 @@ html[dir='rtl'] .findbar {
   width: 200px;
 }
 #findInput::-webkit-input-placeholder {
-  color: hsl(0, 0%, 75%);
+  color: rgba(191, 191, 191, 1);
 }
 #findInput::-moz-placeholder {
   font-style: italic;
@@ -871,14 +899,14 @@ html[dir='rtl'] .secondaryToolbar {
 
 .doorHanger,
 .doorHangerRight {
-  border: 1px solid hsla(0,0%,0%,.5);
+  border: 1px solid rgba(0, 0, 0, 0.5);
   border-radius: 2px;
   box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
 }
 .doorHanger:after, .doorHanger:before,
 .doorHangerRight:after, .doorHangerRight:before {
   bottom: 100%;
-  border: solid transparent;
+  border: solid rgba(0, 0, 0, 0);
   content: " ";
   height: 0;
   width: 0;
@@ -887,12 +915,12 @@ html[dir='rtl'] .secondaryToolbar {
 }
 .doorHanger:after,
 .doorHangerRight:after {
-  border-bottom-color: hsla(0,0%,32%,.99);
+  border-bottom-color: rgba(82, 82, 82, 0.99);
   border-width: 8px;
 }
 .doorHanger:before,
 .doorHangerRight:before {
-  border-bottom-color: hsla(0,0%,0%,.5);
+  border-bottom-color: rgba(0, 0, 0, 0.5);
   border-width: 9px;
 }
 
@@ -921,28 +949,29 @@ html[dir='ltr'] .doorHangerRight:before {
 }
 
 #findResultsCount {
-  background-color: hsl(0, 0%, 85%);
-  color: hsl(0, 0%, 32%);
+  background-color: rgba(217, 217, 217, 1);
+  color: rgba(82, 82, 82, 1);
   text-align: center;
   padding: 3px 4px;
 }
 
 #findMsg {
   font-style: italic;
-  color: #A6B7D0;
+  color: rgba(166, 183, 208, 1);
 }
 #findMsg:empty {
   display: none;
 }
 
 #findInput.notFound {
-  background-color: rgb(255, 102, 102);
+  background-color: rgba(255, 102, 102, 1);
 }
 
 #toolbarViewerMiddle {
   position: absolute;
   left: 50%;
-  transform: translateX(-50%);
+  -webkit-transform: translateX(-50%);
+          transform: translateX(-50%);
 }
 
 html[dir='ltr'] #toolbarViewerLeft,
@@ -1015,18 +1044,15 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton {
 .splitToolbarButton:focus > .toolbarButton,
 .splitToolbarButton.toggled > .toolbarButton,
 .toolbarButton.textButton {
-  background-color: hsla(0,0%,0%,.12);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(0, 0, 0, 0.12);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  border: 1px solid hsla(0,0%,0%,.35);
-  border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.15) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
-  transition-property: background-color, border-color, box-shadow;
-  transition-duration: 150ms;
-  transition-timing-function: ease;
-
+  border: 1px solid rgba(0, 0, 0, 0.35);
+  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.15) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
 }
 .splitToolbarButton > .toolbarButton:hover,
 .splitToolbarButton > .toolbarButton:focus,
@@ -1035,12 +1061,15 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton {
 .overlayButton:focus,
 .toolbarButton.textButton:hover,
 .toolbarButton.textButton:focus {
-  background-color: hsla(0,0%,0%,.2);
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.15) inset,
-              0 0 1px hsla(0,0%,0%,.05);
+  background-color: rgba(0,0,0,0.2);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.15) inset,
+              0 0 1px rgba(0, 0, 0, 0.05);
   z-index: 199;
 }
+.dropdownToolbarButton:hover {
+  background-color: rgba(0, 0, 0, 0.26);
+}
 .splitToolbarButton > .toolbarButton {
   position: relative;
 }
@@ -1051,7 +1080,7 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child {
   margin-right: -1px;
   border-top-left-radius: 2px;
   border-bottom-left-radius: 2px;
-  border-right-color: transparent;
+  border-right-color: rgba(0, 0, 0, 0);
 }
 html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child,
 html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child {
@@ -1060,14 +1089,14 @@ html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child {
   margin-left: -1px;
   border-top-right-radius: 2px;
   border-bottom-right-radius: 2px;
-  border-left-color: transparent;
+  border-left-color: rgba(0, 0, 0, 0);
 }
 .splitToolbarButtonSeparator {
   padding: 8px 0;
   width: 1px;
-  background-color: hsla(0,0%,0%,.5);
+  background-color: rgba(0, 0, 0, 0.5);
   z-index: 99;
-  box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
   display: inline-block;
   margin: 5px 0;
 }
@@ -1081,10 +1110,7 @@ html[dir='rtl'] .splitToolbarButtonSeparator {
 .splitToolbarButton.toggled > .splitToolbarButtonSeparator {
   padding: 12px 0;
   margin: 1px 0;
-  box-shadow: 0 0 0 1px hsla(0,0%,100%,.03);
-  transition-property: padding;
-  transition-duration: 10ms;
-  transition-timing-function: ease;
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.03);
 }
 
 .toolbarButton,
@@ -1093,9 +1119,9 @@ html[dir='rtl'] .splitToolbarButtonSeparator {
 .overlayButton {
   min-width: 16px;
   padding: 2px 6px 0;
-  border: 1px solid transparent;
+  border: 1px solid rgba(0, 0, 0, 0);
   border-radius: 2px;
-  color: hsla(0,0%,100%,.8);
+  color: rgba(255, 255, 255, 0.8);
   font-size: 12px;
   line-height: 14px;
   -webkit-user-select: none;
@@ -1104,9 +1130,6 @@ html[dir='rtl'] .splitToolbarButtonSeparator {
           user-select: none;
   /* Opera does not support user-select, use <... unselectable="on"> instead */
   cursor: default;
-  transition-property: background-color, border-color, box-shadow;
-  transition-duration: 150ms;
-  transition-timing-function: ease;
 }
 
 html[dir='ltr'] .toolbarButton,
@@ -1126,74 +1149,76 @@ html[dir='rtl'] .dropdownToolbarButton {
 .overlayButton,
 .secondaryToolbarButton:hover,
 .secondaryToolbarButton:focus {
-  background-color: hsla(0,0%,0%,.12);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(0, 0, 0, 0.12);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  border: 1px solid hsla(0,0%,0%,.35);
-  border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.15) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
+  border: 1px solid rgba(0, 0, 0, 0.35);
+  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.15) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
 }
 
 .toolbarButton:hover:active,
 .overlayButton:hover:active,
 .dropdownToolbarButton:hover:active,
 .secondaryToolbarButton:hover:active {
-  background-color: hsla(0,0%,0%,.2);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
-  border-color: hsla(0,0%,0%,.35) hsla(0,0%,0%,.4) hsla(0,0%,0%,.45);
-  box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
-              0 0 1px hsla(0,0%,0%,.2) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
-  transition-property: background-color, border-color, box-shadow;
-  transition-duration: 10ms;
-  transition-timing-function: linear;
+  background-color: rgba(0, 0, 0, 0.2);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+  border-color: rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45);
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset,
+              0 0 1px rgba(0, 0, 0, 0.2) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
 }
 
 .toolbarButton.toggled,
 .splitToolbarButton.toggled > .toolbarButton.toggled,
 .secondaryToolbarButton.toggled {
-  background-color: hsla(0,0%,0%,.3);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
-  border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.45) hsla(0,0%,0%,.5);
-  box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
-              0 0 1px hsla(0,0%,0%,.2) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
-  transition-property: background-color, border-color, box-shadow;
-  transition-duration: 10ms;
-  transition-timing-function: linear;
+  background-color: rgba(0, 0, 0, 0.3);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45) rgba(0, 0, 0, 0.5);
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset,
+              0 0 1px rgba(0, 0, 0, 0.2) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
 }
 
 .toolbarButton.toggled:hover:active,
 .splitToolbarButton.toggled > .toolbarButton.toggled:hover:active,
 .secondaryToolbarButton.toggled:hover:active {
-  background-color: hsla(0,0%,0%,.4);
-  border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.5) hsla(0,0%,0%,.55);
-  box-shadow: 0 1px 1px hsla(0,0%,0%,.2) inset,
-              0 0 1px hsla(0,0%,0%,.3) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
+  background-color: rgba(0, 0, 0, 0.4);
+  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.5) rgba(0, 0, 0, 0.55);
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) inset,
+              0 0 1px rgba(0, 0, 0, 0.3) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
 }
 
 .dropdownToolbarButton {
-  width: 120px;
-  max-width: 120px;
+  width: 140px;
   padding: 0;
   overflow: hidden;
-  background: url(images/toolbarButton-menuArrows.png) no-repeat;
 }
-html[dir='ltr'] .dropdownToolbarButton {
-  background-position: 95%;
+.dropdownToolbarButton::after {
+  position: absolute;
+  display: inline-block;
+  top: 4px;
+  content: url(images/toolbarButton-menuArrows.png);
 }
-html[dir='rtl'] .dropdownToolbarButton {
-  background-position: 5%;
+html[dir='ltr'] .dropdownToolbarButton::after {
+  right: 8px;
+}
+html[dir='rtl'] .dropdownToolbarButton::after {
+  left: 8px;
 }
 
 .dropdownToolbarButton > select {
   -webkit-appearance: none;
-  min-width: 140px;
+  width: 162px;
+  height: 23px;
   font-size: 12px;
-  color: hsl(0,0%,95%);
+  color: rgba(242, 242, 242, 1);
   margin: 0;
   padding: 3px 2px 2px;
   border: none;
@@ -1201,7 +1226,7 @@ html[dir='rtl'] .dropdownToolbarButton {
 }
 
 .dropdownToolbarButton > select > option {
-  background: hsl(0,0%,24%);
+  background: rgba(61, 61, 61, 1);
 }
 
 #customScaleOption {
@@ -1209,7 +1234,7 @@ html[dir='rtl'] .dropdownToolbarButton {
 }
 
 #pageWidthOption {
-  border-bottom: 1px rgba(255, 255, 255, .5) solid;
+  border-bottom: 1px rgba(255, 255, 255, 0.5) solid;
 }
 
 html[dir='ltr'] .splitToolbarButton:first-child,
@@ -1378,7 +1403,7 @@ html[dir="rtl"] #viewOutline.toolbarButton::before {
   top: 1px;
   /* Create a filled circle, with a diameter of 9 pixels, using only CSS: */
   content: '';
-  background-color: #70DB55;
+  background-color: rgba(112, 219, 85, 1);
   height: 9px;
   width: 9px;
   border-radius: 50%;
@@ -1479,8 +1504,8 @@ html[dir="rtl"] .secondaryToolbarButton > span {
   padding: 8px 0;
   margin: 8px 4px;
   width: 1px;
-  background-color: hsla(0,0%,0%,.5);
-  box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
+  background-color: rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
 }
 html[dir='ltr'] .verticalToolbarSeparator {
   margin-left: 2px;
@@ -1494,29 +1519,27 @@ html[dir='rtl'] .verticalToolbarSeparator {
   margin: 0 0 4px 0;
   height: 1px;
   width: 100%;
-  background-color: hsla(0,0%,0%,.5);
-  box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
+  background-color: rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
 }
 
 .toolbarField {
   padding: 3px 6px;
   margin: 4px 0 4px 0;
-  border: 1px solid transparent;
   border-radius: 2px;
-  background-color: hsla(0,0%,100%,.09);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(255, 255, 255, 0.09);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  border: 1px solid hsla(0,0%,0%,.35);
-  border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
-  box-shadow: 0 1px 0 hsla(0,0%,0%,.05) inset,
-              0 1px 0 hsla(0,0%,100%,.05);
-  color: hsl(0,0%,95%);
+  border-width: 1px;
+  border-style: solid;
+  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) inset,
+              0 1px 0 rgba(255, 255, 255, 0.05);
+  color: rgba(242, 242, 242, 1);
   font-size: 12px;
   line-height: 14px;
   outline-style: none;
-  transition-property: background-color, border-color, box-shadow;
-  transition-duration: 150ms;
-  transition-timing-function: ease;
 }
 
 .toolbarField[type=checkbox] {
@@ -1545,22 +1568,22 @@ html[dir='rtl'] .verticalToolbarSeparator {
 }
 
 .toolbarField:hover {
-  background-color: hsla(0,0%,100%,.11);
-  border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.43) hsla(0,0%,0%,.45);
+  background-color: rgba(255, 255, 255, 0.11);
+  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.43) rgba(0, 0, 0, 0.45);
 }
 
 .toolbarField:focus {
-  background-color: hsla(0,0%,100%,.15);
-  border-color: hsla(204,100%,65%,.8) hsla(204,100%,65%,.85) hsla(204,100%,65%,.9);
+  background-color: rgba(255, 255, 255, 0.15);
+  border-color: rgba(77, 184, 255, 0.8) rgba(77, 184, 255, 0.85) rgba(77, 184, 255, 0.9);
 }
 
 .toolbarLabel {
   min-width: 16px;
   padding: 3px 6px 3px 2px;
   margin: 4px 2px 4px 0;
-  border: 1px solid transparent;
+  border: 1px solid rgba(0, 0, 0, 0);
   border-radius: 2px;
-  color: hsl(0,0%,85%);
+  color: rgba(217, 217, 217, 1);
   font-size: 12px;
   line-height: 14px;
   text-align: left;
@@ -1610,11 +1633,11 @@ html[dir='rtl'] .thumbnail {
 }
 
 .thumbnailImage {
-  border: 1px solid transparent;
+  border: 1px solid rgba(0, 0, 0, 0);
   box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
   opacity: 0.8;
   z-index: 99;
-  background-color: white;
+  background-color: rgba(255, 255, 255, 1);
   background-clip: content-box;
 }
 
@@ -1630,28 +1653,30 @@ a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,
 
 a:focus > .thumbnail > .thumbnailSelectionRing,
 .thumbnail:hover > .thumbnailSelectionRing {
-  background-color: hsla(0,0%,100%,.15);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(255, 255, 255, 0.15);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.2) inset,
-              0 0 1px hsla(0,0%,0%,.2);
-  color: hsla(0,0%,100%,.9);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.2) inset,
+              0 0 1px rgba(0, 0, 0, 0.2);
+  color: rgba(255, 255, 255, 0.9);
 }
 
 .thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage {
-  box-shadow: 0 0 0 1px hsla(0,0%,0%,.5);
+  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
   opacity: 1;
 }
 
 .thumbnail.selected > .thumbnailSelectionRing {
-  background-color: hsla(0,0%,100%,.3);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(255, 255, 255, 0.3);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.1) inset,
-              0 0 1px hsla(0,0%,0%,.2);
-  color: hsla(0,0%,100%,1);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.1) inset,
+              0 0 1px rgba(0, 0, 0, 0.2);
+  color: rgba(255, 255, 255,1);
 }
 
 #outlineView,
@@ -1695,7 +1720,7 @@ html[dir='rtl'] .outlineItem > .outlineItems {
   height: auto;
   margin-bottom: 1px;
   border-radius: 2px;
-  color: hsla(0,0%,100%,.8);
+  color: rgba(255, 255, 255, 0.8);
   font-size: 13px;
   line-height: 15px;
   -webkit-user-select: none;
@@ -1732,7 +1757,7 @@ html[dir='rtl'] .attachmentsItem > button {
   position: relative;
   height: 0;
   width: 0;
-  color: hsla(0,0%,100%,.5);
+  color: rgba(255, 255, 255, 0.5);
 }
 .outlineItemToggler::before {
   content: url(images/treeitem-expanded.png);
@@ -1766,29 +1791,31 @@ html[dir='rtl'] .outlineItemToggler::before {
 .outlineItemToggler:hover ~ .outlineItems,
 .outlineItem > a:hover,
 .attachmentsItem > button:hover {
-  background-color: hsla(0,0%,100%,.02);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(255, 255, 255, 0.02);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.2) inset,
-              0 0 1px hsla(0,0%,0%,.2);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.2) inset,
+              0 0 1px rgba(0, 0, 0, 0.2);
   border-radius: 2px;
-  color: hsla(0,0%,100%,.9);
+  color: rgba(255, 255, 255, 0.9);
 }
 
 .outlineItem.selected {
-  background-color: hsla(0,0%,100%,.08);
-  background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
+  background-color: rgba(255, 255, 255, 0.08);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), 
to(rgba(255, 255, 255, 0)));
+  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
   background-clip: padding-box;
-  box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
-              0 0 1px hsla(0,0%,100%,.1) inset,
-              0 0 1px hsla(0,0%,0%,.2);
-  color: hsla(0,0%,100%,1);
+  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
+              0 0 1px rgba(255, 255, 255, 0.1) inset,
+              0 0 1px rgba(0, 0, 0, 0.2);
+  color: rgba(255, 255, 255, 1);
 }
 
 .noResults {
   font-size: 12px;
-  color: hsla(0,0%,100%,.8);
+  color: rgba(255, 255, 255, 0.8);
   font-style: italic;
   cursor: default;
 }
@@ -1796,12 +1823,16 @@ html[dir='rtl'] .outlineItemToggler::before {
 /* TODO: file FF bug to support ::-moz-selection:window-inactive
    so we can override the opaque grey background when the window is inactive;
    see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */
-::-moz-selection { background: rgba(0,0,255,0.3); }
-::selection { background: rgba(0,0,255,0.3); }
+::-moz-selection {
+  background: rgba(0, 0, 255, 0.3);
+}
+::selection {
+  background: rgba(0, 0, 255, 0.3);
+}
 
 #errorWrapper {
-  background: none repeat scroll 0 0 #FF5555;
-  color: white;
+  background: none repeat scroll 0 0 rgba(255, 85, 85, 1);
+  color: rgba(255, 255, 255, 1);
   left: 0;
   position: absolute;
   right: 0;
@@ -1822,8 +1853,8 @@ html[dir='rtl'] .outlineItemToggler::before {
 }
 
 #errorMoreInfo {
-  background-color: #FFFFFF;
-  color: black;
+  background-color: rgba(255, 255, 255, 1);
+  color: rgba(0, 0, 0, 1);
   padding: 3px;
   margin: 3px;
   width: 98%;
@@ -1840,7 +1871,7 @@ html[dir='rtl'] .outlineItemToggler::before {
   position: absolute;
   width: 100%;
   height: 100%;
-  background-color: hsla(0,0%,0%,.2);
+  background-color: rgba(0, 0, 0, 0.2);
   z-index: 40000;
 }
 #overlayContainer > * {
@@ -1858,18 +1889,15 @@ html[dir='rtl'] .outlineItemToggler::before {
   display: inline-block;
   padding: 15px;
   border-spacing: 4px;
-  color: hsl(0,0%,85%);
+  color: rgba(217, 217, 217, 1);
   font-size: 12px;
   line-height: 14px;
-  background-color: #474747; /* fallback */
+  background-color: rgba(71, 71, 71, 1); /* fallback */
   background-image: url(images/texture.png),
-                    linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
-  box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08),
-              inset 0 1px 1px hsla(0,0%,0%,.15),
-              inset 0 -1px 0 hsla(0,0%,100%,.05),
-              0 1px 0 hsla(0,0%,0%,.15),
-              0 1px 1px hsla(0,0%,0%,.1);
-  border: 1px solid hsla(0,0%,0%,.5);
+                    -webkit-gradient(linear, left top, left bottom, from(rgba(82, 82, 82,0.99)), to(rgba(69, 
69, 69, 0.95)));
+  background-image: url(images/texture.png),
+                    linear-gradient(rgba(82, 82, 82,0.99), rgba(69, 69, 69, 0.95));
+  border: 1px solid rgba(0, 0, 0, 0.5);
   border-radius: 4px;
   box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
 }
@@ -1891,8 +1919,8 @@ html[dir='rtl'] .outlineItemToggler::before {
   margin: 4px 0 4px 0;
   height: 1px;
   width: 100%;
-  background-color: hsla(0,0%,0%,.5);
-  box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
+  background-color: rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
 }
 
 .dialog .buttonRow {
@@ -1901,7 +1929,7 @@ html[dir='rtl'] .outlineItemToggler::before {
 }
 
 .dialog :link {
-  color: white;
+  color: rgba(255, 255, 255, 1);
 }
 
 #passwordOverlay > .dialog {
@@ -1940,8 +1968,8 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 }
 
 .fileInput {
-  background: white;
-  color: black;
+  background: rgba(255, 255, 255, 1);
+  color: rgba(0, 0, 0, 1);
   margin-top: 5px;
   visibility: hidden;
   position: fixed;
@@ -1950,8 +1978,8 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 }
 
 #PDFBug {
-  background: none repeat scroll 0 0 white;
-  border: 1px solid #666666;
+  background: none repeat scroll 0 0 rgba(255, 255, 255, 1);
+  border: 1px solid rgba(102, 102, 102, 1);
   position: fixed;
   top: 32px;
   right: 0;
@@ -1961,9 +1989,9 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
   width: 300px;
 }
 #PDFBug .controls {
-    background:#EEEEEE;
-    border-bottom: 1px solid #666666;
-    padding: 3px;
+  background: rgba(238, 238, 238, 1);
+  border-bottom: 1px solid rgba(102, 102, 102, 1);
+  padding: 3px;
 }
 #PDFBug .panels {
   bottom: 0;
@@ -1974,15 +2002,18 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
   right: 0;
   top: 27px;
 }
+#PDFBug .panels > div {
+  padding: 5px;
+}
 #PDFBug button.active {
   font-weight: bold;
 }
 .debuggerShowText {
-  background: none repeat scroll 0 0 yellow;
-  color: blue;
+  background: none repeat scroll 0 0 rgba(255, 255, 0, 1);
+  color: rgba(0, 0, 255, 1);
 }
 .debuggerHideText:hover {
-  background: none repeat scroll 0 0 yellow;
+  background: none repeat scroll 0 0 rgba(255, 255, 0, 1);
 }
 #PDFBug .stats {
   font-family: courier;
@@ -2001,7 +2032,7 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 }
 
 #viewer.textLayer-visible .canvasWrapper {
-  background-color: rgb(128,255,128);
+  background-color: rgba(128, 255, 128, 1);
 }
 
 #viewer.textLayer-visible .canvasWrapper canvas {
@@ -2010,19 +2041,19 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 
 #viewer.textLayer-visible .textLayer > span {
   background-color: rgba(255, 255, 0, 0.1);
-  color: black;
+  color: rgba(0, 0, 0, 1);
   border: solid 1px rgba(255, 0, 0, 0.5);
   box-sizing: border-box;
 }
 
 #viewer.textLayer-hover .textLayer > span:hover {
-  background-color: white;
-  color: black;
+  background-color: rgba(255, 255, 255, 1);
+  color: rgba(0, 0, 0, 1);
 }
 
 #viewer.textLayer-shadow .textLayer > span {
-  background-color: rgba(255,255,255, .6);
-  color: black;
+  background-color: rgba(255, 255, 255, 0.6);
+  color: rgba(0, 0, 0, 1);
 }
 
 .grab-to-pan-grab {
@@ -2038,9 +2069,8 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
   cursor: url("images/grabbing.cur"), move !important;
   cursor: -webkit-grabbing !important;
   cursor: grabbing !important;
-
   position: fixed;
-  background: transparent;
+  background: rgba(0, 0, 0, 0);
   display: block;
   top: 0;
   left: 0;
@@ -2061,12 +2091,14 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 @media screen and (-webkit-min-device-pixel-ratio: 1.1), screen and (min-resolution: 1.1dppx) {
   /* Rules for Retina screens */
   .toolbarButton::before {
-    transform: scale(0.5);
+    -webkit-transform: scale(0.5);
+            transform: scale(0.5);
     top: -5px;
   }
 
   .secondaryToolbarButton::before {
-    transform: scale(0.5);
+    -webkit-transform: scale(0.5);
+            transform: scale(0.5);
     top: -4px;
   }
 
@@ -2088,9 +2120,17 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
     background-size: 16px 17px;
   }
 
-  .dropdownToolbarButton {
-    background: url(images/toolbarButton-menuArrows 2x png) no-repeat;
-    background-size: 7px 16px;
+  .dropdownToolbarButton::after {
+    -webkit-transform: scale(0.5);
+            transform: scale(0.5);
+    top: -5px;
+    content: url(images/toolbarButton-menuArrows 2x png);
+  }
+  html[dir='ltr'] .dropdownToolbarButton::after {
+    right: 4px;
+  }
+  html[dir='rtl'] .dropdownToolbarButton::after {
+    left: 4px;
   }
 
   html[dir='ltr'] .toolbarButton#sidebarToggle::before {
@@ -2240,7 +2280,8 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
   }
 
   .outlineItemToggler::before {
-    transform: scale(0.5);
+    -webkit-transform: scale(0.5);
+            transform: scale(0.5);
     top: -1px;
     content: url(images/treeitem-expanded 2x png);
   }
@@ -2261,7 +2302,7 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
 @media print {
   /* General rules for printing. */
   body {
-    background: transparent none;
+    background: rgba(0, 0, 0, 0) none;
   }
 
   /* Rules for browsers that don't support mozPrintCallback. */
@@ -2284,7 +2325,7 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
     border: none;
     box-shadow: none;
     background-clip: content-box;
-    background-color: white;
+    background-color: rgba(255, 255, 255, 1);
   }
 
   .page[data-loaded] {
@@ -2334,13 +2375,14 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
     margin: auto;
     left: auto;
     position: inherit;
-    transform: none;
+    -webkit-transform: none;
+            transform: none;
   }
 }
 
 @media all and (max-width: 840px) {
   #sidebarContent {
-    background-color: hsla(0,0%,0%,.7);
+    background-color: rgba(0, 0, 0, 0.7);
   }
 
   html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {
diff --git a/third-party/pdfjs/web/viewer.js b/third-party/pdfjs/web/viewer.js
index ec9df2d5b..a8b31a2c1 100644
--- a/third-party/pdfjs/web/viewer.js
+++ b/third-party/pdfjs/web/viewer.js
@@ -2,7 +2,7 @@
  * @licstart The following is the entire license notice for the
  * Javascript code in this page
  *
- * Copyright 2019 Mozilla Foundation
+ * Copyright 2020 Mozilla Foundation
  * Modifications made for Epiphany by Jan-Michael Brummer <jan brummer tabos org>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -115,157 +115,157 @@
 
 
 ;
-var pdfjsWebApp, pdfjsWebAppOptions;
+let pdfjsWebApp, pdfjsWebAppOptions;
 {
   pdfjsWebApp = __webpack_require__(1);
-  pdfjsWebAppOptions = __webpack_require__(6);
+  pdfjsWebAppOptions = __webpack_require__(3);
 }
 ;
 {
-  __webpack_require__(36);
+  __webpack_require__(33);
 }
 ;
 {
-  __webpack_require__(41);
+  __webpack_require__(38);
 }
 
 function getViewerConfiguration() {
   return {
     appContainer: document.body,
-    mainContainer: document.getElementById('viewerContainer'),
-    viewerContainer: document.getElementById('viewer'),
+    mainContainer: document.getElementById("viewerContainer"),
+    viewerContainer: document.getElementById("viewer"),
     eventBus: null,
     toolbar: {
-      container: document.getElementById('toolbarViewer'),
-      numPages: document.getElementById('numPages'),
-      pageNumber: document.getElementById('pageNumber'),
-      scaleSelectContainer: document.getElementById('scaleSelectContainer'),
-      scaleSelect: document.getElementById('scaleSelect'),
-      customScaleOption: document.getElementById('customScaleOption'),
-      previous: document.getElementById('previous'),
-      next: document.getElementById('next'),
-      zoomIn: document.getElementById('zoomIn'),
-      zoomOut: document.getElementById('zoomOut'),
-      viewFind: document.getElementById('viewFind'),
-      openFile: document.getElementById('openFile'),
-      print: document.getElementById('print'),
-      presentationModeButton: document.getElementById('presentationMode'),
-      download: document.getElementById('download'),
-      viewBookmark: document.getElementById('viewBookmark')
+      container: document.getElementById("toolbarViewer"),
+      numPages: document.getElementById("numPages"),
+      pageNumber: document.getElementById("pageNumber"),
+      scaleSelectContainer: document.getElementById("scaleSelectContainer"),
+      scaleSelect: document.getElementById("scaleSelect"),
+      customScaleOption: document.getElementById("customScaleOption"),
+      previous: document.getElementById("previous"),
+      next: document.getElementById("next"),
+      zoomIn: document.getElementById("zoomIn"),
+      zoomOut: document.getElementById("zoomOut"),
+      viewFind: document.getElementById("viewFind"),
+      openFile: document.getElementById("openFile"),
+      print: document.getElementById("print"),
+      presentationModeButton: document.getElementById("presentationMode"),
+      download: document.getElementById("download"),
+      viewBookmark: document.getElementById("viewBookmark")
     },
     secondaryToolbar: {
-      toolbar: document.getElementById('secondaryToolbar'),
-      toggleButton: document.getElementById('secondaryToolbarToggle'),
-      toolbarButtonContainer: document.getElementById('secondaryToolbarButtonContainer'),
-      presentationModeButton: document.getElementById('secondaryPresentationMode'),
-      openFileButton: document.getElementById('secondaryOpenFile'),
-      printButton: document.getElementById('secondaryPrint'),
-      downloadButton: document.getElementById('secondaryDownload'),
-      viewBookmarkButton: document.getElementById('secondaryViewBookmark'),
-      firstPageButton: document.getElementById('firstPage'),
-      lastPageButton: document.getElementById('lastPage'),
-      pageRotateCwButton: document.getElementById('pageRotateCw'),
-      pageRotateCcwButton: document.getElementById('pageRotateCcw'),
-      cursorSelectToolButton: document.getElementById('cursorSelectTool'),
-      cursorHandToolButton: document.getElementById('cursorHandTool'),
-      scrollVerticalButton: document.getElementById('scrollVertical'),
-      scrollHorizontalButton: document.getElementById('scrollHorizontal'),
-      scrollWrappedButton: document.getElementById('scrollWrapped'),
-      spreadNoneButton: document.getElementById('spreadNone'),
-      spreadOddButton: document.getElementById('spreadOdd'),
-      spreadEvenButton: document.getElementById('spreadEven'),
-      documentPropertiesButton: document.getElementById('documentProperties')
+      toolbar: document.getElementById("secondaryToolbar"),
+      toggleButton: document.getElementById("secondaryToolbarToggle"),
+      toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"),
+      presentationModeButton: document.getElementById("secondaryPresentationMode"),
+      openFileButton: document.getElementById("secondaryOpenFile"),
+      printButton: document.getElementById("secondaryPrint"),
+      downloadButton: document.getElementById("secondaryDownload"),
+      viewBookmarkButton: document.getElementById("secondaryViewBookmark"),
+      firstPageButton: document.getElementById("firstPage"),
+      lastPageButton: document.getElementById("lastPage"),
+      pageRotateCwButton: document.getElementById("pageRotateCw"),
+      pageRotateCcwButton: document.getElementById("pageRotateCcw"),
+      cursorSelectToolButton: document.getElementById("cursorSelectTool"),
+      cursorHandToolButton: document.getElementById("cursorHandTool"),
+      scrollVerticalButton: document.getElementById("scrollVertical"),
+      scrollHorizontalButton: document.getElementById("scrollHorizontal"),
+      scrollWrappedButton: document.getElementById("scrollWrapped"),
+      spreadNoneButton: document.getElementById("spreadNone"),
+      spreadOddButton: document.getElementById("spreadOdd"),
+      spreadEvenButton: document.getElementById("spreadEven"),
+      documentPropertiesButton: document.getElementById("documentProperties")
     },
     fullscreen: {
-      contextFirstPage: document.getElementById('contextFirstPage'),
-      contextLastPage: document.getElementById('contextLastPage'),
-      contextPageRotateCw: document.getElementById('contextPageRotateCw'),
-      contextPageRotateCcw: document.getElementById('contextPageRotateCcw')
+      contextFirstPage: document.getElementById("contextFirstPage"),
+      contextLastPage: document.getElementById("contextLastPage"),
+      contextPageRotateCw: document.getElementById("contextPageRotateCw"),
+      contextPageRotateCcw: document.getElementById("contextPageRotateCcw")
     },
     sidebar: {
-      outerContainer: document.getElementById('outerContainer'),
-      viewerContainer: document.getElementById('viewerContainer'),
-      toggleButton: document.getElementById('sidebarToggle'),
-      thumbnailButton: document.getElementById('viewThumbnail'),
-      outlineButton: document.getElementById('viewOutline'),
-      attachmentsButton: document.getElementById('viewAttachments'),
-      thumbnailView: document.getElementById('thumbnailView'),
-      outlineView: document.getElementById('outlineView'),
-      attachmentsView: document.getElementById('attachmentsView')
+      outerContainer: document.getElementById("outerContainer"),
+      viewerContainer: document.getElementById("viewerContainer"),
+      toggleButton: document.getElementById("sidebarToggle"),
+      thumbnailButton: document.getElementById("viewThumbnail"),
+      outlineButton: document.getElementById("viewOutline"),
+      attachmentsButton: document.getElementById("viewAttachments"),
+      thumbnailView: document.getElementById("thumbnailView"),
+      outlineView: document.getElementById("outlineView"),
+      attachmentsView: document.getElementById("attachmentsView")
     },
     sidebarResizer: {
-      outerContainer: document.getElementById('outerContainer'),
-      resizer: document.getElementById('sidebarResizer')
+      outerContainer: document.getElementById("outerContainer"),
+      resizer: document.getElementById("sidebarResizer")
     },
     findBar: {
-      bar: document.getElementById('findbar'),
-      toggleButton: document.getElementById('viewFind'),
-      findField: document.getElementById('findInput'),
-      highlightAllCheckbox: document.getElementById('findHighlightAll'),
-      caseSensitiveCheckbox: document.getElementById('findMatchCase'),
-      entireWordCheckbox: document.getElementById('findEntireWord'),
-      findMsg: document.getElementById('findMsg'),
-      findResultsCount: document.getElementById('findResultsCount'),
-      findPreviousButton: document.getElementById('findPrevious'),
-      findNextButton: document.getElementById('findNext')
+      bar: document.getElementById("findbar"),
+      toggleButton: document.getElementById("viewFind"),
+      findField: document.getElementById("findInput"),
+      highlightAllCheckbox: document.getElementById("findHighlightAll"),
+      caseSensitiveCheckbox: document.getElementById("findMatchCase"),
+      entireWordCheckbox: document.getElementById("findEntireWord"),
+      findMsg: document.getElementById("findMsg"),
+      findResultsCount: document.getElementById("findResultsCount"),
+      findPreviousButton: document.getElementById("findPrevious"),
+      findNextButton: document.getElementById("findNext")
     },
     passwordOverlay: {
-      overlayName: 'passwordOverlay',
-      container: document.getElementById('passwordOverlay'),
-      label: document.getElementById('passwordText'),
-      input: document.getElementById('password'),
-      submitButton: document.getElementById('passwordSubmit'),
-      cancelButton: document.getElementById('passwordCancel')
+      overlayName: "passwordOverlay",
+      container: document.getElementById("passwordOverlay"),
+      label: document.getElementById("passwordText"),
+      input: document.getElementById("password"),
+      submitButton: document.getElementById("passwordSubmit"),
+      cancelButton: document.getElementById("passwordCancel")
     },
     documentProperties: {
-      overlayName: 'documentPropertiesOverlay',
-      container: document.getElementById('documentPropertiesOverlay'),
-      closeButton: document.getElementById('documentPropertiesClose'),
+      overlayName: "documentPropertiesOverlay",
+      container: document.getElementById("documentPropertiesOverlay"),
+      closeButton: document.getElementById("documentPropertiesClose"),
       fields: {
-        'fileName': document.getElementById('fileNameField'),
-        'fileSize': document.getElementById('fileSizeField'),
-        'title': document.getElementById('titleField'),
-        'author': document.getElementById('authorField'),
-        'subject': document.getElementById('subjectField'),
-        'keywords': document.getElementById('keywordsField'),
-        'creationDate': document.getElementById('creationDateField'),
-        'modificationDate': document.getElementById('modificationDateField'),
-        'creator': document.getElementById('creatorField'),
-        'producer': document.getElementById('producerField'),
-        'version': document.getElementById('versionField'),
-        'pageCount': document.getElementById('pageCountField'),
-        'pageSize': document.getElementById('pageSizeField'),
-        'linearized': document.getElementById('linearizedField')
+        fileName: document.getElementById("fileNameField"),
+        fileSize: document.getElementById("fileSizeField"),
+        title: document.getElementById("titleField"),
+        author: document.getElementById("authorField"),
+        subject: document.getElementById("subjectField"),
+        keywords: document.getElementById("keywordsField"),
+        creationDate: document.getElementById("creationDateField"),
+        modificationDate: document.getElementById("modificationDateField"),
+        creator: document.getElementById("creatorField"),
+        producer: document.getElementById("producerField"),
+        version: document.getElementById("versionField"),
+        pageCount: document.getElementById("pageCountField"),
+        pageSize: document.getElementById("pageSizeField"),
+        linearized: document.getElementById("linearizedField")
       }
     },
     errorWrapper: {
-      container: document.getElementById('errorWrapper'),
-      errorMessage: document.getElementById('errorMessage'),
-      closeButton: document.getElementById('errorClose'),
-      errorMoreInfo: document.getElementById('errorMoreInfo'),
-      moreInfoButton: document.getElementById('errorShowMore'),
-      lessInfoButton: document.getElementById('errorShowLess')
+      container: document.getElementById("errorWrapper"),
+      errorMessage: document.getElementById("errorMessage"),
+      closeButton: document.getElementById("errorClose"),
+      errorMoreInfo: document.getElementById("errorMoreInfo"),
+      moreInfoButton: document.getElementById("errorShowMore"),
+      lessInfoButton: document.getElementById("errorShowLess")
     },
-    printContainer: document.getElementById('printContainer'),
-    openFileInputName: 'fileInput',
-    debuggerScriptPath: './debugger.js'
+    printContainer: document.getElementById("printContainer"),
+    openFileInputName: "fileInput",
+    debuggerScriptPath: "./debugger.js"
   };
 }
 
 function webViewerLoad() {
-  var config = getViewerConfiguration();
+  const config = getViewerConfiguration();
   window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;
   window.PDFViewerApplicationOptions = pdfjsWebAppOptions.AppOptions;
-  var event = document.createEvent('CustomEvent');
-  event.initCustomEvent('webviewerloaded', true, true, {});
+  const event = document.createEvent("CustomEvent");
+  event.initCustomEvent("webviewerloaded", true, true, {});
   document.dispatchEvent(event);
   pdfjsWebApp.PDFViewerApplication.run(config);
 }
 
-if (document.readyState === 'interactive' || document.readyState === 'complete') {
+if (document.readyState === "interactive" || document.readyState === "complete") {
   webViewerLoad();
 } else {
-  document.addEventListener('DOMContentLoaded', webViewerLoad, true);
+  document.addEventListener("DOMContentLoaded", webViewerLoad, true);
 }
 
 /***/ }),
@@ -280,102 +280,108 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFPrintServiceFactory = exports.DefaultExternalServices = exports.PDFViewerApplication = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
+var _ui_utils = __webpack_require__(2);
 
-var _ui_utils = __webpack_require__(5);
+var _app_options = __webpack_require__(3);
 
-var _app_options = __webpack_require__(6);
+var _pdfjsLib = __webpack_require__(4);
 
-var _pdfjsLib = __webpack_require__(7);
+var _pdf_cursor_tools = __webpack_require__(6);
 
-var _pdf_cursor_tools = __webpack_require__(9);
+var _pdf_rendering_queue = __webpack_require__(8);
 
-var _pdf_rendering_queue = __webpack_require__(11);
+var _pdf_sidebar = __webpack_require__(9);
 
-var _pdf_sidebar = __webpack_require__(12);
+var _overlay_manager = __webpack_require__(10);
 
-var _overlay_manager = __webpack_require__(13);
+var _password_prompt = __webpack_require__(11);
 
-var _password_prompt = __webpack_require__(14);
+var _pdf_attachment_viewer = __webpack_require__(12);
 
-var _pdf_attachment_viewer = __webpack_require__(15);
+var _pdf_document_properties = __webpack_require__(13);
 
-var _pdf_document_properties = __webpack_require__(16);
+var _pdf_find_bar = __webpack_require__(14);
 
-var _pdf_find_bar = __webpack_require__(17);
+var _pdf_find_controller = __webpack_require__(15);
 
-var _pdf_find_controller = __webpack_require__(18);
+var _pdf_history = __webpack_require__(17);
 
-var _pdf_history = __webpack_require__(20);
+var _pdf_link_service = __webpack_require__(18);
 
-var _pdf_link_service = __webpack_require__(21);
+var _pdf_outline_viewer = __webpack_require__(19);
 
-var _pdf_outline_viewer = __webpack_require__(22);
+var _pdf_presentation_mode = __webpack_require__(20);
 
-var _pdf_presentation_mode = __webpack_require__(23);
+var _pdf_sidebar_resizer = __webpack_require__(21);
 
-var _pdf_sidebar_resizer = __webpack_require__(24);
+var _pdf_thumbnail_viewer = __webpack_require__(22);
 
-var _pdf_thumbnail_viewer = __webpack_require__(25);
+var _pdf_viewer = __webpack_require__(24);
 
-var _pdf_viewer = __webpack_require__(27);
+var _secondary_toolbar = __webpack_require__(29);
 
-var _secondary_toolbar = __webpack_require__(32);
+var _toolbar = __webpack_require__(31);
 
-var _toolbar = __webpack_require__(34);
+var _view_history = __webpack_require__(32);
 
-var _view_history = __webpack_require__(35);
+const DEFAULT_SCALE_DELTA = 1.1;
+const DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
+const FORCE_PAGES_LOADED_TIMEOUT = 10000;
+const WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
+const ViewOnLoad = {
+  UNKNOWN: -1,
+  PREVIOUS: 0,
+  INITIAL: 1
+};
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+class DefaultExternalServices {
+  constructor() {
+    throw new Error("Cannot initialize DefaultExternalServices.");
+  }
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
+  static updateFindControlState(data) {}
 
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
+  static updateFindMatchesCount(data) {}
 
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
+  static initPassiveLoading(callbacks) {}
 
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+  static fallback(data, callback) {}
 
-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); } }
+  static reportTelemetry(data) {}
 
-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); }); }; }
+  static createDownloadManager(options) {
+    throw new Error("Not implemented: createDownloadManager");
+  }
 
-var DEFAULT_SCALE_DELTA = 1.1;
-var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
-var FORCE_PAGES_LOADED_TIMEOUT = 10000;
-var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
-var ViewOnLoad = {
-  UNKNOWN: -1,
-  PREVIOUS: 0,
-  INITIAL: 1
-};
-var DefaultExternalServices = {
-  updateFindControlState: function updateFindControlState(data) {},
-  updateFindMatchesCount: function updateFindMatchesCount(data) {},
-  initPassiveLoading: function initPassiveLoading(callbacks) {},
-  fallback: function fallback(data, callback) {},
-  reportTelemetry: function reportTelemetry(data) {},
-  createDownloadManager: function createDownloadManager(options) {
-    throw new Error('Not implemented: createDownloadManager');
-  },
-  createPreferences: function createPreferences() {
-    throw new Error('Not implemented: createPreferences');
-  },
-  createL10n: function createL10n(options) {
-    throw new Error('Not implemented: createL10n');
-  },
-  supportsIntegratedFind: false,
-  supportsDocumentFonts: true,
-  supportsDocumentColors: true,
-  supportedMouseWheelZoomModifierKeys: {
-    ctrlKey: true,
-    metaKey: true
+  static createPreferences() {
+    throw new Error("Not implemented: createPreferences");
   }
-};
+
+  static createL10n(options) {
+    throw new Error("Not implemented: createL10n");
+  }
+
+  static get supportsIntegratedFind() {
+    return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false);
+  }
+
+  static get supportsDocumentFonts() {
+    return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true);
+  }
+
+  static get supportedMouseWheelZoomModifierKeys() {
+    return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", {
+      ctrlKey: true,
+      metaKey: true
+    });
+  }
+
+}
+
 exports.DefaultExternalServices = DefaultExternalServices;
-var PDFViewerApplication = {
+const PDFViewerApplication = {
   initialBookmark: document.location.hash.substring(1),
-  initialized: false,
+  _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(),
   fellback: false,
   appConfig: null,
   pdfDocument: null,
@@ -404,390 +410,261 @@ var PDFViewerApplication = {
   isInitialViewSet: false,
   downloadComplete: false,
   isViewerEmbedded: window.parent !== window,
-  url: '',
-  baseUrl: '',
+  url: "",
+  baseUrl: "",
   externalServices: DefaultExternalServices,
   _boundEvents: {},
   contentDispositionFilename: null,
-  initialize: function () {
-    var _initialize = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee(appConfig) {
-      var _this = this;
-
-      var appContainer;
-      return _regenerator["default"].wrap(function _callee$(_context) {
-        while (1) {
-          switch (_context.prev = _context.next) {
-            case 0:
-              this.preferences = this.externalServices.createPreferences();
-              this.appConfig = appConfig;
-              _context.next = 4;
-              return this._readPreferences();
-
-            case 4:
-              _context.next = 6;
-              return this._parseHashParameters();
-
-            case 6:
-              _context.next = 8;
-              return this._initializeL10n();
-
-            case 8:
-              if (this.isViewerEmbedded && _app_options.AppOptions.get('externalLinkTarget') === 
_pdfjsLib.LinkTarget.NONE) {
-                _app_options.AppOptions.set('externalLinkTarget', _pdfjsLib.LinkTarget.TOP);
-              }
-
-              _context.next = 11;
-              return this._initializeViewerComponents();
-
-            case 11:
-              this.bindEvents();
-              this.bindWindowEvents();
-              appContainer = appConfig.appContainer || document.documentElement;
-              this.l10n.translate(appContainer).then(function () {
-                _this.eventBus.dispatch('localized', {
-                  source: _this
-                });
-              });
-              this.initialized = true;
-
-            case 16:
-            case "end":
-              return _context.stop();
-          }
-        }
-      }, _callee, this);
-    }));
-
-    function initialize(_x) {
-      return _initialize.apply(this, arguments);
-    }
-
-    return initialize;
-  }(),
-  _readPreferences: function () {
-    var _readPreferences2 = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee2() {
-      var prefs, name;
-      return _regenerator["default"].wrap(function _callee2$(_context2) {
-        while (1) {
-          switch (_context2.prev = _context2.next) {
-            case 0:
-              if (!(_app_options.AppOptions.get('disablePreferences') === true)) {
-                _context2.next = 2;
-                break;
-              }
 
-              return _context2.abrupt("return");
+  async initialize(appConfig) {
+    this.preferences = this.externalServices.createPreferences();
+    this.appConfig = appConfig;
+    await this._readPreferences();
+    await this._parseHashParameters();
+    await this._initializeL10n();
 
-            case 2:
-              _context2.prev = 2;
-              _context2.next = 5;
-              return this.preferences.getAll();
+    if (this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === 
_pdfjsLib.LinkTarget.NONE) {
+      _app_options.AppOptions.set("externalLinkTarget", _pdfjsLib.LinkTarget.TOP);
+    }
 
-            case 5:
-              prefs = _context2.sent;
+    await this._initializeViewerComponents();
+    this.bindEvents();
+    this.bindWindowEvents();
+    const appContainer = appConfig.appContainer || document.documentElement;
+    this.l10n.translate(appContainer).then(() => {
+      this.eventBus.dispatch("localized", {
+        source: this
+      });
+    });
 
-              for (name in prefs) {
-                _app_options.AppOptions.set(name, prefs[name]);
-              }
+    this._initializedCapability.resolve();
+  },
 
-              _context2.next = 12;
-              break;
+  async _readPreferences() {
+    if (_app_options.AppOptions.get("disablePreferences") === true) {
+      return;
+    }
 
-            case 9:
-              _context2.prev = 9;
-              _context2.t0 = _context2["catch"](2);
-              console.error("_readPreferences: \"".concat(_context2.t0.message, "\"."));
+    try {
+      const prefs = await this.preferences.getAll();
 
-            case 12:
-            case "end":
-              return _context2.stop();
-          }
-        }
-      }, _callee2, this, [[2, 9]]);
-    }));
-
-    function _readPreferences() {
-      return _readPreferences2.apply(this, arguments);
-    }
-
-    return _readPreferences;
-  }(),
-  _parseHashParameters: function () {
-    var _parseHashParameters2 = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee3() {
-      var waitOn, hash, hashParams, viewer, enabled;
-      return _regenerator["default"].wrap(function _callee3$(_context3) {
-        while (1) {
-          switch (_context3.prev = _context3.next) {
-            case 0:
-              if (_app_options.AppOptions.get('pdfBugEnabled')) {
-                _context3.next = 2;
-                break;
-              }
+      for (const name in prefs) {
+        _app_options.AppOptions.set(name, prefs[name]);
+      }
+    } catch (reason) {
+      console.error(`_readPreferences: "${reason.message}".`);
+    }
+  },
 
-              return _context3.abrupt("return", undefined);
+  async _parseHashParameters() {
+    if (!_app_options.AppOptions.get("pdfBugEnabled")) {
+      return undefined;
+    }
 
-            case 2:
-              waitOn = [];
-              hash = document.location.hash.substring(1);
-              hashParams = (0, _ui_utils.parseQueryString)(hash);
+    const hash = document.location.hash.substring(1);
 
-              if ('disableworker' in hashParams && hashParams['disableworker'] === 'true') {
-                waitOn.push(loadFakeWorker());
-              }
+    if (!hash) {
+      return undefined;
+    }
 
-              if ('disablerange' in hashParams) {
-                _app_options.AppOptions.set('disableRange', hashParams['disablerange'] === 'true');
-              }
+    const hashParams = (0, _ui_utils.parseQueryString)(hash),
+          waitOn = [];
 
-              if ('disablestream' in hashParams) {
-                _app_options.AppOptions.set('disableStream', hashParams['disablestream'] === 'true');
-              }
+    if ("disableworker" in hashParams && hashParams["disableworker"] === "true") {
+      waitOn.push(loadFakeWorker());
+    }
 
-              if ('disableautofetch' in hashParams) {
-                _app_options.AppOptions.set('disableAutoFetch', hashParams['disableautofetch'] === 'true');
-              }
+    if ("disablerange" in hashParams) {
+      _app_options.AppOptions.set("disableRange", hashParams["disablerange"] === "true");
+    }
 
-              if ('disablefontface' in hashParams) {
-                _app_options.AppOptions.set('disableFontFace', hashParams['disablefontface'] === 'true');
-              }
+    if ("disablestream" in hashParams) {
+      _app_options.AppOptions.set("disableStream", hashParams["disablestream"] === "true");
+    }
 
-              if ('disablehistory' in hashParams) {
-                _app_options.AppOptions.set('disableHistory', hashParams['disablehistory'] === 'true');
-              }
+    if ("disableautofetch" in hashParams) {
+      _app_options.AppOptions.set("disableAutoFetch", hashParams["disableautofetch"] === "true");
+    }
 
-              if ('webgl' in hashParams) {
-                _app_options.AppOptions.set('enableWebGL', hashParams['webgl'] === 'true');
-              }
+    if ("disablefontface" in hashParams) {
+      _app_options.AppOptions.set("disableFontFace", hashParams["disablefontface"] === "true");
+    }
 
-              if ('useonlycsszoom' in hashParams) {
-                _app_options.AppOptions.set('useOnlyCssZoom', hashParams['useonlycsszoom'] === 'true');
-              }
+    if ("disablehistory" in hashParams) {
+      _app_options.AppOptions.set("disableHistory", hashParams["disablehistory"] === "true");
+    }
 
-              if ('verbosity' in hashParams) {
-                _app_options.AppOptions.set('verbosity', hashParams['verbosity'] | 0);
-              }
+    if ("webgl" in hashParams) {
+      _app_options.AppOptions.set("enableWebGL", hashParams["webgl"] === "true");
+    }
 
-              if (!('textlayer' in hashParams)) {
-                _context3.next = 23;
-                break;
-              }
+    if ("verbosity" in hashParams) {
+      _app_options.AppOptions.set("verbosity", hashParams["verbosity"] | 0);
+    }
 
-              _context3.t0 = hashParams['textlayer'];
-              _context3.next = _context3.t0 === 'off' ? 18 : _context3.t0 === 'visible' ? 20 : _context3.t0 
=== 'shadow' ? 20 : _context3.t0 === 'hover' ? 20 : 23;
-              break;
+    if ("textlayer" in hashParams) {
+      switch (hashParams["textlayer"]) {
+        case "off":
+          _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE);
 
-            case 18:
-              _app_options.AppOptions.set('textLayerMode', _ui_utils.TextLayerMode.DISABLE);
+          break;
 
-              return _context3.abrupt("break", 23);
+        case "visible":
+        case "shadow":
+        case "hover":
+          const viewer = this.appConfig.viewerContainer;
+          viewer.classList.add("textLayer-" + hashParams["textlayer"]);
+          break;
+      }
+    }
 
-            case 20:
-              viewer = this.appConfig.viewerContainer;
-              viewer.classList.add('textLayer-' + hashParams['textlayer']);
-              return _context3.abrupt("break", 23);
+    if ("pdfbug" in hashParams) {
+      _app_options.AppOptions.set("pdfBug", true);
 
-            case 23:
-              if ('pdfbug' in hashParams) {
-                _app_options.AppOptions.set('pdfBug', true);
+      const enabled = hashParams["pdfbug"].split(",");
+      waitOn.push(loadAndEnablePDFBug(enabled));
+    }
 
-                enabled = hashParams['pdfbug'].split(',');
-                waitOn.push(loadAndEnablePDFBug(enabled));
-              }
+    if ("locale" in hashParams) {
+      _app_options.AppOptions.set("locale", hashParams["locale"]);
+    }
 
-              if ('locale' in hashParams) {
-                _app_options.AppOptions.set('locale', hashParams['locale']);
-              }
+    return Promise.all(waitOn).catch(reason => {
+      console.error(`_parseHashParameters: "${reason.message}".`);
+    });
+  },
 
-              return _context3.abrupt("return", Promise.all(waitOn)["catch"](function (reason) {
-                console.error("_parseHashParameters: \"".concat(reason.message, "\"."));
-              }));
+  async _initializeL10n() {
+    this.l10n = this.externalServices.createL10n({
+      locale: _app_options.AppOptions.get("locale")
+    });
+    const dir = await this.l10n.getDirection();
+    document.getElementsByTagName("html")[0].dir = dir;
+  },
 
-            case 26:
-            case "end":
-              return _context3.stop();
-          }
-        }
-      }, _callee3, this);
-    }));
-
-    function _parseHashParameters() {
-      return _parseHashParameters2.apply(this, arguments);
-    }
-
-    return _parseHashParameters;
-  }(),
-  _initializeL10n: function () {
-    var _initializeL10n2 = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee4() {
-      var dir;
-      return _regenerator["default"].wrap(function _callee4$(_context4) {
-        while (1) {
-          switch (_context4.prev = _context4.next) {
-            case 0:
-              this.l10n = this.externalServices.createL10n({
-                locale: _app_options.AppOptions.get('locale')
-              });
-              _context4.next = 3;
-              return this.l10n.getDirection();
-
-            case 3:
-              dir = _context4.sent;
-              document.getElementsByTagName('html')[0].dir = dir;
-
-            case 5:
-            case "end":
-              return _context4.stop();
-          }
-        }
-      }, _callee4, this);
-    }));
-
-    function _initializeL10n() {
-      return _initializeL10n2.apply(this, arguments);
-    }
-
-    return _initializeL10n;
-  }(),
-  _initializeViewerComponents: function () {
-    var _initializeViewerComponents2 = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee5() {
-      var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, 
container, viewer;
-      return _regenerator["default"].wrap(function _callee5$(_context5) {
-        while (1) {
-          switch (_context5.prev = _context5.next) {
-            case 0:
-              appConfig = this.appConfig;
-              this.overlayManager = new _overlay_manager.OverlayManager();
-              eventBus = appConfig.eventBus || (0, 
_ui_utils.getGlobalEventBus)(_app_options.AppOptions.get('eventBusDispatchToDOM'));
-              this.eventBus = eventBus;
-              pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
-              pdfRenderingQueue.onIdle = this.cleanup.bind(this);
-              this.pdfRenderingQueue = pdfRenderingQueue;
-              pdfLinkService = new _pdf_link_service.PDFLinkService({
-                eventBus: eventBus,
-                externalLinkTarget: _app_options.AppOptions.get('externalLinkTarget'),
-                externalLinkRel: _app_options.AppOptions.get('externalLinkRel')
-              });
-              this.pdfLinkService = pdfLinkService;
-              downloadManager = this.externalServices.createDownloadManager({
-                disableCreateObjectURL: _app_options.AppOptions.get('disableCreateObjectURL')
-              });
-              this.downloadManager = downloadManager;
-              findController = new _pdf_find_controller.PDFFindController({
-                linkService: pdfLinkService,
-                eventBus: eventBus
-              });
-              this.findController = findController;
-              container = appConfig.mainContainer;
-              viewer = appConfig.viewerContainer;
-              this.pdfViewer = new _pdf_viewer.PDFViewer({
-                container: container,
-                viewer: viewer,
-                eventBus: eventBus,
-                renderingQueue: pdfRenderingQueue,
-                linkService: pdfLinkService,
-                downloadManager: downloadManager,
-                findController: findController,
-                renderer: _app_options.AppOptions.get('renderer'),
-                enableWebGL: _app_options.AppOptions.get('enableWebGL'),
-                l10n: this.l10n,
-                textLayerMode: _app_options.AppOptions.get('textLayerMode'),
-                imageResourcesPath: _app_options.AppOptions.get('imageResourcesPath'),
-                renderInteractiveForms: _app_options.AppOptions.get('renderInteractiveForms'),
-                enablePrintAutoRotate: _app_options.AppOptions.get('enablePrintAutoRotate'),
-                useOnlyCssZoom: _app_options.AppOptions.get('useOnlyCssZoom'),
-                maxCanvasPixels: _app_options.AppOptions.get('maxCanvasPixels')
-              });
-              pdfRenderingQueue.setViewer(this.pdfViewer);
-              pdfLinkService.setViewer(this.pdfViewer);
-              this.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
-                container: appConfig.sidebar.thumbnailView,
-                renderingQueue: pdfRenderingQueue,
-                linkService: pdfLinkService,
-                l10n: this.l10n
-              });
-              pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
-              this.pdfHistory = new _pdf_history.PDFHistory({
-                linkService: pdfLinkService,
-                eventBus: eventBus
-              });
-              pdfLinkService.setHistory(this.pdfHistory);
-
-              if (!this.supportsIntegratedFind) {
-                this.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, this.l10n);
-              }
+  async _initializeViewerComponents() {
+    const appConfig = this.appConfig;
+    this.overlayManager = new _overlay_manager.OverlayManager();
+    const eventBus = appConfig.eventBus || new _ui_utils.EventBus({
+      dispatchToDOM: _app_options.AppOptions.get("eventBusDispatchToDOM")
+    });
+    this.eventBus = eventBus;
+    const pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
+    pdfRenderingQueue.onIdle = this.cleanup.bind(this);
+    this.pdfRenderingQueue = pdfRenderingQueue;
+    const pdfLinkService = new _pdf_link_service.PDFLinkService({
+      eventBus,
+      externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"),
+      externalLinkRel: _app_options.AppOptions.get("externalLinkRel"),
+      ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom")
+    });
+    this.pdfLinkService = pdfLinkService;
+    const downloadManager = this.externalServices.createDownloadManager({
+      disableCreateObjectURL: _app_options.AppOptions.get("disableCreateObjectURL")
+    });
+    this.downloadManager = downloadManager;
+    const findController = new _pdf_find_controller.PDFFindController({
+      linkService: pdfLinkService,
+      eventBus
+    });
+    this.findController = findController;
+    const container = appConfig.mainContainer;
+    const viewer = appConfig.viewerContainer;
+    this.pdfViewer = new _pdf_viewer.PDFViewer({
+      container,
+      viewer,
+      eventBus,
+      renderingQueue: pdfRenderingQueue,
+      linkService: pdfLinkService,
+      downloadManager,
+      findController,
+      renderer: _app_options.AppOptions.get("renderer"),
+      enableWebGL: _app_options.AppOptions.get("enableWebGL"),
+      l10n: this.l10n,
+      textLayerMode: _app_options.AppOptions.get("textLayerMode"),
+      imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"),
+      renderInteractiveForms: _app_options.AppOptions.get("renderInteractiveForms"),
+      enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"),
+      useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"),
+      maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels")
+    });
+    pdfRenderingQueue.setViewer(this.pdfViewer);
+    pdfLinkService.setViewer(this.pdfViewer);
+    this.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
+      container: appConfig.sidebar.thumbnailView,
+      renderingQueue: pdfRenderingQueue,
+      linkService: pdfLinkService,
+      l10n: this.l10n
+    });
+    pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
+    this.pdfHistory = new _pdf_history.PDFHistory({
+      linkService: pdfLinkService,
+      eventBus
+    });
+    pdfLinkService.setHistory(this.pdfHistory);
 
-              this.pdfDocumentProperties = new 
_pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, 
this.l10n);
-              this.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
-                container: container,
-                eventBus: eventBus,
-                cursorToolOnLoad: _app_options.AppOptions.get('cursorToolOnLoad')
-              });
-              this.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, this.l10n);
-              this.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, 
container, eventBus);
-
-              if (this.supportsFullscreen) {
-                this.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
-                  container: container,
-                  viewer: viewer,
-                  pdfViewer: this.pdfViewer,
-                  eventBus: eventBus,
-                  contextMenuItems: appConfig.fullscreen
-                });
-              }
+    if (!this.supportsIntegratedFind) {
+      this.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, this.l10n);
+    }
 
-              this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, 
this.overlayManager, this.l10n);
-              this.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
-                container: appConfig.sidebar.outlineView,
-                eventBus: eventBus,
-                linkService: pdfLinkService
-              });
-              this.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
-                container: appConfig.sidebar.attachmentsView,
-                eventBus: eventBus,
-                downloadManager: downloadManager
-              });
-              this.pdfSidebar = new _pdf_sidebar.PDFSidebar({
-                elements: appConfig.sidebar,
-                pdfViewer: this.pdfViewer,
-                pdfThumbnailViewer: this.pdfThumbnailViewer,
-                eventBus: eventBus,
-                l10n: this.l10n
-              });
-              this.pdfSidebar.onToggled = this.forceRendering.bind(this);
-              this.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, 
eventBus, this.l10n);
-
-            case 34:
-            case "end":
-              return _context5.stop();
-          }
-        }
-      }, _callee5, this);
-    }));
+    this.pdfDocumentProperties = new 
_pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, 
this.l10n);
+    this.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
+      container,
+      eventBus,
+      cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad")
+    });
+    this.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, this.l10n);
+    this.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, 
eventBus);
 
-    function _initializeViewerComponents() {
-      return _initializeViewerComponents2.apply(this, arguments);
+    if (this.supportsFullscreen) {
+      this.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
+        container,
+        pdfViewer: this.pdfViewer,
+        eventBus,
+        contextMenuItems: appConfig.fullscreen
+      });
     }
 
-    return _initializeViewerComponents;
-  }(),
-  run: function run(config) {
+    this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, 
this.overlayManager, this.l10n);
+    this.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
+      container: appConfig.sidebar.outlineView,
+      eventBus,
+      linkService: pdfLinkService
+    });
+    this.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
+      container: appConfig.sidebar.attachmentsView,
+      eventBus,
+      downloadManager
+    });
+    this.pdfSidebar = new _pdf_sidebar.PDFSidebar({
+      elements: appConfig.sidebar,
+      pdfViewer: this.pdfViewer,
+      pdfThumbnailViewer: this.pdfThumbnailViewer,
+      eventBus,
+      l10n: this.l10n
+    });
+    this.pdfSidebar.onToggled = this.forceRendering.bind(this);
+    this.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, 
this.l10n);
+  },
+
+  run(config) {
     this.initialize(config).then(webViewerInitialized);
   },
-  zoomIn: function zoomIn(ticks) {
+
+  get initialized() {
+    return this._initializedCapability.settled;
+  },
+
+  get initializedPromise() {
+    return this._initializedCapability.promise;
+  },
+
+  zoomIn(ticks) {
     if (this.pdfViewer.isInPresentationMode) {
       return;
     }
 
-    var newScale = this.pdfViewer.currentScale;
+    let newScale = this.pdfViewer.currentScale;
 
     do {
       newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);
@@ -797,12 +674,13 @@ var PDFViewerApplication = {
 
     this.pdfViewer.currentScaleValue = newScale;
   },
-  zoomOut: function zoomOut(ticks) {
+
+  zoomOut(ticks) {
     if (this.pdfViewer.isInPresentationMode) {
       return;
     }
 
-    var newScale = this.pdfViewer.currentScale;
+    let newScale = this.pdfViewer.currentScale;
 
     do {
       newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);
@@ -812,7 +690,8 @@ var PDFViewerApplication = {
 
     this.pdfViewer.currentScaleValue = newScale;
   },
-  zoomReset: function zoomReset() {
+
+  zoomReset() {
     if (this.pdfViewer.isInPresentationMode) {
       return;
     }
@@ -841,15 +720,15 @@ var PDFViewerApplication = {
   },
 
   get supportsFullscreen() {
-    var support;
-    var doc = document.documentElement;
+    let support;
+    const doc = document.documentElement;
     support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen || 
doc.msRequestFullscreen);
 
     if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || 
document.webkitFullscreenEnabled === false || document.msFullscreenEnabled === false) {
       support = false;
     }
 
-    return (0, _pdfjsLib.shadow)(this, 'supportsFullscreen', support);
+    return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", support);
   },
 
   get supportsIntegratedFind() {
@@ -860,27 +739,23 @@ var PDFViewerApplication = {
     return this.externalServices.supportsDocumentFonts;
   },
 
-  get supportsDocumentColors() {
-    return this.externalServices.supportsDocumentColors;
-  },
-
   get loadingBar() {
-    var bar = new _ui_utils.ProgressBar('#loadingBar');
-    return (0, _pdfjsLib.shadow)(this, 'loadingBar', bar);
+    const bar = new _ui_utils.ProgressBar("#loadingBar");
+    return (0, _pdfjsLib.shadow)(this, "loadingBar", bar);
   },
 
   get supportedMouseWheelZoomModifierKeys() {
     return this.externalServices.supportedMouseWheelZoomModifierKeys;
   },
 
-  initPassiveLoading: function initPassiveLoading() {
-    throw new Error('Not implemented: initPassiveLoading');
+  initPassiveLoading() {
+    throw new Error("Not implemented: initPassiveLoading");
   },
-  setTitleUsingUrl: function setTitleUsingUrl() {
-    var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+
+  setTitleUsingUrl(url = "") {
     this.url = url;
-    this.baseUrl = url.split('#')[0];
-    var title = (0, _ui_utils.getPDFFileNameFromURL)(url, '');
+    this.baseUrl = url.split("#")[0];
+    let title = (0, _ui_utils.getPDFFileNameFromURL)(url, "");
 
     if (!title) {
       try {
@@ -892,217 +767,164 @@ var PDFViewerApplication = {
 
     this.setTitle(title);
   },
-  setTitle: function setTitle(title) {
+
+  setTitle(title) {
     if (this.isViewerEmbedded) {
       return;
     }
 
     document.title = title;
   },
-  close: function () {
-    var _close = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee6() {
-      var errorWrapper, promise;
-      return _regenerator["default"].wrap(function _callee6$(_context6) {
-        while (1) {
-          switch (_context6.prev = _context6.next) {
-            case 0:
-              errorWrapper = this.appConfig.errorWrapper.container;
-              errorWrapper.setAttribute('hidden', 'true');
-
-              if (this.pdfLoadingTask) {
-                _context6.next = 4;
-                break;
-              }
 
-              return _context6.abrupt("return", undefined);
+  async close() {
+    const errorWrapper = this.appConfig.errorWrapper.container;
+    errorWrapper.setAttribute("hidden", "true");
 
-            case 4:
-              promise = this.pdfLoadingTask.destroy();
-              this.pdfLoadingTask = null;
+    if (!this.pdfLoadingTask) {
+      return undefined;
+    }
 
-              if (this.pdfDocument) {
-                this.pdfDocument = null;
-                this.pdfThumbnailViewer.setDocument(null);
-                this.pdfViewer.setDocument(null);
-                this.pdfLinkService.setDocument(null);
-                this.pdfDocumentProperties.setDocument(null);
-              }
+    const promise = this.pdfLoadingTask.destroy();
+    this.pdfLoadingTask = null;
 
-              this.store = null;
-              this.isInitialViewSet = false;
-              this.downloadComplete = false;
-              this.url = '';
-              this.baseUrl = '';
-              this.contentDispositionFilename = null;
-              this.pdfSidebar.reset();
-              this.pdfOutlineViewer.reset();
-              this.pdfAttachmentViewer.reset();
-
-              if (this.findBar) {
-                this.findBar.reset();
-              }
+    if (this.pdfDocument) {
+      this.pdfDocument = null;
+      this.pdfThumbnailViewer.setDocument(null);
+      this.pdfViewer.setDocument(null);
+      this.pdfLinkService.setDocument(null);
+      this.pdfDocumentProperties.setDocument(null);
+    }
 
-              this.toolbar.reset();
-              this.secondaryToolbar.reset();
+    this.store = null;
+    this.isInitialViewSet = false;
+    this.downloadComplete = false;
+    this.url = "";
+    this.baseUrl = "";
+    this.contentDispositionFilename = null;
+    this.pdfSidebar.reset();
+    this.pdfOutlineViewer.reset();
+    this.pdfAttachmentViewer.reset();
 
-              if (typeof PDFBug !== 'undefined') {
-                PDFBug.cleanup();
-              }
+    if (this.pdfHistory) {
+      this.pdfHistory.reset();
+    }
 
-              return _context6.abrupt("return", promise);
+    if (this.findBar) {
+      this.findBar.reset();
+    }
 
-            case 21:
-            case "end":
-              return _context6.stop();
-          }
-        }
-      }, _callee6, this);
-    }));
-
-    function close() {
-      return _close.apply(this, arguments);
-    }
-
-    return close;
-  }(),
-  open: function () {
-    var _open = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee7(file, args) {
-      var _this2 = this;
-
-      var workerParameters, key, parameters, apiParameters, _key, value, _key2, _value, loadingTask;
-
-      return _regenerator["default"].wrap(function _callee7$(_context7) {
-        while (1) {
-          switch (_context7.prev = _context7.next) {
-            case 0:
-              if (!this.pdfLoadingTask) {
-                _context7.next = 3;
-                break;
-              }
+    this.toolbar.reset();
+    this.secondaryToolbar.reset();
 
-              _context7.next = 3;
-              return this.close();
+    if (typeof PDFBug !== "undefined") {
+      PDFBug.cleanup();
+    }
 
-            case 3:
-              workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
+    return promise;
+  },
 
-              for (key in workerParameters) {
-                _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
-              }
+  async open(file, args) {
+    if (this.pdfLoadingTask) {
+      await this.close();
+    }
 
-              parameters = Object.create(null);
+    const workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
 
-              if (typeof file === 'string') {
-                this.setTitleUsingUrl(file);
-                parameters.url = file;
-              } else if (file && 'byteLength' in file) {
-                parameters.data = file;
-              } else if (file.url && file.originalUrl) {
-                this.setTitleUsingUrl(file.originalUrl);
-                parameters.url = file.url;
-              }
+    for (const key in workerParameters) {
+      _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
+    }
 
-              apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
+    const parameters = Object.create(null);
 
-              for (_key in apiParameters) {
-                value = apiParameters[_key];
+    if (typeof file === "string") {
+      this.setTitleUsingUrl(file);
+      parameters.url = file;
+    } else if (file && "byteLength" in file) {
+      parameters.data = file;
+    } else if (file.url && file.originalUrl) {
+      this.setTitleUsingUrl(file.originalUrl);
+      parameters.url = file.url;
+    }
 
-                if (_key === 'docBaseUrl' && !value) {}
+    const apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
 
-                parameters[_key] = value;
-              }
+    for (const key in apiParameters) {
+      let value = apiParameters[key];
 
-              if (args) {
-                for (_key2 in args) {
-                  _value = args[_key2];
+      if (key === "docBaseUrl" && !value) {}
 
-                  if (_key2 === 'length') {
-                    this.pdfDocumentProperties.setFileSize(_value);
-                  }
+      parameters[key] = value;
+    }
 
-                  parameters[_key2] = _value;
-                }
-              }
+    if (args) {
+      for (const key in args) {
+        const value = args[key];
 
-              loadingTask = (0, _pdfjsLib.getDocument)(parameters);
-              this.pdfLoadingTask = loadingTask;
-
-              loadingTask.onPassword = function (updateCallback, reason) {
-                _this2.pdfLinkService.externalLinkEnabled = false;
-
-                _this2.passwordPrompt.setUpdateCallback(updateCallback, reason);
-
-                _this2.passwordPrompt.open();
-              };
-
-              loadingTask.onProgress = function (_ref) {
-                var loaded = _ref.loaded,
-                    total = _ref.total;
-
-                _this2.progress(loaded / total);
-              };
-
-              loadingTask.onUnsupportedFeature = this.fallback.bind(this);
-              return _context7.abrupt("return", loadingTask.promise.then(function (pdfDocument) {
-                _this2.load(pdfDocument);
-              }, function (exception) {
-                if (loadingTask !== _this2.pdfLoadingTask) {
-                  return undefined;
-                }
-
-                var message = exception && exception.message;
-                var loadingErrorMessage;
-
-                if (exception instanceof _pdfjsLib.InvalidPDFException) {
-                  loadingErrorMessage = _this2.l10n.get('invalid_file_error', null, 'Invalid or corrupted 
PDF file.');
-                } else if (exception instanceof _pdfjsLib.MissingPDFException) {
-                  loadingErrorMessage = _this2.l10n.get('missing_file_error', null, 'Missing PDF file.');
-                } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) {
-                  loadingErrorMessage = _this2.l10n.get('unexpected_response_error', null, 'Unexpected 
server response.');
-                } else {
-                  loadingErrorMessage = _this2.l10n.get('loading_error', null, 'An error occurred while 
loading the PDF.');
-                }
-
-                return loadingErrorMessage.then(function (msg) {
-                  _this2.error(msg, {
-                    message: message
-                  });
-
-                  throw new Error(msg);
-                });
-              }));
-
-            case 16:
-            case "end":
-              return _context7.stop();
-          }
+        if (key === "length") {
+          this.pdfDocumentProperties.setFileSize(value);
         }
-      }, _callee7, this);
-    }));
 
-    function open(_x2, _x3) {
-      return _open.apply(this, arguments);
+        parameters[key] = value;
+      }
     }
 
-    return open;
-  }(),
-  download: function download() {
-    var _this3 = this;
+    const loadingTask = (0, _pdfjsLib.getDocument)(parameters);
+    this.pdfLoadingTask = loadingTask;
+
+    loadingTask.onPassword = (updateCallback, reason) => {
+      this.pdfLinkService.externalLinkEnabled = false;
+      this.passwordPrompt.setUpdateCallback(updateCallback, reason);
+      this.passwordPrompt.open();
+    };
+
+    loadingTask.onProgress = ({
+      loaded,
+      total
+    }) => {
+      this.progress(loaded / total);
+    };
+
+    loadingTask.onUnsupportedFeature = this.fallback.bind(this);
+    return loadingTask.promise.then(pdfDocument => {
+      this.load(pdfDocument);
+    }, exception => {
+      if (loadingTask !== this.pdfLoadingTask) {
+        return undefined;
+      }
+
+      const message = exception && exception.message;
+      let loadingErrorMessage;
+
+      if (exception instanceof _pdfjsLib.InvalidPDFException) {
+        loadingErrorMessage = this.l10n.get("invalid_file_error", null, "Invalid or corrupted PDF file.");
+      } else if (exception instanceof _pdfjsLib.MissingPDFException) {
+        loadingErrorMessage = this.l10n.get("missing_file_error", null, "Missing PDF file.");
+      } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) {
+        loadingErrorMessage = this.l10n.get("unexpected_response_error", null, "Unexpected server 
response.");
+      } else {
+        loadingErrorMessage = this.l10n.get("loading_error", null, "An error occurred while loading the 
PDF.");
+      }
+
+      return loadingErrorMessage.then(msg => {
+        this.error(msg, {
+          message
+        });
+        throw new Error(msg);
+      });
+    });
+  },
 
+  download() {
     function downloadByUrl() {
       downloadManager.downloadUrl(url, filename);
     }
 
-    var url = this.baseUrl;
-    var filename = this.contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url);
-    var downloadManager = this.downloadManager;
+    const url = this.baseUrl;
+    const filename = this.contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url);
+    const downloadManager = this.downloadManager;
 
-    downloadManager.onerror = function (err) {
-      _this3.error("PDF failed to download: ".concat(err));
+    downloadManager.onerror = err => {
+      this.error(`PDF failed to download: ${err}`);
     };
 
     if (!this.pdfDocument || !this.downloadComplete) {
@@ -1111,92 +933,109 @@ var PDFViewerApplication = {
     }
 
     this.pdfDocument.getData().then(function (data) {
-      var blob = new Blob([data], {
-        type: 'application/pdf'
+      const blob = new Blob([data], {
+        type: "application/pdf"
       });
       downloadManager.download(blob, url, filename);
-    })["catch"](downloadByUrl);
+    }).catch(downloadByUrl);
   },
-  fallback: function fallback(featureId) {},
-  error: function error(message, moreInfo) {
-    var moreInfoText = [this.l10n.get('error_version_info', {
-      version: _pdfjsLib.version || '?',
-      build: _pdfjsLib.build || '?'
-    }, 'PDF.js v{{version}} (build: {{build}})')];
+
+  fallback(featureId) {
+    if (this.fellback) {
+      return;
+    }
+
+    this.fellback = true;
+    this.externalServices.fallback({
+      featureId,
+      url: this.baseUrl
+    }, function response(download) {
+      if (!download) {
+        return;
+      }
+
+      PDFViewerApplication.download();
+    });
+  },
+
+  error(message, moreInfo) {
+    const moreInfoText = [this.l10n.get("error_version_info", {
+      version: _pdfjsLib.version || "?",
+      build: _pdfjsLib.build || "?"
+    }, "PDF.js v{{version}} (build: {{build}})")];
 
     if (moreInfo) {
-      moreInfoText.push(this.l10n.get('error_message', {
+      moreInfoText.push(this.l10n.get("error_message", {
         message: moreInfo.message
-      }, 'Message: {{message}}'));
+      }, "Message: {{message}}"));
 
       if (moreInfo.stack) {
-        moreInfoText.push(this.l10n.get('error_stack', {
+        moreInfoText.push(this.l10n.get("error_stack", {
           stack: moreInfo.stack
-        }, 'Stack: {{stack}}'));
+        }, "Stack: {{stack}}"));
       } else {
         if (moreInfo.filename) {
-          moreInfoText.push(this.l10n.get('error_file', {
+          moreInfoText.push(this.l10n.get("error_file", {
             file: moreInfo.filename
-          }, 'File: {{file}}'));
+          }, "File: {{file}}"));
         }
 
         if (moreInfo.lineNumber) {
-          moreInfoText.push(this.l10n.get('error_line', {
+          moreInfoText.push(this.l10n.get("error_line", {
             line: moreInfo.lineNumber
-          }, 'Line: {{line}}'));
+          }, "Line: {{line}}"));
         }
       }
     }
 
-    var errorWrapperConfig = this.appConfig.errorWrapper;
-    var errorWrapper = errorWrapperConfig.container;
-    errorWrapper.removeAttribute('hidden');
-    var errorMessage = errorWrapperConfig.errorMessage;
+    const errorWrapperConfig = this.appConfig.errorWrapper;
+    const errorWrapper = errorWrapperConfig.container;
+    errorWrapper.removeAttribute("hidden");
+    const errorMessage = errorWrapperConfig.errorMessage;
     errorMessage.textContent = message;
-    var closeButton = errorWrapperConfig.closeButton;
+    const closeButton = errorWrapperConfig.closeButton;
 
     closeButton.onclick = function () {
-      errorWrapper.setAttribute('hidden', 'true');
+      errorWrapper.setAttribute("hidden", "true");
     };
 
-    var errorMoreInfo = errorWrapperConfig.errorMoreInfo;
-    var moreInfoButton = errorWrapperConfig.moreInfoButton;
-    var lessInfoButton = errorWrapperConfig.lessInfoButton;
+    const errorMoreInfo = errorWrapperConfig.errorMoreInfo;
+    const moreInfoButton = errorWrapperConfig.moreInfoButton;
+    const lessInfoButton = errorWrapperConfig.lessInfoButton;
 
     moreInfoButton.onclick = function () {
-      errorMoreInfo.removeAttribute('hidden');
-      moreInfoButton.setAttribute('hidden', 'true');
-      lessInfoButton.removeAttribute('hidden');
-      errorMoreInfo.style.height = errorMoreInfo.scrollHeight + 'px';
+      errorMoreInfo.removeAttribute("hidden");
+      moreInfoButton.setAttribute("hidden", "true");
+      lessInfoButton.removeAttribute("hidden");
+      errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px";
     };
 
     lessInfoButton.onclick = function () {
-      errorMoreInfo.setAttribute('hidden', 'true');
-      moreInfoButton.removeAttribute('hidden');
-      lessInfoButton.setAttribute('hidden', 'true');
+      errorMoreInfo.setAttribute("hidden", "true");
+      moreInfoButton.removeAttribute("hidden");
+      lessInfoButton.setAttribute("hidden", "true");
     };
 
     moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
     lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
     closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;
-    moreInfoButton.removeAttribute('hidden');
-    lessInfoButton.setAttribute('hidden', 'true');
-    Promise.all(moreInfoText).then(function (parts) {
-      errorMoreInfo.value = parts.join('\n');
+    moreInfoButton.removeAttribute("hidden");
+    lessInfoButton.setAttribute("hidden", "true");
+    Promise.all(moreInfoText).then(parts => {
+      errorMoreInfo.value = parts.join("\n");
     });
   },
-  progress: function progress(level) {
-    var _this4 = this;
 
+  progress(level) {
     if (this.downloadComplete) {
       return;
     }
 
-    var percent = Math.round(level * 100);
+    const percent = Math.round(level * 100);
 
     if (percent > this.loadingBar.percent || isNaN(percent)) {
       this.loadingBar.percent = percent;
-      var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams['disableAutoFetch'] : 
_app_options.AppOptions.get('disableAutoFetch');
+      const disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams["disableAutoFetch"] : 
_app_options.AppOptions.get("disableAutoFetch");
 
       if (disableAutoFetch && percent) {
         if (this.disableAutoFetchLoadingBarTimeout) {
@@ -1205,185 +1044,152 @@ var PDFViewerApplication = {
         }
 
         this.loadingBar.show();
-        this.disableAutoFetchLoadingBarTimeout = setTimeout(function () {
-          _this4.loadingBar.hide();
-
-          _this4.disableAutoFetchLoadingBarTimeout = null;
+        this.disableAutoFetchLoadingBarTimeout = setTimeout(() => {
+          this.loadingBar.hide();
+          this.disableAutoFetchLoadingBarTimeout = null;
         }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);
       }
     }
   },
-  load: function load(pdfDocument) {
-    var _this5 = this;
 
+  load(pdfDocument) {
     this.pdfDocument = pdfDocument;
-    pdfDocument.getDownloadInfo().then(function () {
-      _this5.downloadComplete = true;
-
-      _this5.loadingBar.hide();
-
-      firstPagePromise.then(function () {
-        _this5.eventBus.dispatch('documentloaded', {
-          source: _this5
+    pdfDocument.getDownloadInfo().then(() => {
+      this.downloadComplete = true;
+      this.loadingBar.hide();
+      firstPagePromise.then(() => {
+        this.eventBus.dispatch("documentloaded", {
+          source: this
         });
       });
     });
-    var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {});
-    var pageModePromise = pdfDocument.getPageMode()["catch"](function () {});
-    var openActionDestPromise = pdfDocument.getOpenActionDestination()["catch"](function () {});
+    const pageLayoutPromise = pdfDocument.getPageLayout().catch(function () {});
+    const pageModePromise = pdfDocument.getPageMode().catch(function () {});
+    const openActionPromise = pdfDocument.getOpenAction().catch(function () {});
     this.toolbar.setPagesCount(pdfDocument.numPages, false);
     this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
-    var store = this.store = new _view_history.ViewHistory(pdfDocument.fingerprint);
-    var baseDocumentUrl;
+    const store = this.store = new _view_history.ViewHistory(pdfDocument.fingerprint);
+    let baseDocumentUrl;
     baseDocumentUrl = null;
     this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);
     this.pdfDocumentProperties.setDocument(pdfDocument, this.url);
-    var pdfViewer = this.pdfViewer;
+    const pdfViewer = this.pdfViewer;
     pdfViewer.setDocument(pdfDocument);
-    var firstPagePromise = pdfViewer.firstPagePromise;
-    var pagesPromise = pdfViewer.pagesPromise;
-    var onePageRendered = pdfViewer.onePageRendered;
-    var pdfThumbnailViewer = this.pdfThumbnailViewer;
+    const {
+      firstPagePromise,
+      onePageRendered,
+      pagesPromise
+    } = pdfViewer;
+    const pdfThumbnailViewer = this.pdfThumbnailViewer;
     pdfThumbnailViewer.setDocument(pdfDocument);
-    firstPagePromise.then(function (pdfPage) {
-      _this5.loadingBar.setWidth(_this5.appConfig.viewerContainer);
-
-      var storePromise = store.getMultiple({
+    firstPagePromise.then(pdfPage => {
+      this.loadingBar.setWidth(this.appConfig.viewerContainer);
+      const storePromise = store.getMultiple({
         page: null,
         zoom: _ui_utils.DEFAULT_SCALE_VALUE,
-        scrollLeft: '0',
-        scrollTop: '0',
+        scrollLeft: "0",
+        scrollTop: "0",
         rotation: null,
         sidebarView: _pdf_sidebar.SidebarView.UNKNOWN,
         scrollMode: _ui_utils.ScrollMode.UNKNOWN,
         spreadMode: _ui_utils.SpreadMode.UNKNOWN
-      })["catch"](function () {});
-      Promise.all([_ui_utils.animationStarted, storePromise, pageLayoutPromise, pageModePromise, 
openActionDestPromise]).then(
-      /*#__PURE__*/
-      function () {
-        var _ref3 = _asyncToGenerator(
-        /*#__PURE__*/
-        _regenerator["default"].mark(function _callee8(_ref2) {
-          var _ref4, timeStamp, _ref4$, values, pageLayout, pageMode, openActionDest, viewOnLoad, 
initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode;
-
-          return _regenerator["default"].wrap(function _callee8$(_context8) {
-            while (1) {
-              switch (_context8.prev = _context8.next) {
-                case 0:
-                  _ref4 = _slicedToArray(_ref2, 5), timeStamp = _ref4[0], _ref4$ = _ref4[1], values = _ref4$ 
=== void 0 ? {} : _ref4$, pageLayout = _ref4[2], pageMode = _ref4[3], openActionDest = _ref4[4];
-                  viewOnLoad = _app_options.AppOptions.get('viewOnLoad');
-
-                  _this5._initializePdfHistory({
-                    fingerprint: pdfDocument.fingerprint,
-                    viewOnLoad: viewOnLoad,
-                    initialDest: openActionDest
-                  });
-
-                  initialBookmark = _this5.initialBookmark;
-                  zoom = _app_options.AppOptions.get('defaultZoomValue');
-                  hash = zoom ? "zoom=".concat(zoom) : null;
-                  rotation = null;
-                  sidebarView = _app_options.AppOptions.get('sidebarViewOnLoad');
-                  scrollMode = _app_options.AppOptions.get('scrollModeOnLoad');
-                  spreadMode = _app_options.AppOptions.get('spreadModeOnLoad');
-
-                  if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) {
-                    hash = "page=".concat(values.page, "&zoom=").concat(zoom || values.zoom, ",") + 
"".concat(values.scrollLeft, ",").concat(values.scrollTop);
-                    rotation = parseInt(values.rotation, 10);
-
-                    if (sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
-                      sidebarView = values.sidebarView | 0;
-                    }
-
-                    if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
-                      scrollMode = values.scrollMode | 0;
-                    }
-
-                    if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
-                      spreadMode = values.spreadMode | 0;
-                    }
-                  }
-
-                  if (pageMode && sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
-                    sidebarView = apiPageModeToSidebarView(pageMode);
-                  }
-
-                  if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
-                    spreadMode = apiPageLayoutToSpreadMode(pageLayout);
-                  }
-
-                  _this5.setInitialView(hash, {
-                    rotation: rotation,
-                    sidebarView: sidebarView,
-                    scrollMode: scrollMode,
-                    spreadMode: spreadMode
-                  });
-
-                  _this5.eventBus.dispatch('documentinit', {
-                    source: _this5
-                  });
-
-                  if (!_this5.isViewerEmbedded) {
-                    pdfViewer.focus();
-                  }
-
-                  _context8.next = 18;
-                  return Promise.race([pagesPromise, new Promise(function (resolve) {
-                    setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
-                  })]);
-
-                case 18:
-                  if (!(!initialBookmark && !hash)) {
-                    _context8.next = 20;
-                    break;
-                  }
-
-                  return _context8.abrupt("return");
-
-                case 20:
-                  if (!pdfViewer.hasEqualPageSizes) {
-                    _context8.next = 22;
-                    break;
-                  }
-
-                  return _context8.abrupt("return");
-
-                case 22:
-                  _this5.initialBookmark = initialBookmark;
-                  pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
-
-                  _this5.setInitialView(hash);
-
-                case 25:
-                case "end":
-                  return _context8.stop();
-              }
-            }
-          }, _callee8);
-        }));
+      }).catch(() => {});
+      Promise.all([_ui_utils.animationStarted, storePromise, pageLayoutPromise, pageModePromise, 
openActionPromise]).then(async ([timeStamp, values = {}, pageLayout, pageMode, openAction]) => {
+        const viewOnLoad = _app_options.AppOptions.get("viewOnLoad");
+
+        this._initializePdfHistory({
+          fingerprint: pdfDocument.fingerprint,
+          viewOnLoad,
+          initialDest: openAction && openAction.dest
+        });
 
-        return function (_x4) {
-          return _ref3.apply(this, arguments);
-        };
-      }())["catch"](function () {
-        _this5.setInitialView();
+        const initialBookmark = this.initialBookmark;
+
+        const zoom = _app_options.AppOptions.get("defaultZoomValue");
+
+        let hash = zoom ? `zoom=${zoom}` : null;
+        let rotation = null;
+
+        let sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
+
+        let scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
+
+        let spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
+
+        if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) {
+          hash = `page=${values.page}&zoom=${zoom || values.zoom},` + 
`${values.scrollLeft},${values.scrollTop}`;
+          rotation = parseInt(values.rotation, 10);
+
+          if (sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
+            sidebarView = values.sidebarView | 0;
+          }
+
+          if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
+            scrollMode = values.scrollMode | 0;
+          }
+
+          if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
+            spreadMode = values.spreadMode | 0;
+          }
+        }
+
+        if (pageMode && sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
+          sidebarView = apiPageModeToSidebarView(pageMode);
+        }
+
+        if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
+          spreadMode = apiPageLayoutToSpreadMode(pageLayout);
+        }
+
+        this.setInitialView(hash, {
+          rotation,
+          sidebarView,
+          scrollMode,
+          spreadMode
+        });
+        this.eventBus.dispatch("documentinit", {
+          source: this
+        });
+
+        if (!this.isViewerEmbedded) {
+          pdfViewer.focus();
+        }
+
+        await Promise.race([pagesPromise, new Promise(resolve => {
+          setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
+        })]);
+
+        if (!initialBookmark && !hash) {
+          return;
+        }
+
+        if (pdfViewer.hasEqualPageSizes) {
+          return;
+        }
+
+        this.initialBookmark = initialBookmark;
+        pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
+        this.setInitialView(hash);
+      }).catch(() => {
+        this.setInitialView();
       }).then(function () {
         pdfViewer.update();
       });
     });
-    pdfDocument.getPageLabels().then(function (labels) {
-      if (!labels || _app_options.AppOptions.get('disablePageLabels')) {
+    pdfDocument.getPageLabels().then(labels => {
+      if (!labels || _app_options.AppOptions.get("disablePageLabels")) {
         return;
       }
 
-      var i = 0,
-          numLabels = labels.length;
+      const numLabels = labels.length;
 
-      if (numLabels !== _this5.pagesCount) {
-        console.error('The number of Page Labels does not match ' + 'the number of pages in the document.');
+      if (numLabels !== this.pagesCount) {
+        console.error("The number of Page Labels does not match " + "the number of pages in the document.");
         return;
       }
 
+      let i = 0;
+
       while (i < numLabels && labels[i] === (i + 1).toString()) {
         i++;
       }
@@ -1394,107 +1200,145 @@ var PDFViewerApplication = {
 
       pdfViewer.setPageLabels(labels);
       pdfThumbnailViewer.setPageLabels(labels);
-
-      _this5.toolbar.setPagesCount(pdfDocument.numPages, true);
-
-      _this5.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
+      this.toolbar.setPagesCount(pdfDocument.numPages, true);
+      this.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
     });
-    pagesPromise.then(function () {
-      if (!_this5.supportsPrinting) {
-        return;
-      }
+    pagesPromise.then(async () => {
+      const [openAction, javaScript] = await Promise.all([openActionPromise, pdfDocument.getJavaScript()]);
+      let triggerAutoPrint = false;
 
-      pdfDocument.getJavaScript().then(function (javaScript) {
-        if (!javaScript) {
-          return;
-        }
+      if (openAction && openAction.action === "Print") {
+        triggerAutoPrint = true;
+      }
 
-        javaScript.some(function (js) {
+      if (javaScript) {
+        javaScript.some(js => {
           if (!js) {
             return false;
           }
 
-          console.warn('Warning: JavaScript is not supported');
-
-          _this5.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
-
+          console.warn("Warning: JavaScript is not supported");
+          this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
           return true;
         });
-        var regex = /\bprint\s*\(/;
-
-        for (var i = 0, ii = javaScript.length; i < ii; i++) {
-          var js = javaScript[i];
 
-          if (js && regex.test(js)) {
-            setTimeout(function () {
-              window.print();
-            });
-            return;
+        if (!triggerAutoPrint) {
+          for (const js of javaScript) {
+            if (js && _ui_utils.AutoPrintRegExp.test(js)) {
+              triggerAutoPrint = true;
+              break;
+            }
           }
         }
-      });
+      }
+
+      if (!this.supportsPrinting) {
+        return;
+      }
+
+      if (triggerAutoPrint) {
+        setTimeout(function () {
+          window.print();
+        });
+      }
     });
-    onePageRendered.then(function () {
-      pdfDocument.getOutline().then(function (outline) {
-        _this5.pdfOutlineViewer.render({
-          outline: outline
+    onePageRendered.then(() => {
+      pdfDocument.getOutline().then(outline => {
+        this.pdfOutlineViewer.render({
+          outline
         });
       });
-      pdfDocument.getAttachments().then(function (attachments) {
-        _this5.pdfAttachmentViewer.render({
-          attachments: attachments
+      pdfDocument.getAttachments().then(attachments => {
+        this.pdfAttachmentViewer.render({
+          attachments
         });
       });
     });
-    pdfDocument.getMetadata().then(function (_ref5) {
-      var info = _ref5.info,
-          metadata = _ref5.metadata,
-          contentDispositionFilename = _ref5.contentDispositionFilename;
-      _this5.documentInfo = info;
-      _this5.metadata = metadata;
-      _this5.contentDispositionFilename = contentDispositionFilename;
-      console.log('PDF ' + pdfDocument.fingerprint + ' [' + info.PDFFormatVersion + ' ' + (info.Producer || 
'-').trim() + ' / ' + (info.Creator || '-').trim() + ']' + ' (PDF.js: ' + (_pdfjsLib.version || '-') + 
(_app_options.AppOptions.get('enableWebGL') ? ' [WebGL]' : '') + ')');
-      var pdfTitle;
-
-      if (metadata && metadata.has('dc:title')) {
-        var title = metadata.get('dc:title');
-
-        if (title !== 'Untitled') {
-          pdfTitle = title;
-        }
+    pdfDocument.getMetadata().then(({
+      info,
+      metadata,
+      contentDispositionFilename
+    }) => {
+      this.documentInfo = info;
+      this.metadata = metadata;
+      this.contentDispositionFilename = contentDispositionFilename;
+      console.log("PDF " + pdfDocument.fingerprint + " [" + info.PDFFormatVersion + " " + (info.Producer || 
"-").trim() + " / " + (info.Creator || "-").trim() + "]" + " (PDF.js: " + (_pdfjsLib.version || "-") + 
(_app_options.AppOptions.get("enableWebGL") ? " [WebGL]" : "") + ")");
+      let pdfTitle;
+      const infoTitle = info && info["Title"];
+
+      if (infoTitle) {
+        pdfTitle = infoTitle;
       }
 
-      if (!pdfTitle && info && info['Title']) {
-        pdfTitle = info['Title'];
+      const metadataTitle = metadata && metadata.get("dc:title");
+
+      if (metadataTitle) {
+        if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
+          pdfTitle = metadataTitle;
+        }
       }
 
       if (pdfTitle) {
-        _this5.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title));
+        this.setTitle(`${pdfTitle} - ${contentDispositionFilename || document.title}`);
       } else if (contentDispositionFilename) {
-        _this5.setTitle(contentDispositionFilename);
+        this.setTitle(contentDispositionFilename);
       }
 
       if (info.IsAcroFormPresent) {
-        console.warn('Warning: AcroForm/XFA is not supported');
+        console.warn("Warning: AcroForm/XFA is not supported");
+        this.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
+      }
+
+      let versionId = "other";
+      const KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", 
"2.1", "2.2", "2.3"];
+
+      if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {
+        versionId = `v${info.PDFFormatVersion.replace(".", "_")}`;
+      }
 
-        _this5.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
+      let generatorId = "other";
+      const KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf 
library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", 
"itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", 
"pdf-xchange", "antenna house", "aspose.cells", "fpdf"];
+
+      if (info.Producer) {
+        const producer = info.Producer.toLowerCase();
+        KNOWN_GENERATORS.some(function (generator) {
+          if (!producer.includes(generator)) {
+            return false;
+          }
+
+          generatorId = generator.replace(/[ .\-]/g, "_");
+          return true;
+        });
+      }
+
+      let formType = null;
+
+      if (info.IsAcroFormPresent) {
+        formType = info.IsXFAPresent ? "xfa" : "acroform";
       }
+
+      this.externalServices.reportTelemetry({
+        type: "documentInfo",
+        version: versionId,
+        generator: generatorId,
+        formType
+      });
     });
   },
-  _initializePdfHistory: function _initializePdfHistory(_ref6) {
-    var fingerprint = _ref6.fingerprint,
-        viewOnLoad = _ref6.viewOnLoad,
-        _ref6$initialDest = _ref6.initialDest,
-        initialDest = _ref6$initialDest === void 0 ? null : _ref6$initialDest;
 
-    if (_app_options.AppOptions.get('disableHistory') || this.isViewerEmbedded) {
+  _initializePdfHistory({
+    fingerprint,
+    viewOnLoad,
+    initialDest = null
+  }) {
+    if (_app_options.AppOptions.get("disableHistory") || this.isViewerEmbedded) {
       return;
     }
 
     this.pdfHistory.initialize({
-      fingerprint: fingerprint,
+      fingerprint,
       resetHistory: viewOnLoad === ViewOnLoad.INITIAL,
-      updateUrl: _app_options.AppOptions.get('historyUpdateUrl')
+      updateUrl: _app_options.AppOptions.get("historyUpdateUrl")
     });
 
     if (this.pdfHistory.initialBookmark) {
@@ -1510,28 +1354,26 @@ var PDFViewerApplication = {
       });
     }
   },
-  setInitialView: function setInitialView(storedHash) {
-    var _this6 = this;
 
-    var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-        rotation = _ref7.rotation,
-        sidebarView = _ref7.sidebarView,
-        scrollMode = _ref7.scrollMode,
-        spreadMode = _ref7.spreadMode;
-
-    var setRotation = function setRotation(angle) {
+  setInitialView(storedHash, {
+    rotation,
+    sidebarView,
+    scrollMode,
+    spreadMode
+  } = {}) {
+    const setRotation = angle => {
       if ((0, _ui_utils.isValidRotation)(angle)) {
-        _this6.pdfViewer.pagesRotation = angle;
+        this.pdfViewer.pagesRotation = angle;
       }
     };
 
-    var setViewerModes = function setViewerModes(scroll, spread) {
+    const setViewerModes = (scroll, spread) => {
       if ((0, _ui_utils.isValidScrollMode)(scroll)) {
-        _this6.pdfViewer.scrollMode = scroll;
+        this.pdfViewer.scrollMode = scroll;
       }
 
       if ((0, _ui_utils.isValidSpreadMode)(spread)) {
-        _this6.pdfViewer.spreadMode = spread;
+        this.pdfViewer.spreadMode = spread;
       }
     };
 
@@ -1556,7 +1398,8 @@ var PDFViewerApplication = {
       this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
     }
   },
-  cleanup: function cleanup() {
+
+  cleanup() {
     if (!this.pdfDocument) {
       return;
     }
@@ -1568,40 +1411,44 @@ var PDFViewerApplication = {
       this.pdfDocument.cleanup();
     }
   },
-  forceRendering: function forceRendering() {
+
+  forceRendering() {
     this.pdfRenderingQueue.printing = this.printing;
     this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;
     this.pdfRenderingQueue.renderHighestPriority();
   },
-  beforePrint: function beforePrint() {
-    var _this7 = this;
 
+  beforePrint() {
     if (this.printService) {
       return;
     }
 
     if (!this.supportsPrinting) {
-      this.l10n.get('printing_not_supported', null, 'Warning: Printing is not fully supported by ' + 'this 
browser.').then(function (printMessage) {
-        _this7.error(printMessage);
+      this.l10n.get("printing_not_supported", null, "Warning: Printing is not fully supported by this 
browser.").then(printMessage => {
+        this.error(printMessage);
       });
       return;
     }
 
     if (!this.pdfViewer.pageViewsReady) {
-      this.l10n.get('printing_not_ready', null, 'Warning: The PDF is not fully loaded for 
printing.').then(function (notReadyMessage) {
+      this.l10n.get("printing_not_ready", null, "Warning: The PDF is not fully loaded for 
printing.").then(notReadyMessage => {
         window.alert(notReadyMessage);
       });
       return;
     }
 
-    var pagesOverview = this.pdfViewer.getPagesOverview();
-    var printContainer = this.appConfig.printContainer;
-    var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, 
printContainer, this.l10n);
+    const pagesOverview = this.pdfViewer.getPagesOverview();
+    const printContainer = this.appConfig.printContainer;
+    const printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, 
printContainer, this.l10n);
     this.printService = printService;
     this.forceRendering();
     printService.layout();
+    this.externalServices.reportTelemetry({
+      type: "print"
+    });
   },
-  afterPrint: function afterPrint() {
+
+  afterPrint() {
     if (this.printService) {
       this.printService.destroy();
       this.printService = null;
@@ -1609,196 +1456,287 @@ var PDFViewerApplication = {
 
     this.forceRendering();
   },
-  rotatePages: function rotatePages(delta) {
+
+  rotatePages(delta) {
     if (!this.pdfDocument) {
       return;
     }
 
-    var newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360;
+    const newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360;
     this.pdfViewer.pagesRotation = newRotation;
   },
-  requestPresentationMode: function requestPresentationMode() {
+
+  requestPresentationMode() {
     if (!this.pdfPresentationMode) {
       return;
     }
 
     this.pdfPresentationMode.request();
   },
-  bindEvents: function bindEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
+
+  bindEvents() {
+    const {
+      eventBus,
+      _boundEvents
+    } = this;
     _boundEvents.beforePrint = this.beforePrint.bind(this);
     _boundEvents.afterPrint = this.afterPrint.bind(this);
-    eventBus.on('resize', webViewerResize);
-    eventBus.on('hashchange', webViewerHashchange);
-    eventBus.on('beforeprint', _boundEvents.beforePrint);
-    eventBus.on('afterprint', _boundEvents.afterPrint);
-    eventBus.on('pagerendered', webViewerPageRendered);
-    eventBus.on('textlayerrendered', webViewerTextLayerRendered);
-    eventBus.on('updateviewarea', webViewerUpdateViewarea);
-    eventBus.on('pagechanging', webViewerPageChanging);
-    eventBus.on('scalechanging', webViewerScaleChanging);
-    eventBus.on('rotationchanging', webViewerRotationChanging);
-    eventBus.on('sidebarviewchanged', webViewerSidebarViewChanged);
-    eventBus.on('pagemode', webViewerPageMode);
-    eventBus.on('namedaction', webViewerNamedAction);
-    eventBus.on('presentationmodechanged', webViewerPresentationModeChanged);
-    eventBus.on('presentationmode', webViewerPresentationMode);
-    eventBus.on('openfile', webViewerOpenFile);
-    eventBus.on('print', webViewerPrint);
-    eventBus.on('download', webViewerDownload);
-    eventBus.on('firstpage', webViewerFirstPage);
-    eventBus.on('lastpage', webViewerLastPage);
-    eventBus.on('nextpage', webViewerNextPage);
-    eventBus.on('previouspage', webViewerPreviousPage);
-    eventBus.on('zoomin', webViewerZoomIn);
-    eventBus.on('zoomout', webViewerZoomOut);
-    eventBus.on('zoomreset', webViewerZoomReset);
-    eventBus.on('pagenumberchanged', webViewerPageNumberChanged);
-    eventBus.on('scalechanged', webViewerScaleChanged);
-    eventBus.on('rotatecw', webViewerRotateCw);
-    eventBus.on('rotateccw', webViewerRotateCcw);
-    eventBus.on('switchscrollmode', webViewerSwitchScrollMode);
-    eventBus.on('scrollmodechanged', webViewerScrollModeChanged);
-    eventBus.on('switchspreadmode', webViewerSwitchSpreadMode);
-    eventBus.on('spreadmodechanged', webViewerSpreadModeChanged);
-    eventBus.on('documentproperties', webViewerDocumentProperties);
-    eventBus.on('find', webViewerFind);
-    eventBus.on('findfromurlhash', webViewerFindFromUrlHash);
-    eventBus.on('updatefindmatchescount', webViewerUpdateFindMatchesCount);
-    eventBus.on('updatefindcontrolstate', webViewerUpdateFindControlState);
-    eventBus.on('fileinputchange', webViewerFileInputChange);
+
+    eventBus._on("resize", webViewerResize);
+
+    eventBus._on("hashchange", webViewerHashchange);
+
+    eventBus._on("beforeprint", _boundEvents.beforePrint);
+
+    eventBus._on("afterprint", _boundEvents.afterPrint);
+
+    eventBus._on("pagerendered", webViewerPageRendered);
+
+    eventBus._on("updateviewarea", webViewerUpdateViewarea);
+
+    eventBus._on("pagechanging", webViewerPageChanging);
+
+    eventBus._on("scalechanging", webViewerScaleChanging);
+
+    eventBus._on("rotationchanging", webViewerRotationChanging);
+
+    eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged);
+
+    eventBus._on("pagemode", webViewerPageMode);
+
+    eventBus._on("namedaction", webViewerNamedAction);
+
+    eventBus._on("presentationmodechanged", webViewerPresentationModeChanged);
+
+    eventBus._on("presentationmode", webViewerPresentationMode);
+
+    eventBus._on("print", webViewerPrint);
+
+    eventBus._on("download", webViewerDownload);
+
+    eventBus._on("firstpage", webViewerFirstPage);
+
+    eventBus._on("lastpage", webViewerLastPage);
+
+    eventBus._on("nextpage", webViewerNextPage);
+
+    eventBus._on("previouspage", webViewerPreviousPage);
+
+    eventBus._on("zoomin", webViewerZoomIn);
+
+    eventBus._on("zoomout", webViewerZoomOut);
+
+    eventBus._on("zoomreset", webViewerZoomReset);
+
+    eventBus._on("pagenumberchanged", webViewerPageNumberChanged);
+
+    eventBus._on("scalechanged", webViewerScaleChanged);
+
+    eventBus._on("rotatecw", webViewerRotateCw);
+
+    eventBus._on("rotateccw", webViewerRotateCcw);
+
+    eventBus._on("switchscrollmode", webViewerSwitchScrollMode);
+
+    eventBus._on("scrollmodechanged", webViewerScrollModeChanged);
+
+    eventBus._on("switchspreadmode", webViewerSwitchSpreadMode);
+
+    eventBus._on("spreadmodechanged", webViewerSpreadModeChanged);
+
+    eventBus._on("documentproperties", webViewerDocumentProperties);
+
+    eventBus._on("find", webViewerFind);
+
+    eventBus._on("findfromurlhash", webViewerFindFromUrlHash);
+
+    eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount);
+
+    eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState);
+
+    eventBus._on("fileinputchange", webViewerFileInputChange);
+
+    eventBus._on("openfile", webViewerOpenFile);
   },
-  bindWindowEvents: function bindWindowEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
 
-    _boundEvents.windowResize = function () {
-      eventBus.dispatch('resize', {
+  bindWindowEvents() {
+    const {
+      eventBus,
+      _boundEvents
+    } = this;
+
+    _boundEvents.windowResize = () => {
+      eventBus.dispatch("resize", {
         source: window
       });
     };
 
-    _boundEvents.windowHashChange = function () {
-      eventBus.dispatch('hashchange', {
+    _boundEvents.windowHashChange = () => {
+      eventBus.dispatch("hashchange", {
         source: window,
         hash: document.location.hash.substring(1)
       });
     };
 
-    _boundEvents.windowBeforePrint = function () {
-      eventBus.dispatch('beforeprint', {
+    _boundEvents.windowBeforePrint = () => {
+      eventBus.dispatch("beforeprint", {
         source: window
       });
     };
 
-    _boundEvents.windowAfterPrint = function () {
-      eventBus.dispatch('afterprint', {
+    _boundEvents.windowAfterPrint = () => {
+      eventBus.dispatch("afterprint", {
         source: window
       });
     };
 
-    window.addEventListener('visibilitychange', webViewerVisibilityChange);
-    window.addEventListener('wheel', webViewerWheel, {
+    window.addEventListener("visibilitychange", webViewerVisibilityChange);
+    window.addEventListener("wheel", webViewerWheel, {
       passive: false
     });
-    window.addEventListener('click', webViewerClick);
-    window.addEventListener('keydown', webViewerKeyDown);
-    window.addEventListener('resize', _boundEvents.windowResize);
-    window.addEventListener('hashchange', _boundEvents.windowHashChange);
-    window.addEventListener('beforeprint', _boundEvents.windowBeforePrint);
-    window.addEventListener('afterprint', _boundEvents.windowAfterPrint);
+    window.addEventListener("click", webViewerClick);
+    window.addEventListener("keydown", webViewerKeyDown);
+    window.addEventListener("resize", _boundEvents.windowResize);
+    window.addEventListener("hashchange", _boundEvents.windowHashChange);
+    window.addEventListener("beforeprint", _boundEvents.windowBeforePrint);
+    window.addEventListener("afterprint", _boundEvents.windowAfterPrint);
   },
-  unbindEvents: function unbindEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
-    eventBus.off('resize', webViewerResize);
-    eventBus.off('hashchange', webViewerHashchange);
-    eventBus.off('beforeprint', _boundEvents.beforePrint);
-    eventBus.off('afterprint', _boundEvents.afterPrint);
-    eventBus.off('pagerendered', webViewerPageRendered);
-    eventBus.off('textlayerrendered', webViewerTextLayerRendered);
-    eventBus.off('updateviewarea', webViewerUpdateViewarea);
-    eventBus.off('pagechanging', webViewerPageChanging);
-    eventBus.off('scalechanging', webViewerScaleChanging);
-    eventBus.off('rotationchanging', webViewerRotationChanging);
-    eventBus.off('sidebarviewchanged', webViewerSidebarViewChanged);
-    eventBus.off('pagemode', webViewerPageMode);
-    eventBus.off('namedaction', webViewerNamedAction);
-    eventBus.off('presentationmodechanged', webViewerPresentationModeChanged);
-    eventBus.off('presentationmode', webViewerPresentationMode);
-    eventBus.off('openfile', webViewerOpenFile);
-    eventBus.off('print', webViewerPrint);
-    eventBus.off('download', webViewerDownload);
-    eventBus.off('firstpage', webViewerFirstPage);
-    eventBus.off('lastpage', webViewerLastPage);
-    eventBus.off('nextpage', webViewerNextPage);
-    eventBus.off('previouspage', webViewerPreviousPage);
-    eventBus.off('zoomin', webViewerZoomIn);
-    eventBus.off('zoomout', webViewerZoomOut);
-    eventBus.off('zoomreset', webViewerZoomReset);
-    eventBus.off('pagenumberchanged', webViewerPageNumberChanged);
-    eventBus.off('scalechanged', webViewerScaleChanged);
-    eventBus.off('rotatecw', webViewerRotateCw);
-    eventBus.off('rotateccw', webViewerRotateCcw);
-    eventBus.off('switchscrollmode', webViewerSwitchScrollMode);
-    eventBus.off('scrollmodechanged', webViewerScrollModeChanged);
-    eventBus.off('switchspreadmode', webViewerSwitchSpreadMode);
-    eventBus.off('spreadmodechanged', webViewerSpreadModeChanged);
-    eventBus.off('documentproperties', webViewerDocumentProperties);
-    eventBus.off('find', webViewerFind);
-    eventBus.off('findfromurlhash', webViewerFindFromUrlHash);
-    eventBus.off('updatefindmatchescount', webViewerUpdateFindMatchesCount);
-    eventBus.off('updatefindcontrolstate', webViewerUpdateFindControlState);
-    eventBus.off('fileinputchange', webViewerFileInputChange);
+
+  unbindEvents() {
+    const {
+      eventBus,
+      _boundEvents
+    } = this;
+
+    eventBus._off("resize", webViewerResize);
+
+    eventBus._off("hashchange", webViewerHashchange);
+
+    eventBus._off("beforeprint", _boundEvents.beforePrint);
+
+    eventBus._off("afterprint", _boundEvents.afterPrint);
+
+    eventBus._off("pagerendered", webViewerPageRendered);
+
+    eventBus._off("updateviewarea", webViewerUpdateViewarea);
+
+    eventBus._off("pagechanging", webViewerPageChanging);
+
+    eventBus._off("scalechanging", webViewerScaleChanging);
+
+    eventBus._off("rotationchanging", webViewerRotationChanging);
+
+    eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged);
+
+    eventBus._off("pagemode", webViewerPageMode);
+
+    eventBus._off("namedaction", webViewerNamedAction);
+
+    eventBus._off("presentationmodechanged", webViewerPresentationModeChanged);
+
+    eventBus._off("presentationmode", webViewerPresentationMode);
+
+    eventBus._off("print", webViewerPrint);
+
+    eventBus._off("download", webViewerDownload);
+
+    eventBus._off("firstpage", webViewerFirstPage);
+
+    eventBus._off("lastpage", webViewerLastPage);
+
+    eventBus._off("nextpage", webViewerNextPage);
+
+    eventBus._off("previouspage", webViewerPreviousPage);
+
+    eventBus._off("zoomin", webViewerZoomIn);
+
+    eventBus._off("zoomout", webViewerZoomOut);
+
+    eventBus._off("zoomreset", webViewerZoomReset);
+
+    eventBus._off("pagenumberchanged", webViewerPageNumberChanged);
+
+    eventBus._off("scalechanged", webViewerScaleChanged);
+
+    eventBus._off("rotatecw", webViewerRotateCw);
+
+    eventBus._off("rotateccw", webViewerRotateCcw);
+
+    eventBus._off("switchscrollmode", webViewerSwitchScrollMode);
+
+    eventBus._off("scrollmodechanged", webViewerScrollModeChanged);
+
+    eventBus._off("switchspreadmode", webViewerSwitchSpreadMode);
+
+    eventBus._off("spreadmodechanged", webViewerSpreadModeChanged);
+
+    eventBus._off("documentproperties", webViewerDocumentProperties);
+
+    eventBus._off("find", webViewerFind);
+
+    eventBus._off("findfromurlhash", webViewerFindFromUrlHash);
+
+    eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount);
+
+    eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState);
+
+    eventBus._off("fileinputchange", webViewerFileInputChange);
+
+    eventBus._off("openfile", webViewerOpenFile);
+
     _boundEvents.beforePrint = null;
     _boundEvents.afterPrint = null;
   },
-  unbindWindowEvents: function unbindWindowEvents() {
-    var _boundEvents = this._boundEvents;
-    window.removeEventListener('visibilitychange', webViewerVisibilityChange);
-    window.removeEventListener('wheel', webViewerWheel);
-    window.removeEventListener('click', webViewerClick);
-    window.removeEventListener('keydown', webViewerKeyDown);
-    window.removeEventListener('resize', _boundEvents.windowResize);
-    window.removeEventListener('hashchange', _boundEvents.windowHashChange);
-    window.removeEventListener('beforeprint', _boundEvents.windowBeforePrint);
-    window.removeEventListener('afterprint', _boundEvents.windowAfterPrint);
+
+  unbindWindowEvents() {
+    const {
+      _boundEvents
+    } = this;
+    window.removeEventListener("visibilitychange", webViewerVisibilityChange);
+    window.removeEventListener("wheel", webViewerWheel);
+    window.removeEventListener("click", webViewerClick);
+    window.removeEventListener("keydown", webViewerKeyDown);
+    window.removeEventListener("resize", _boundEvents.windowResize);
+    window.removeEventListener("hashchange", _boundEvents.windowHashChange);
+    window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint);
+    window.removeEventListener("afterprint", _boundEvents.windowAfterPrint);
     _boundEvents.windowResize = null;
     _boundEvents.windowHashChange = null;
     _boundEvents.windowBeforePrint = null;
     _boundEvents.windowAfterPrint = null;
   }
+
 };
 exports.PDFViewerApplication = PDFViewerApplication;
-var validateFileURL;
+let validateFileURL;
 {
-  var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io'];
+  const HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io";, "https://mozilla.github.io";];
 
-  validateFileURL = function validateFileURL(file) {
+  validateFileURL = function (file) {
     if (file === undefined) {
       return;
     }
 
     try {
-      var viewerOrigin = new URL(window.location.href).origin || 'null';
+      const viewerOrigin = new URL(window.location.href).origin || "null";
 
       if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {
         return;
       }
 
-      var _ref8 = new URL(file, window.location.href),
-          origin = _ref8.origin,
-          protocol = _ref8.protocol;
+      const {
+        origin,
+        protocol
+      } = new URL(file, window.location.href);
 
-      if (origin !== viewerOrigin && protocol !== 'blob:') {
-        throw new Error('file origin does not match viewer\'s');
+      if (origin !== viewerOrigin && protocol !== "blob:") {
+        throw new Error("file origin does not match viewer's");
       }
     } catch (ex) {
-      var message = ex && ex.message;
-      PDFViewerApplication.l10n.get('loading_error', null, 'An error occurred while loading the 
PDF.').then(function (loadingErrorMessage) {
+      const message = ex && ex.message;
+      PDFViewerApplication.l10n.get("loading_error", null, "An error occurred while loading the 
PDF.").then(loadingErrorMessage => {
         PDFViewerApplication.error(loadingErrorMessage, {
-          message: message
+          message
         });
       });
       throw ex;
@@ -1806,35 +1744,34 @@ var validateFileURL;
   };
 }
 
-function loadFakeWorker() {
+async function loadFakeWorker() {
   if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) {
-    _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get('workerSrc');
+    _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc");
   }
 
   return (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc());
 }
 
 function loadAndEnablePDFBug(enabledTabs) {
-  var appConfig = PDFViewerApplication.appConfig;
+  const appConfig = PDFViewerApplication.appConfig;
   return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () {
     PDFBug.enable(enabledTabs);
     PDFBug.init({
-      OPS: _pdfjsLib.OPS,
-      createObjectURL: _pdfjsLib.createObjectURL
+      OPS: _pdfjsLib.OPS
     }, appConfig.mainContainer);
   });
 }
 
 function webViewerInitialized() {
-  var appConfig = PDFViewerApplication.appConfig;
-  var file;
-  var queryString = document.location.search.substring(1);
-  var params = (0, _ui_utils.parseQueryString)(queryString);
+  const appConfig = PDFViewerApplication.appConfig;
+  let file;
+  const queryString = document.location.search.substring(1);
+  const params = (0, _ui_utils.parseQueryString)(queryString);
   file = ''
-  var fileInput = document.createElement('input');
+  const fileInput = document.createElement("input");
   fileInput.id = appConfig.openFileInputName;
-  fileInput.className = 'fileInput';
-  fileInput.setAttribute('type', 'file');
+  fileInput.className = "fileInput";
+  fileInput.setAttribute("type", "file");
   fileInput.oncontextmenu = _ui_utils.noContextMenuHandler;
   document.body.appendChild(fileInput);
 
@@ -1843,53 +1780,61 @@ function webViewerInitialized() {
 
   appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true');
 
-  fileInput.addEventListener('change', function (evt) {
-    var files = evt.target.files;
+  fileInput.addEventListener("change", function (evt) {
+    const files = evt.target.files;
 
     if (!files || files.length === 0) {
       return;
     }
 
-    PDFViewerApplication.eventBus.dispatch('fileinputchange', {
+    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
       source: this,
       fileInput: evt.target
     });
   });
-  appConfig.mainContainer.addEventListener('dragover', function (evt) {
+  appConfig.mainContainer.addEventListener("dragover", function (evt) {
     evt.preventDefault();
-    evt.dataTransfer.dropEffect = 'move';
+    evt.dataTransfer.dropEffect = "move";
   });
-  appConfig.mainContainer.addEventListener('drop', function (evt) {
+  appConfig.mainContainer.addEventListener("drop", function (evt) {
     evt.preventDefault();
-    var files = evt.dataTransfer.files;
+    const files = evt.dataTransfer.files;
 
     if (!files || files.length === 0) {
       return;
     }
 
-    PDFViewerApplication.eventBus.dispatch('fileinputchange', {
+    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
       source: this,
       fileInput: evt.dataTransfer
     });
   });
 
+  if (!PDFViewerApplication.supportsDocumentFonts) {
+    _app_options.AppOptions.set("disableFontFace", true);
+
+    PDFViewerApplication.l10n.get("web_fonts_disabled", null, "Web fonts are disabled: unable to use 
embedded PDF fonts.").then(msg => {
+      console.warn(msg);
+    });
+  }
+
   if (!PDFViewerApplication.supportsPrinting) {
-    appConfig.toolbar.print.classList.add('hidden');
-    appConfig.secondaryToolbar.printButton.classList.add('hidden');
+    appConfig.toolbar.print.classList.add("hidden");
+    appConfig.secondaryToolbar.printButton.classList.add("hidden");
   }
 
   if (!PDFViewerApplication.supportsFullscreen) {
-    appConfig.toolbar.presentationModeButton.classList.add('hidden');
-    appConfig.secondaryToolbar.presentationModeButton.classList.add('hidden');
+    appConfig.toolbar.presentationModeButton.classList.add("hidden");
+    appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden");
   }
 
   if (PDFViewerApplication.supportsIntegratedFind) {
-    appConfig.toolbar.viewFind.classList.add('hidden');
+    appConfig.toolbar.viewFind.classList.add("hidden");
   }
 
-  appConfig.mainContainer.addEventListener('transitionend', function (evt) {
+  appConfig.mainContainer.addEventListener("transitionend", function (evt) {
     if (evt.target === this) {
-      PDFViewerApplication.eventBus.dispatch('resize', {
+      PDFViewerApplication.eventBus.dispatch("resize", {
         source: this
       });
     }
@@ -1905,28 +1850,28 @@ function webViewerInitialized() {
   }
 
   try {
-      PDFViewerApplication.open(array);
-      PDFViewerApplication.setTitleUsingUrl(file_name);
+    PDFViewerApplication.open(array);
+    PDFViewerApplication.setTitleUsingUrl(file_name);
   } catch (reason) {
-    PDFViewerApplication.l10n.get('loading_error', null, 'An error occurred while loading the 
PDF.').then(function (msg) {
+    PDFViewerApplication.l10n.get("loading_error", null, "An error occurred while loading the 
PDF.").then(msg => {
       PDFViewerApplication.error(msg, reason);
     });
   }
 }
 
-var webViewerOpenFileViaURL;
+let webViewerOpenFileViaURL;
 {
-  webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) {
-    if (file && file.lastIndexOf('file:', 0) === 0) {
+  webViewerOpenFileViaURL = function (file) {
+    if (file && file.lastIndexOf("file:", 0) === 0) {
       PDFViewerApplication.setTitleUsingUrl(file);
-      var xhr = new XMLHttpRequest();
+      const xhr = new XMLHttpRequest();
 
       xhr.onload = function () {
         PDFViewerApplication.open(new Uint8Array(xhr.response));
       };
 
-      xhr.open('GET', file);
-      xhr.responseType = 'arraybuffer';
+      xhr.open("GET", file);
+      xhr.responseType = "arraybuffer";
       xhr.send();
       return;
     }
@@ -1938,9 +1883,9 @@ var webViewerOpenFileViaURL;
 }
 
 function webViewerPageRendered(evt) {
-  var pageNumber = evt.pageNumber;
-  var pageIndex = pageNumber - 1;
-  var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
+  const pageNumber = evt.pageNumber;
+  const pageIndex = pageNumber - 1;
+  const pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
 
   if (pageNumber === PDFViewerApplication.page) {
     PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);
@@ -1951,42 +1896,52 @@ function webViewerPageRendered(evt) {
   }
 
   if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
-    var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageIndex);
+    const thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageIndex);
     thumbnailView.setImage(pageView);
   }
 
-  if (typeof Stats !== 'undefined' && Stats.enabled && pageView.stats) {
+  if (typeof Stats !== "undefined" && Stats.enabled && pageView.stats) {
     Stats.add(pageNumber, pageView.stats);
   }
 
   if (pageView.error) {
-    PDFViewerApplication.l10n.get('rendering_error', null, 'An error occurred while rendering the 
page.').then(function (msg) {
+    PDFViewerApplication.l10n.get("rendering_error", null, "An error occurred while rendering the 
page.").then(msg => {
       PDFViewerApplication.error(msg, pageView.error);
     });
   }
-}
 
-function webViewerTextLayerRendered(evt) {}
+  PDFViewerApplication.externalServices.reportTelemetry({
+    type: "pageInfo",
+    timestamp: evt.timestamp
+  });
+  PDFViewerApplication.pdfDocument.getStats().then(function (stats) {
+    PDFViewerApplication.externalServices.reportTelemetry({
+      type: "documentStats",
+      stats
+    });
+  });
+}
 
-function webViewerPageMode(evt) {
-  var mode = evt.mode,
-      view;
+function webViewerPageMode({
+  mode
+}) {
+  let view;
 
   switch (mode) {
-    case 'thumbs':
+    case "thumbs":
       view = _pdf_sidebar.SidebarView.THUMBS;
       break;
 
-    case 'bookmarks':
-    case 'outline':
+    case "bookmarks":
+    case "outline":
       view = _pdf_sidebar.SidebarView.OUTLINE;
       break;
 
-    case 'attachments':
+    case "attachments":
       view = _pdf_sidebar.SidebarView.ATTACHMENTS;
       break;
 
-    case 'none':
+    case "none":
       view = _pdf_sidebar.SidebarView.NONE;
       break;
 
@@ -1999,14 +1954,14 @@ function webViewerPageMode(evt) {
 }
 
 function webViewerNamedAction(evt) {
-  var action = evt.action;
+  const action = evt.action;
 
   switch (action) {
-    case 'GoToPage':
+    case "GoToPage":
       PDFViewerApplication.appConfig.toolbar.pageNumber.select();
       break;
 
-    case 'Find':
+    case "Find":
       if (!PDFViewerApplication.supportsIntegratedFind) {
         PDFViewerApplication.findBar.toggle();
       }
@@ -2015,70 +1970,81 @@ function webViewerNamedAction(evt) {
   }
 }
 
-function webViewerPresentationModeChanged(evt) {
-  var active = evt.active,
-      switchInProgress = evt.switchInProgress;
-  PDFViewerApplication.pdfViewer.presentationModeState = switchInProgress ? 
_ui_utils.PresentationModeState.CHANGING : active ? _ui_utils.PresentationModeState.FULLSCREEN : 
_ui_utils.PresentationModeState.NORMAL;
+function webViewerPresentationModeChanged({
+  active,
+  switchInProgress
+}) {
+  let state = _ui_utils.PresentationModeState.NORMAL;
+
+  if (switchInProgress) {
+    state = _ui_utils.PresentationModeState.CHANGING;
+  } else if (active) {
+    state = _ui_utils.PresentationModeState.FULLSCREEN;
+  }
+
+  PDFViewerApplication.pdfViewer.presentationModeState = state;
 }
 
 function webViewerSidebarViewChanged(evt) {
   PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = 
PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
-  var store = PDFViewerApplication.store;
+  const store = PDFViewerApplication.store;
 
   if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set('sidebarView', evt.view)["catch"](function () {});
+    store.set("sidebarView", evt.view).catch(function () {});
   }
 }
 
 function webViewerUpdateViewarea(evt) {
-  var location = evt.location,
-      store = PDFViewerApplication.store;
+  const location = evt.location,
+        store = PDFViewerApplication.store;
 
   if (store && PDFViewerApplication.isInitialViewSet) {
     store.setMultiple({
-      'page': location.pageNumber,
-      'zoom': location.scale,
-      'scrollLeft': location.left,
-      'scrollTop': location.top,
-      'rotation': location.rotation
-    })["catch"](function () {});
+      page: location.pageNumber,
+      zoom: location.scale,
+      scrollLeft: location.left,
+      scrollTop: location.top,
+      rotation: location.rotation
+    }).catch(function () {});
   }
 
-  var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
+  const href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
   PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
   PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;
-  var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
-  var loading = currentPage.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED;
+  const currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
+  const loading = currentPage.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED;
   PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
 }
 
 function webViewerScrollModeChanged(evt) {
-  var store = PDFViewerApplication.store;
+  const store = PDFViewerApplication.store;
 
   if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set('scrollMode', evt.mode)["catch"](function () {});
+    store.set("scrollMode", evt.mode).catch(function () {});
   }
 }
 
 function webViewerSpreadModeChanged(evt) {
-  var store = PDFViewerApplication.store;
+  const store = PDFViewerApplication.store;
 
   if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set('spreadMode', evt.mode)["catch"](function () {});
+    store.set("spreadMode", evt.mode).catch(function () {});
   }
 }
 
 function webViewerResize() {
-  var pdfDocument = PDFViewerApplication.pdfDocument,
-      pdfViewer = PDFViewerApplication.pdfViewer;
+  const {
+    pdfDocument,
+    pdfViewer
+  } = PDFViewerApplication;
 
   if (!pdfDocument) {
     return;
   }
 
-  var currentScaleValue = pdfViewer.currentScaleValue;
+  const currentScaleValue = pdfViewer.currentScaleValue;
 
-  if (currentScaleValue === 'auto' || currentScaleValue === 'page-fit' || currentScaleValue === 
'page-width') {
+  if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === 
"page-width") {
     pdfViewer.currentScaleValue = currentScaleValue;
   }
 
@@ -2086,7 +2052,7 @@ function webViewerResize() {
 }
 
 function webViewerHashchange(evt) {
-  var hash = evt.hash;
+  const hash = evt.hash;
 
   if (!hash) {
     return;
@@ -2099,21 +2065,21 @@ function webViewerHashchange(evt) {
   }
 }
 
-var webViewerFileInputChange;
+let webViewerFileInputChange, webViewerOpenFile;
 {
-  webViewerFileInputChange = function webViewerFileInputChange(evt) {
+  webViewerFileInputChange = function (evt) {
     if (PDFViewerApplication.pdfViewer && PDFViewerApplication.pdfViewer.isInPresentationMode) {
       return;
     }
 
-    var file = evt.fileInput.files[0];
+    const file = evt.fileInput.files[0];
 
-    if (URL.createObjectURL && !_app_options.AppOptions.get('disableCreateObjectURL')) {
-      var url = URL.createObjectURL(file);
+    if (URL.createObjectURL && !_app_options.AppOptions.get("disableCreateObjectURL")) {
+      let url = URL.createObjectURL(file);
 
       if (file.name) {
         url = {
-          url: url,
+          url,
           originalUrl: file.name
         };
       }
@@ -2121,21 +2087,26 @@ var webViewerFileInputChange;
       PDFViewerApplication.open(url);
     } else {
       PDFViewerApplication.setTitleUsingUrl(file.name);
-      var fileReader = new FileReader();
+      const fileReader = new FileReader();
 
-      fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
-        var buffer = evt.target.result;
+      fileReader.onload = function webViewerChangeFileReaderOnload(event) {
+        const buffer = event.target.result;
         PDFViewerApplication.open(new Uint8Array(buffer));
       };
 
       fileReader.readAsArrayBuffer(file);
     }
 
-    var appConfig = PDFViewerApplication.appConfig;
-    appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true');
-    appConfig.secondaryToolbar.viewBookmarkButton.setAttribute('hidden', 'true');
-    appConfig.toolbar.download.setAttribute('hidden', 'true');
-    appConfig.secondaryToolbar.downloadButton.setAttribute('hidden', 'true');
+    const appConfig = PDFViewerApplication.appConfig;
+    appConfig.toolbar.viewBookmark.setAttribute("hidden", "true");
+    appConfig.secondaryToolbar.viewBookmarkButton.setAttribute("hidden", "true");
+    appConfig.toolbar.download.setAttribute("hidden", "true");
+    appConfig.secondaryToolbar.downloadButton.setAttribute("hidden", "true");
+  };
+
+  webViewerOpenFile = function (evt) {
+    const openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
+    document.getElementById(openFileInputName).click();
   };
 }
 
@@ -2143,11 +2114,6 @@ function webViewerPresentationMode() {
   PDFViewerApplication.requestPresentationMode();
 }
 
-function webViewerOpenFile() {
-  var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
-  document.getElementById(openFileInputName).click();
-}
-
 function webViewerPrint() {
   window.print();
 }
@@ -2189,9 +2155,9 @@ function webViewerZoomReset() {
 }
 
 function webViewerPageNumberChanged(evt) {
-  var pdfViewer = PDFViewerApplication.pdfViewer;
+  const pdfViewer = PDFViewerApplication.pdfViewer;
 
-  if (evt.value !== '') {
+  if (evt.value !== "") {
     pdfViewer.currentPageLabel = evt.value;
   }
 
@@ -2225,7 +2191,7 @@ function webViewerDocumentProperties() {
 }
 
 function webViewerFind(evt) {
-  PDFViewerApplication.findController.executeCommand('find' + evt.type, {
+  PDFViewerApplication.findController.executeCommand("find" + evt.type, {
     query: evt.query,
     phraseSearch: evt.phraseSearch,
     caseSensitive: evt.caseSensitive,
@@ -2236,7 +2202,7 @@ function webViewerFind(evt) {
 }
 
 function webViewerFindFromUrlHash(evt) {
-  PDFViewerApplication.findController.executeCommand('find', {
+  PDFViewerApplication.findController.executeCommand("find", {
     query: evt.query,
     phraseSearch: evt.phraseSearch,
     caseSensitive: false,
@@ -2246,9 +2212,9 @@ function webViewerFindFromUrlHash(evt) {
   });
 }
 
-function webViewerUpdateFindMatchesCount(_ref9) {
-  var matchesCount = _ref9.matchesCount;
-
+function webViewerUpdateFindMatchesCount({
+  matchesCount
+}) {
   if (PDFViewerApplication.supportsIntegratedFind) {
     PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);
   } else {
@@ -2256,16 +2222,16 @@ function webViewerUpdateFindMatchesCount(_ref9) {
   }
 }
 
-function webViewerUpdateFindControlState(_ref10) {
-  var state = _ref10.state,
-      previous = _ref10.previous,
-      matchesCount = _ref10.matchesCount;
-
+function webViewerUpdateFindControlState({
+  state,
+  previous,
+  matchesCount
+}) {
   if (PDFViewerApplication.supportsIntegratedFind) {
     PDFViewerApplication.externalServices.updateFindControlState({
       result: state,
       findPrevious: previous,
-      matchesCount: matchesCount
+      matchesCount
     });
   } else {
     PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);
@@ -2284,7 +2250,7 @@ function webViewerRotationChanging(evt) {
 }
 
 function webViewerPageChanging(evt) {
-  var page = evt.pageNumber;
+  const page = evt.pageNumber;
   PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null);
   PDFViewerApplication.secondaryToolbar.setPageNumber(page);
 
@@ -2292,8 +2258,8 @@ function webViewerPageChanging(evt) {
     PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(page);
   }
 
-  if (typeof Stats !== 'undefined' && Stats.enabled) {
-    var pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);
+  if (typeof Stats !== "undefined" && Stats.enabled) {
+    const pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);
 
     if (pageView && pageView.stats) {
       Stats.add(page, pageView.stats);
@@ -2302,12 +2268,12 @@ function webViewerPageChanging(evt) {
 }
 
 function webViewerVisibilityChange(evt) {
-  if (document.visibilityState === 'visible') {
+  if (document.visibilityState === "visible") {
     setZoomDisabledTimeout();
   }
 }
 
-var zoomDisabledTimeout = null;
+let zoomDisabledTimeout = null;
 
 function setZoomDisabledTimeout() {
   if (zoomDisabledTimeout) {
@@ -2320,8 +2286,10 @@ function setZoomDisabledTimeout() {
 }
 
 function webViewerWheel(evt) {
-  var pdfViewer = PDFViewerApplication.pdfViewer,
-      supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
+  const {
+    pdfViewer,
+    supportedMouseWheelZoomModifierKeys
+  } = PDFViewerApplication;
 
   if (pdfViewer.isInPresentationMode) {
     return;
@@ -2330,14 +2298,14 @@ function webViewerWheel(evt) {
   if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && 
supportedMouseWheelZoomModifierKeys.metaKey) {
     evt.preventDefault();
 
-    if (zoomDisabledTimeout || document.visibilityState === 'hidden') {
+    if (zoomDisabledTimeout || document.visibilityState === "hidden") {
       return;
     }
 
-    var previousScale = pdfViewer.currentScale;
-    var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
-    var MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;
-    var ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;
+    const previousScale = pdfViewer.currentScale;
+    const delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
+    const MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;
+    const ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;
 
     if (ticks < 0) {
       PDFViewerApplication.zoomOut(-ticks);
@@ -2345,13 +2313,13 @@ function webViewerWheel(evt) {
       PDFViewerApplication.zoomIn(ticks);
     }
 
-    var currentScale = pdfViewer.currentScale;
+    const currentScale = pdfViewer.currentScale;
 
     if (previousScale !== currentScale) {
-      var scaleCorrectionFactor = currentScale / previousScale - 1;
-      var rect = pdfViewer.container.getBoundingClientRect();
-      var dx = evt.clientX - rect.left;
-      var dy = evt.clientY - rect.top;
+      const scaleCorrectionFactor = currentScale / previousScale - 1;
+      const rect = pdfViewer.container.getBoundingClientRect();
+      const dx = evt.clientX - rect.left;
+      const dy = evt.clientY - rect.top;
       pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
       pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
     }
@@ -2365,7 +2333,7 @@ function webViewerClick(evt) {
     return;
   }
 
-  var appConfig = PDFViewerApplication.appConfig;
+  const appConfig = PDFViewerApplication.appConfig;
 
   if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || 
appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
     PDFViewerApplication.secondaryToolbar.close();
@@ -2377,11 +2345,11 @@ function webViewerKeyDown(evt) {
     return;
   }
 
-  var handled = false,
+  let handled = false,
       ensureViewerFocused = false;
-  var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
-  var pdfViewer = PDFViewerApplication.pdfViewer;
-  var isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;
+  const cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
+  const pdfViewer = PDFViewerApplication.pdfViewer;
+  const isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;
 
   if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {
     switch (evt.keyCode) {
@@ -2395,10 +2363,10 @@ function webViewerKeyDown(evt) {
 
       case 71:
         if (!PDFViewerApplication.supportsIntegratedFind) {
-          var findState = PDFViewerApplication.findController.state;
+          const findState = PDFViewerApplication.findController.state;
 
           if (findState) {
-            PDFViewerApplication.findController.executeCommand('findagain', {
+            PDFViewerApplication.findController.executeCommand("findagain", {
               query: findState.query,
               phraseSearch: findState.phraseSearch,
               caseSensitive: findState.caseSensitive,
@@ -2497,17 +2465,17 @@ function webViewerKeyDown(evt) {
     return;
   }
 
-  var curElement = document.activeElement || document.querySelector(':focus');
-  var curElementTagName = curElement && curElement.tagName.toUpperCase();
+  const curElement = document.activeElement || document.querySelector(":focus");
+  const curElementTagName = curElement && curElement.tagName.toUpperCase();
 
-  if (curElementTagName === 'INPUT' || curElementTagName === 'TEXTAREA' || curElementTagName === 'SELECT') {
+  if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || 
curElement && curElement.isContentEditable) {
     if (evt.keyCode !== 27) {
       return;
     }
   }
 
   if (cmd === 0) {
-    var turnPage = 0,
+    let turnPage = 0,
         turnOnlyIfPageFit = false;
 
     switch (evt.keyCode) {
@@ -2614,7 +2582,7 @@ function webViewerKeyDown(evt) {
         break;
     }
 
-    if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === 'page-fit')) {
+    if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) {
       if (turnPage > 0) {
         if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
           PDFViewerApplication.page++;
@@ -2633,7 +2601,7 @@ function webViewerKeyDown(evt) {
     switch (evt.keyCode) {
       case 13:
       case 32:
-        if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== 'page-fit') {
+        if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") {
           break;
         }
 
@@ -2651,7 +2619,7 @@ function webViewerKeyDown(evt) {
   }
 
   if (!handled && !isViewerInPresentationMode) {
-    if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== 'BUTTON') {
+    if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") {
       ensureViewerFocused = true;
     }
   }
@@ -2667,16 +2635,16 @@ function webViewerKeyDown(evt) {
 
 function apiPageLayoutToSpreadMode(layout) {
   switch (layout) {
-    case 'SinglePage':
-    case 'OneColumn':
+    case "SinglePage":
+    case "OneColumn":
       return _ui_utils.SpreadMode.NONE;
 
-    case 'TwoColumnLeft':
-    case 'TwoPageLeft':
+    case "TwoColumnLeft":
+    case "TwoPageLeft":
       return _ui_utils.SpreadMode.ODD;
 
-    case 'TwoColumnRight':
-    case 'TwoPageRight':
+    case "TwoColumnRight":
+    case "TwoPageRight":
       return _ui_utils.SpreadMode.EVEN;
   }
 
@@ -2685,30 +2653,32 @@ function apiPageLayoutToSpreadMode(layout) {
 
 function apiPageModeToSidebarView(mode) {
   switch (mode) {
-    case 'UseNone':
+    case "UseNone":
       return _pdf_sidebar.SidebarView.NONE;
 
-    case 'UseThumbs':
+    case "UseThumbs":
       return _pdf_sidebar.SidebarView.THUMBS;
 
-    case 'UseOutlines':
+    case "UseOutlines":
       return _pdf_sidebar.SidebarView.OUTLINE;
 
-    case 'UseAttachments':
+    case "UseAttachments":
       return _pdf_sidebar.SidebarView.ATTACHMENTS;
 
-    case 'UseOC':
+    case "UseOC":
   }
 
   return _pdf_sidebar.SidebarView.NONE;
 }
 
-var PDFPrintServiceFactory = {
+const PDFPrintServiceFactory = {
   instance: {
     supportsPrinting: false,
-    createPrintService: function createPrintService() {
-      throw new Error('Not implemented: createPrintService');
+
+    createPrintService() {
+      throw new Error("Not implemented: createPrintService");
     }
+
   }
 };
 exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
@@ -2720,907 +2690,184 @@ exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
 "use strict";
 
 
-module.exports = __webpack_require__(3);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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";
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.isValidRotation = isValidRotation;
+exports.isValidScrollMode = isValidScrollMode;
+exports.isValidSpreadMode = isValidSpreadMode;
+exports.isPortraitOrientation = isPortraitOrientation;
+exports.getGlobalEventBus = getGlobalEventBus;
+exports.clamp = clamp;
+exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
+exports.noContextMenuHandler = noContextMenuHandler;
+exports.parseQueryString = parseQueryString;
+exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
+exports.getVisibleElements = getVisibleElements;
+exports.roundToDivide = roundToDivide;
+exports.getPageSizeInches = getPageSizeInches;
+exports.approximateFraction = approximateFraction;
+exports.getOutputScale = getOutputScale;
+exports.scrollIntoView = scrollIntoView;
+exports.watchScroll = watchScroll;
+exports.binarySearchFirstItem = binarySearchFirstItem;
+exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
+exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
+exports.moveToEndOfArray = moveToEndOfArray;
+exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = 
exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = 
exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE 
= exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = 
exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;
+const CSS_UNITS = 96.0 / 72.0;
+exports.CSS_UNITS = CSS_UNITS;
+const DEFAULT_SCALE_VALUE = "auto";
+exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
+const DEFAULT_SCALE = 1.0;
+exports.DEFAULT_SCALE = DEFAULT_SCALE;
+const MIN_SCALE = 0.1;
+exports.MIN_SCALE = MIN_SCALE;
+const MAX_SCALE = 10.0;
+exports.MAX_SCALE = MAX_SCALE;
+const UNKNOWN_SCALE = 0;
+exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
+const MAX_AUTO_SCALE = 1.25;
+exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
+const SCROLLBAR_PADDING = 40;
+exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
+const VERTICAL_PADDING = 5;
+exports.VERTICAL_PADDING = VERTICAL_PADDING;
+const PresentationModeState = {
+  UNKNOWN: 0,
+  NORMAL: 1,
+  CHANGING: 2,
+  FULLSCREEN: 3
+};
+exports.PresentationModeState = PresentationModeState;
+const RendererType = {
+  CANVAS: "canvas",
+  SVG: "svg"
+};
+exports.RendererType = RendererType;
+const TextLayerMode = {
+  DISABLE: 0,
+  ENABLE: 1,
+  ENABLE_ENHANCE: 2
+};
+exports.TextLayerMode = TextLayerMode;
+const ScrollMode = {
+  UNKNOWN: -1,
+  VERTICAL: 0,
+  HORIZONTAL: 1,
+  WRAPPED: 2
+};
+exports.ScrollMode = ScrollMode;
+const SpreadMode = {
+  UNKNOWN: -1,
+  NONE: 0,
+  ODD: 1,
+  EVEN: 2
+};
+exports.SpreadMode = SpreadMode;
+const AutoPrintRegExp = /\bprint\s*\(/;
+exports.AutoPrintRegExp = AutoPrintRegExp;
 
-  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;
+function formatL10nValue(text, args) {
+  if (!args) {
+    return text;
   }
 
-  exports.wrap = wrap;
-
-  function tryCatch(fn, obj, arg) {
-    try {
-      return {
-        type: "normal",
-        arg: fn.call(obj, arg)
-      };
-    } catch (err) {
-      return {
-        type: "throw",
-        arg: err
-      };
-    }
-  }
+  return text.replace(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => {
+    return name in args ? args[name] : "{{" + name + "}}";
+  });
+}
 
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-  var ContinueSentinel = {};
+const NullL10n = {
+  async getLanguage() {
+    return "en-us";
+  },
 
-  function Generator() {}
+  async getDirection() {
+    return "ltr";
+  },
 
-  function GeneratorFunction() {}
+  async get(property, args, fallback) {
+    return formatL10nValue(fallback, args);
+  },
 
-  function GeneratorFunctionPrototype() {}
+  async translate(element) {}
 
-  var IteratorPrototype = {};
+};
+exports.NullL10n = NullL10n;
 
-  IteratorPrototype[iteratorSymbol] = function () {
-    return this;
+function getOutputScale(ctx) {
+  const devicePixelRatio = window.devicePixelRatio || 1;
+  const backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || 
ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
+  const pixelRatio = devicePixelRatio / backingStoreRatio;
+  return {
+    sx: pixelRatio,
+    sy: pixelRatio,
+    scaled: pixelRatio !== 1
   };
+}
 
-  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 = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
+function scrollIntoView(element, spot, skipOverflowHiddenElements = false) {
+  let parent = element.offsetParent;
 
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      prototype[method] = function (arg) {
-        return this._invoke(method, arg);
-      };
-    });
+  if (!parent) {
+    console.error("offsetParent is not set -- cannot scroll");
+    return;
   }
 
-  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;
+  let offsetY = element.offsetTop + element.clientTop;
+  let offsetX = element.offsetLeft + element.clientLeft;
 
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
-      }
+  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || 
skipOverflowHiddenElements && getComputedStyle(parent).overflow === "hidden") {
+    if (parent.dataset._scaleY) {
+      offsetY /= parent.dataset._scaleY;
+      offsetX /= parent.dataset._scaleX;
     }
 
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
-
-  function AsyncIterator(generator) {
-    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 Promise.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
+    offsetY += parent.offsetTop;
+    offsetX += parent.offsetLeft;
+    parent = parent.offsetParent;
 
-        return Promise.resolve(value).then(function (unwrapped) {
-          result.value = unwrapped;
-          resolve(result);
-        }, function (error) {
-          return invoke("throw", error, resolve, reject);
-        });
-      }
+    if (!parent) {
+      return;
     }
+  }
 
-    var previousPromise;
-
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new Promise(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, 
callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+  if (spot) {
+    if (spot.top !== undefined) {
+      offsetY += spot.top;
     }
 
-    this._invoke = enqueue;
+    if (spot.left !== undefined) {
+      offsetX += spot.left;
+      parent.scrollLeft = offsetX;
+    }
   }
 
-  defineIteratorMethods(AsyncIterator.prototype);
-
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
+  parent.scrollTop = offsetY;
+}
 
-  exports.AsyncIterator = AsyncIterator;
+function watchScroll(viewAreaElement, callback) {
+  const debounceScroll = function (evt) {
+    if (rAF) {
+      return;
+    }
 
-  exports.async = function (innerFn, outerFn, self, tryLocsList) {
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
-    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
-      return result.done ? result.value : iter.next();
-    });
-  };
+    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
+      rAF = null;
+      const currentX = viewAreaElement.scrollLeft;
+      const lastX = state.lastX;
 
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
+      if (currentX !== lastX) {
+        state.right = currentX > lastX;
       }
 
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
+      state.lastX = currentX;
+      const currentY = viewAreaElement.scrollTop;
+      const lastY = state.lastY;
 
-        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);
-  Gp[toStringTagSymbol] = "Generator";
-
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
-
-  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 ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)(module)))
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
-
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
-      }
-    });
-    module.webpackPolyfill = 1;
-  }
-
-  return module;
-};
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isValidRotation = isValidRotation;
-exports.isValidScrollMode = isValidScrollMode;
-exports.isValidSpreadMode = isValidSpreadMode;
-exports.isPortraitOrientation = isPortraitOrientation;
-exports.getGlobalEventBus = getGlobalEventBus;
-exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
-exports.noContextMenuHandler = noContextMenuHandler;
-exports.parseQueryString = parseQueryString;
-exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
-exports.getVisibleElements = getVisibleElements;
-exports.roundToDivide = roundToDivide;
-exports.getPageSizeInches = getPageSizeInches;
-exports.approximateFraction = approximateFraction;
-exports.getOutputScale = getOutputScale;
-exports.scrollIntoView = scrollIntoView;
-exports.watchScroll = watchScroll;
-exports.binarySearchFirstItem = binarySearchFirstItem;
-exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
-exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
-exports.moveToEndOfArray = moveToEndOfArray;
-exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = 
exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = 
exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE 
= exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = 
exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": 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); return Constructor; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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); }); }; }
-
-var CSS_UNITS = 96.0 / 72.0;
-exports.CSS_UNITS = CSS_UNITS;
-var DEFAULT_SCALE_VALUE = 'auto';
-exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
-var DEFAULT_SCALE = 1.0;
-exports.DEFAULT_SCALE = DEFAULT_SCALE;
-var MIN_SCALE = 0.10;
-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 PresentationModeState = {
-  UNKNOWN: 0,
-  NORMAL: 1,
-  CHANGING: 2,
-  FULLSCREEN: 3
-};
-exports.PresentationModeState = PresentationModeState;
-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
-};
-exports.ScrollMode = ScrollMode;
-var SpreadMode = {
-  UNKNOWN: -1,
-  NONE: 0,
-  ODD: 1,
-  EVEN: 2
-};
-exports.SpreadMode = SpreadMode;
-
-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 () {
-    var _getLanguage = _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);
-    }));
-
-    function getLanguage() {
-      return _getLanguage.apply(this, arguments);
-    }
-
-    return getLanguage;
-  }(),
-  getDirection: function () {
-    var _getDirection = _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);
-    }));
-
-    function getDirection() {
-      return _getDirection.apply(this, arguments);
-    }
-
-    return getDirection;
-  }(),
-  get: function () {
-    var _get = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee3(property, args, fallback) {
-      return _regenerator["default"].wrap(function _callee3$(_context3) {
-        while (1) {
-          switch (_context3.prev = _context3.next) {
-            case 0:
-              return _context3.abrupt("return", formatL10nValue(fallback, args));
-
-            case 1:
-            case "end":
-              return _context3.stop();
-          }
-        }
-      }, _callee3);
-    }));
-
-    function get(_x, _x2, _x3) {
-      return _get.apply(this, arguments);
-    }
-
-    return get;
-  }(),
-  translate: function () {
-    var _translate = _asyncToGenerator(
-    /*#__PURE__*/
-    _regenerator["default"].mark(function _callee4(element) {
-      return _regenerator["default"].wrap(function _callee4$(_context4) {
-        while (1) {
-          switch (_context4.prev = _context4.next) {
-            case 0:
-            case "end":
-              return _context4.stop();
-          }
-        }
-      }, _callee4);
-    }));
-
-    function translate(_x4) {
-      return _translate.apply(this, arguments);
-    }
-
-    return translate;
-  }()
-};
-exports.NullL10n = NullL10n;
-
-function getOutputScale(ctx) {
-  var devicePixelRatio = window.devicePixelRatio || 1;
-  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || 
ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
-  var pixelRatio = devicePixelRatio / backingStoreRatio;
-  return {
-    sx: pixelRatio,
-    sy: pixelRatio,
-    scaled: pixelRatio !== 1
-  };
-}
-
-function scrollIntoView(element, spot) {
-  var skipOverflowHiddenElements = 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 || 
skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {
-    if (parent.dataset._scaleY) {
-      offsetY /= parent.dataset._scaleY;
-      offsetX /= parent.dataset._scaleX;
-    }
-
-    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;
+      if (currentY !== lastY) {
+        state.down = currentY > lastY;
       }
 
       state.lastY = currentY;
@@ -3628,26 +2875,26 @@ function watchScroll(viewAreaElement, callback) {
     });
   };
 
-  var state = {
+  const state = {
     right: true,
     down: true,
     lastX: viewAreaElement.scrollLeft,
     lastY: viewAreaElement.scrollTop,
     _eventHandler: debounceScroll
   };
-  var rAF = null;
-  viewAreaElement.addEventListener('scroll', debounceScroll, true);
+  let rAF = null;
+  viewAreaElement.addEventListener("scroll", debounceScroll, true);
   return state;
 }
 
 function parseQueryString(query) {
-  var parts = query.split('&');
-  var params = Object.create(null);
+  const parts = query.split("&");
+  const params = Object.create(null);
 
-  for (var i = 0, ii = parts.length; i < ii; ++i) {
-    var param = parts[i].split('=');
-    var key = param[0].toLowerCase();
-    var value = param.length > 1 ? param[1] : null;
+  for (let i = 0, ii = parts.length; i < ii; ++i) {
+    const param = parts[i].split("=");
+    const key = param[0].toLowerCase();
+    const value = param.length > 1 ? param[1] : null;
     params[decodeURIComponent(key)] = decodeURIComponent(value);
   }
 
@@ -3655,8 +2902,8 @@ function parseQueryString(query) {
 }
 
 function binarySearchFirstItem(items, condition) {
-  var minIndex = 0;
-  var maxIndex = items.length - 1;
+  let minIndex = 0;
+  let maxIndex = items.length - 1;
 
   if (items.length === 0 || !condition(items[maxIndex])) {
     return items.length;
@@ -3667,8 +2914,8 @@ function binarySearchFirstItem(items, condition) {
   }
 
   while (minIndex < maxIndex) {
-    var currentIndex = minIndex + maxIndex >> 1;
-    var currentItem = items[currentIndex];
+    const currentIndex = minIndex + maxIndex >> 1;
+    const currentItem = items[currentIndex];
 
     if (condition(currentItem)) {
       maxIndex = currentIndex;
@@ -3685,8 +2932,8 @@ function approximateFraction(x) {
     return [x, 1];
   }
 
-  var xinv = 1 / x;
-  var limit = 8;
+  const xinv = 1 / x;
+  const limit = 8;
 
   if (xinv > limit) {
     return [1, limit];
@@ -3694,15 +2941,15 @@ function approximateFraction(x) {
     return [1, xinv];
   }
 
-  var x_ = x > 1 ? xinv : x;
-  var a = 0,
+  const x_ = x > 1 ? xinv : x;
+  let a = 0,
       b = 1,
       c = 1,
       d = 1;
 
   while (true) {
-    var p = a + c,
-        q = b + d;
+    const p = a + c,
+          q = b + d;
 
     if (q > limit) {
       break;
@@ -3717,7 +2964,7 @@ function approximateFraction(x) {
     }
   }
 
-  var result;
+  let result;
 
   if (x_ - a / b < c / d - x_) {
     result = x_ === x ? [a, b] : [b, a];
@@ -3729,24 +2976,19 @@ function approximateFraction(x) {
 }
 
 function roundToDivide(x, div) {
-  var r = x % div;
+  const 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;
+function getPageSizeInches({
+  view,
+  userUnit,
+  rotate
+}) {
+  const [x1, y1, x2, y2] = view;
+  const changeOrientation = rotate % 180 !== 0;
+  const width = (x2 - x1) / 72 * userUnit;
+  const height = (y2 - y1) / 72 * userUnit;
   return {
     width: changeOrientation ? height : width,
     height: changeOrientation ? width : height
@@ -3758,15 +3000,15 @@ function backtrackBeforeAllVisibleElements(index, views, top) {
     return index;
   }
 
-  var elt = views[index].div;
-  var pageTop = elt.offsetTop + elt.clientTop;
+  let elt = views[index].div;
+  let 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) {
+  for (let i = index - 2; i >= 0; --i) {
     elt = views[i].div;
 
     if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
@@ -3779,45 +3021,43 @@ function backtrackBeforeAllVisibleElements(index, views, top) {
   return index;
 }
 
-function getVisibleElements(scrollEl, views) {
-  var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-  var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-  var top = scrollEl.scrollTop,
-      bottom = top + scrollEl.clientHeight;
-  var left = scrollEl.scrollLeft,
-      right = left + scrollEl.clientWidth;
+function getVisibleElements(scrollEl, views, sortByVisibility = false, horizontal = false) {
+  const top = scrollEl.scrollTop,
+        bottom = top + scrollEl.clientHeight;
+  const left = scrollEl.scrollLeft,
+        right = left + scrollEl.clientWidth;
 
   function isElementBottomAfterViewTop(view) {
-    var element = view.div;
-    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
+    const element = view.div;
+    const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
     return elementBottom > top;
   }
 
   function isElementRightAfterViewLeft(view) {
-    var element = view.div;
-    var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;
+    const element = view.div;
+    const elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;
     return elementRight > left;
   }
 
-  var visible = [],
-      numViews = views.length;
-  var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? 
isElementRightAfterViewLeft : isElementBottomAfterViewTop);
+  const visible = [],
+        numViews = views.length;
+  let firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? 
isElementRightAfterViewLeft : isElementBottomAfterViewTop);
 
   if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
     firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
   }
 
-  var lastEdge = horizontal ? right : -1;
+  let 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;
+  for (let i = firstVisibleElementInd; i < numViews; i++) {
+    const view = views[i],
+          element = view.div;
+    const currentWidth = element.offsetLeft + element.clientLeft;
+    const currentHeight = element.offsetTop + element.clientTop;
+    const viewWidth = element.clientWidth,
+          viewHeight = element.clientHeight;
+    const viewRight = currentWidth + viewWidth;
+    const viewBottom = currentHeight + viewHeight;
 
     if (lastEdge === -1) {
       if (viewBottom >= bottom) {
@@ -3831,24 +3071,24 @@ function getVisibleElements(scrollEl, views) {
       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 percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;
+    const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
+    const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
+    const percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 
0;
     visible.push({
       id: view.id,
       x: currentWidth,
       y: currentHeight,
-      view: view,
-      percent: percent
+      view,
+      percent
     });
   }
 
-  var first = visible[0],
-      last = visible[visible.length - 1];
+  const first = visible[0],
+        last = visible[visible.length - 1];
 
   if (sortByVisibility) {
     visible.sort(function (a, b) {
-      var pc = a.percent - b.percent;
+      const pc = a.percent - b.percent;
 
       if (Math.abs(pc) > 0.001) {
         return -pc;
@@ -3859,8 +3099,8 @@ function getVisibleElements(scrollEl, views) {
   }
 
   return {
-    first: first,
-    last: last,
+    first,
+    last,
     views: visible
   };
 }
@@ -3870,37 +3110,35 @@ function noContextMenuHandler(evt) {
 }
 
 function isDataSchema(url) {
-  var i = 0,
-      ii = url.length;
+  let i = 0;
+  const ii = url.length;
 
-  while (i < ii && url[i].trim() === '') {
+  while (i < ii && url[i].trim() === "") {
     i++;
   }
 
-  return url.substring(i, i + 5).toLowerCase() === 'data:';
+  return url.substring(i, i + 5).toLowerCase() === "data:";
 }
 
-function getPDFFileNameFromURL(url) {
-  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';
-
-  if (typeof url !== 'string') {
+function getPDFFileNameFromURL(url, defaultFilename = "document.pdf") {
+  if (typeof url !== "string") {
     return defaultFilename;
   }
 
   if (isDataSchema(url)) {
-    console.warn('getPDFFileNameFromURL: ' + 'ignoring "data:" URL for performance reasons.');
+    console.warn("getPDFFileNameFromURL: " + 'ignoring "data:" URL for performance reasons.');
     return defaultFilename;
   }
 
-  var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
-  var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
-  var splitURI = reURI.exec(url);
-  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || 
reFilename.exec(splitURI[3]);
+  const reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
+  const reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
+  const splitURI = reURI.exec(url);
+  let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || 
reFilename.exec(splitURI[3]);
 
   if (suggestedFilename) {
     suggestedFilename = suggestedFilename[0];
 
-    if (suggestedFilename.includes('%')) {
+    if (suggestedFilename.includes("%")) {
       try {
         suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
       } catch (ex) {}
@@ -3911,17 +3149,17 @@ function getPDFFileNameFromURL(url) {
 }
 
 function normalizeWheelEventDelta(evt) {
-  var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
-  var angle = Math.atan2(evt.deltaY, evt.deltaX);
+  let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
+  const angle = Math.atan2(evt.deltaY, evt.deltaX);
 
   if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
     delta = -delta;
   }
 
-  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;
+  const MOUSE_DOM_DELTA_PIXEL_MODE = 0;
+  const MOUSE_DOM_DELTA_LINE_MODE = 1;
+  const MOUSE_PIXELS_PER_LINE = 30;
+  const MOUSE_LINES_PER_PAGE = 30;
 
   if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
     delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
@@ -3948,25 +3186,25 @@ function isPortraitOrientation(size) {
   return size.width <= size.height;
 }
 
-var WaitOnType = {
-  EVENT: 'event',
-  TIMEOUT: 'timeout'
+const WaitOnType = {
+  EVENT: "event",
+  TIMEOUT: "timeout"
 };
 exports.WaitOnType = WaitOnType;
 
-function waitOnEventOrTimeout(_ref2) {
-  var target = _ref2.target,
-      name = _ref2.name,
-      _ref2$delay = _ref2.delay,
-      delay = _ref2$delay === void 0 ? 0 : _ref2$delay;
+function waitOnEventOrTimeout({
+  target,
+  name,
+  delay = 0
+}) {
   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.');
+    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);
+        target._off(name, eventHandler);
       } else {
         target.removeEventListener(name, eventHandler);
       }
@@ -3978,128 +3216,155 @@ function waitOnEventOrTimeout(_ref2) {
       resolve(type);
     }
 
-    var eventHandler = handler.bind(null, WaitOnType.EVENT);
+    const eventHandler = handler.bind(null, WaitOnType.EVENT);
 
     if (target instanceof EventBus) {
-      target.on(name, eventHandler);
+      target._on(name, eventHandler);
     } else {
       target.addEventListener(name, eventHandler);
     }
 
-    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
-    var timeout = setTimeout(timeoutHandler, delay);
+    const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
+    const timeout = setTimeout(timeoutHandler, delay);
   });
 }
 
-var animationStarted = new Promise(function (resolve) {
+const animationStarted = new Promise(function (resolve) {
   window.requestAnimationFrame(resolve);
 });
 exports.animationStarted = animationStarted;
 
-var EventBus =
-/*#__PURE__*/
-function () {
-  function EventBus() {
-    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        _ref3$dispatchToDOM = _ref3.dispatchToDOM,
-        dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM;
+function dispatchDOMEvent(eventName, args = null) {
+  const details = Object.create(null);
 
-    _classCallCheck(this, EventBus);
+  if (args && args.length > 0) {
+    const obj = args[0];
 
+    for (const key in obj) {
+      const value = obj[key];
+
+      if (key === "source") {
+        if (value === window || value === document) {
+          return;
+        }
+
+        continue;
+      }
+
+      details[key] = value;
+    }
+  }
+
+  const event = document.createEvent("CustomEvent");
+  event.initCustomEvent(eventName, true, true, details);
+  document.dispatchEvent(event);
+}
+
+class EventBus {
+  constructor({
+    dispatchToDOM = false
+  } = {}) {
     this._listeners = Object.create(null);
     this._dispatchToDOM = dispatchToDOM === true;
+
+    if (dispatchToDOM) {
+      console.error("The `eventBusDispatchToDOM` option/preference is deprecated, " + "add event listeners 
to the EventBus instance rather than the DOM.");
+    }
   }
 
-  _createClass(EventBus, [{
-    key: "on",
-    value: function on(eventName, listener) {
-      var eventListeners = this._listeners[eventName];
+  on(eventName, listener) {
+    this._on(eventName, listener, {
+      external: true
+    });
+  }
 
-      if (!eventListeners) {
-        eventListeners = [];
-        this._listeners[eventName] = eventListeners;
-      }
+  off(eventName, listener) {
+    this._off(eventName, listener, {
+      external: true
+    });
+  }
 
-      eventListeners.push(listener);
-    }
-  }, {
-    key: "off",
-    value: function off(eventName, listener) {
-      var eventListeners = this._listeners[eventName];
-      var i;
+  dispatch(eventName) {
+    const eventListeners = this._listeners[eventName];
 
-      if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {
-        return;
+    if (!eventListeners || eventListeners.length === 0) {
+      if (this._dispatchToDOM) {
+        const args = Array.prototype.slice.call(arguments, 1);
+        dispatchDOMEvent(eventName, args);
       }
 
-      eventListeners.splice(i, 1);
+      return;
     }
-  }, {
-    key: "dispatch",
-    value: function dispatch(eventName) {
-      var eventListeners = this._listeners[eventName];
-
-      if (!eventListeners || eventListeners.length === 0) {
-        if (this._dispatchToDOM) {
-          var _args5 = Array.prototype.slice.call(arguments, 1);
 
-          this._dispatchDOMEvent(eventName, _args5);
+    const args = Array.prototype.slice.call(arguments, 1);
+    let externalListeners;
+    eventListeners.slice(0).forEach(function ({
+      listener,
+      external
+    }) {
+      if (external) {
+        if (!externalListeners) {
+          externalListeners = [];
         }
 
+        externalListeners.push(listener);
         return;
       }
 
-      var args = Array.prototype.slice.call(arguments, 1);
-      eventListeners.slice(0).forEach(function (listener) {
+      listener.apply(null, args);
+    });
+
+    if (externalListeners) {
+      externalListeners.forEach(function (listener) {
         listener.apply(null, args);
       });
+      externalListeners = null;
+    }
 
-      if (this._dispatchToDOM) {
-        this._dispatchDOMEvent(eventName, args);
-      }
+    if (this._dispatchToDOM) {
+      dispatchDOMEvent(eventName, args);
     }
-  }, {
-    key: "_dispatchDOMEvent",
-    value: function _dispatchDOMEvent(eventName) {
-      var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-      var details = Object.create(null);
+  }
 
-      if (args && args.length > 0) {
-        var obj = args[0];
+  _on(eventName, listener, options = null) {
+    let eventListeners = this._listeners[eventName];
 
-        for (var key in obj) {
-          var value = obj[key];
+    if (!eventListeners) {
+      this._listeners[eventName] = eventListeners = [];
+    }
 
-          if (key === 'source') {
-            if (value === window || value === document) {
-              return;
-            }
+    eventListeners.push({
+      listener,
+      external: (options && options.external) === true
+    });
+  }
 
-            continue;
-          }
+  _off(eventName, listener, options = null) {
+    const eventListeners = this._listeners[eventName];
 
-          details[key] = value;
-        }
-      }
+    if (!eventListeners) {
+      return;
+    }
 
-      var event = document.createEvent('CustomEvent');
-      event.initCustomEvent(eventName, true, true, details);
-      document.dispatchEvent(event);
+    for (let i = 0, ii = eventListeners.length; i < ii; i++) {
+      if (eventListeners[i].listener === listener) {
+        eventListeners.splice(i, 1);
+        return;
+      }
     }
-  }]);
+  }
 
-  return EventBus;
-}();
+}
 
 exports.EventBus = EventBus;
-var globalEventBus = null;
+let globalEventBus = null;
 
-function getGlobalEventBus() {
-  var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+function getGlobalEventBus(dispatchToDOM = false) {
+  console.error("getGlobalEventBus is deprecated, use a manually created EventBus instance instead.");
 
   if (!globalEventBus) {
     globalEventBus = new EventBus({
-      dispatchToDOM: dispatchToDOM
+      dispatchToDOM
     });
   }
 
@@ -4110,100 +3375,88 @@ function clamp(v, min, max) {
   return Math.min(Math.max(v, min), max);
 }
 
-var ProgressBar =
-/*#__PURE__*/
-function () {
-  function ProgressBar(id) {
-    var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-        height = _ref4.height,
-        width = _ref4.width,
-        units = _ref4.units;
-
-    _classCallCheck(this, ProgressBar);
-
+class ProgressBar {
+  constructor(id, {
+    height,
+    width,
+    units
+  } = {}) {
     this.visible = true;
-    this.div = document.querySelector(id + ' .progress');
+    this.div = document.querySelector(id + " .progress");
     this.bar = this.div.parentNode;
     this.height = height || 100;
     this.width = width || 100;
-    this.units = units || '%';
+    this.units = units || "%";
     this.div.style.height = this.height + this.units;
     this.percent = 0;
   }
 
-  _createClass(ProgressBar, [{
-    key: "_updateBar",
-    value: function _updateBar() {
-      if (this._indeterminate) {
-        this.div.classList.add('indeterminate');
-        this.div.style.width = this.width + this.units;
-        return;
-      }
-
-      this.div.classList.remove('indeterminate');
-      var progressSize = this.width * this._percent / 100;
-      this.div.style.width = progressSize + this.units;
+  _updateBar() {
+    if (this._indeterminate) {
+      this.div.classList.add("indeterminate");
+      this.div.style.width = this.width + this.units;
+      return;
     }
-  }, {
-    key: "setWidth",
-    value: function setWidth(viewer) {
-      if (!viewer) {
-        return;
-      }
 
-      var container = viewer.parentNode;
-      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
+    this.div.classList.remove("indeterminate");
+    const progressSize = this.width * this._percent / 100;
+    this.div.style.width = progressSize + this.units;
+  }
 
-      if (scrollbarWidth > 0) {
-        this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');
-      }
+  get percent() {
+    return this._percent;
+  }
+
+  set percent(val) {
+    this._indeterminate = isNaN(val);
+    this._percent = clamp(val, 0, 100);
+
+    this._updateBar();
+  }
+
+  setWidth(viewer) {
+    if (!viewer) {
+      return;
     }
-  }, {
-    key: "hide",
-    value: function hide() {
-      if (!this.visible) {
-        return;
-      }
 
-      this.visible = false;
-      this.bar.classList.add('hidden');
-      document.body.classList.remove('loadingInProgress');
+    const container = viewer.parentNode;
+    const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
+
+    if (scrollbarWidth > 0) {
+      this.bar.style.width = `calc(100% - ${scrollbarWidth}px)`;
     }
-  }, {
-    key: "show",
-    value: function show() {
-      if (this.visible) {
-        return;
-      }
+  }
 
-      this.visible = true;
-      document.body.classList.add('loadingInProgress');
-      this.bar.classList.remove('hidden');
+  hide() {
+    if (!this.visible) {
+      return;
     }
-  }, {
-    key: "percent",
-    get: function get() {
-      return this._percent;
-    },
-    set: function set(val) {
-      this._indeterminate = isNaN(val);
-      this._percent = clamp(val, 0, 100);
 
-      this._updateBar();
+    this.visible = false;
+    this.bar.classList.add("hidden");
+    document.body.classList.remove("loadingInProgress");
+  }
+
+  show() {
+    if (this.visible) {
+      return;
     }
-  }]);
 
-  return ProgressBar;
-}();
+    this.visible = true;
+    document.body.classList.add("loadingInProgress");
+    this.bar.classList.remove("hidden");
+  }
+
+}
 
 exports.ProgressBar = ProgressBar;
 
 function moveToEndOfArray(arr, condition) {
-  var moved = [],
-      len = arr.length;
-  var write = 0;
+  const moved = [],
+        len = arr.length;
+  let write = 0;
 
-  for (var read = 0; read < len; ++read) {
+  for (let read = 0; read < len; ++read) {
     if (condition(arr[read])) {
       moved.push(arr[read]);
     } else {
@@ -4212,13 +3465,13 @@ function moveToEndOfArray(arr, condition) {
     }
   }
 
-  for (var _read = 0; write < len; ++_read, ++write) {
-    arr[write] = moved[_read];
+  for (let read = 0; write < len; ++read, ++write) {
+    arr[write] = moved[read];
   }
 }
 
 /***/ }),
-/* 6 */
+/* 3 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4229,36 +3482,28 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.OptionKind = exports.AppOptions = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
+var _pdfjsLib = __webpack_require__(4);
 
-var _viewer_compatibility = __webpack_require__(8);
+var _viewer_compatibility = __webpack_require__(5);
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); return Constructor; }
-
-var OptionKind = {
+const OptionKind = {
   VIEWER: 0x02,
   API: 0x04,
   WORKER: 0x08,
   PREFERENCE: 0x80
 };
 exports.OptionKind = OptionKind;
-var defaultOptions = {
+const defaultOptions = {
   cursorToolOnLoad: {
     value: 0,
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
   defaultUrl: {
-    value: 'compressed.tracemonkey-pldi-09.pdf',
+    value: "compressed.tracemonkey-pldi-09.pdf",
     kind: OptionKind.VIEWER
   },
   defaultZoomValue: {
-    value: '',
+    value: "",
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
   disableHistory: {
@@ -4282,7 +3527,7 @@ var defaultOptions = {
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
   externalLinkRel: {
-    value: 'noopener noreferrer nofollow',
+    value: "noopener noreferrer nofollow",
     kind: OptionKind.VIEWER
   },
   externalLinkTarget: {
@@ -4293,8 +3538,12 @@ var defaultOptions = {
     value: false,
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
+  ignoreDestinationZoom: {
+    value: false,
+    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
+  },
   imageResourcesPath: {
-    value: './images/',
+    value: "./images/",
     kind: OptionKind.VIEWER
   },
   maxCanvasPixels: {
@@ -4307,7 +3556,7 @@ var defaultOptions = {
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
   renderer: {
-    value: 'canvas',
+    value: "canvas",
     kind: OptionKind.VIEWER + OptionKind.PREFERENCE
   },
   renderInteractiveForms: {
@@ -4343,7 +3592,7 @@ var defaultOptions = {
     kind: OptionKind.API
   },
   cMapUrl: {
-    value: '../web/cmaps/',
+    value: "../web/cmaps/",
     kind: OptionKind.API
   },
   disableAutoFetch: {
@@ -4368,7 +3617,7 @@ var defaultOptions = {
     kind: OptionKind.API + OptionKind.PREFERENCE
   },
   docBaseUrl: {
-    value: '',
+    value: "",
     kind: OptionKind.API
   },
   isEvalSupported: {
@@ -4392,7 +3641,7 @@ var defaultOptions = {
     kind: OptionKind.WORKER
   },
   workerSrc: {
-    value: '../build/pdf.worker.js',
+    value: "../build/pdf.worker.js",
     kind: OptionKind.WORKER
   }
 };
@@ -4402,7 +3651,7 @@ var defaultOptions = {
     kind: OptionKind.VIEWER
   };
   defaultOptions.locale = {
-    value: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
+    value: typeof navigator !== "undefined" ? navigator.language : "en-US",
     kind: OptionKind.VIEWER
   };
   defaultOptions.printResolution = {
@@ -4410,113 +3659,103 @@ var defaultOptions = {
     kind: OptionKind.VIEWER
   };
 }
-var userOptions = Object.create(null);
-
-var AppOptions =
-/*#__PURE__*/
-function () {
-  function AppOptions() {
-    _classCallCheck(this, AppOptions);
+const userOptions = Object.create(null);
 
-    throw new Error('Cannot initialize AppOptions.');
+class AppOptions {
+  constructor() {
+    throw new Error("Cannot initialize AppOptions.");
   }
 
-  _createClass(AppOptions, null, [{
-    key: "get",
-    value: function get(name) {
-      var userOption = userOptions[name];
+  static get(name) {
+    const userOption = userOptions[name];
 
-      if (userOption !== undefined) {
-        return userOption;
-      }
-
-      var defaultOption = defaultOptions[name];
+    if (userOption !== undefined) {
+      return userOption;
+    }
 
-      if (defaultOption !== undefined) {
-        return defaultOption.compatibility || defaultOption.value;
-      }
+    const defaultOption = defaultOptions[name];
 
-      return undefined;
+    if (defaultOption !== undefined) {
+      return defaultOption.compatibility || defaultOption.value;
     }
-  }, {
-    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 = defaultOptions[name];
+    return undefined;
+  }
 
-        if (kind) {
-          if ((kind & defaultOption.kind) === 0) {
-            continue;
-          }
+  static getAll(kind = null) {
+    const options = Object.create(null);
 
-          if (kind === OptionKind.PREFERENCE) {
-            var value = defaultOption.value,
-                valueType = _typeof(value);
+    for (const name in defaultOptions) {
+      const defaultOption = defaultOptions[name];
 
-            if (valueType === 'boolean' || valueType === 'string' || valueType === 'number' && 
Number.isInteger(value)) {
-              options[name] = value;
-              continue;
-            }
+      if (kind) {
+        if ((kind & defaultOption.kind) === 0) {
+          continue;
+        }
+
+        if (kind === OptionKind.PREFERENCE) {
+          const value = defaultOption.value,
+                valueType = typeof value;
 
-            throw new Error("Invalid type for preference: ".concat(name));
+          if (valueType === "boolean" || valueType === "string" || valueType === "number" && 
Number.isInteger(value)) {
+            options[name] = value;
+            continue;
           }
-        }
 
-        var userOption = userOptions[name];
-        options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || 
defaultOption.value;
+          throw new Error(`Invalid type for preference: ${name}`);
+        }
       }
 
-      return options;
-    }
-  }, {
-    key: "set",
-    value: function set(name, value) {
-      userOptions[name] = value;
+      const userOption = userOptions[name];
+      options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || 
defaultOption.value;
     }
-  }, {
-    key: "remove",
-    value: function remove(name) {
-      delete userOptions[name];
-    }
-  }]);
 
-  return AppOptions;
-}();
+    return options;
+  }
+
+  static set(name, value) {
+    userOptions[name] = value;
+  }
+
+  static remove(name) {
+    delete userOptions[name];
+  }
+
+}
 
 exports.AppOptions = AppOptions;
 
 /***/ }),
-/* 7 */
+/* 4 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var pdfjsLib;
+let pdfjsLib;
 
-if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {
-  pdfjsLib = window['pdfjs-dist/build/pdf'];
+if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
+  pdfjsLib = window["pdfjs-dist/build/pdf"];
 } else {
-  pdfjsLib = require('../build/pdf.js');
+  pdfjsLib = require("../build/pdf.js");
 }
 
 module.exports = pdfjsLib;
 
 /***/ }),
-/* 8 */
+/* 5 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var compatibilityParams = Object.create(null);
+const compatibilityParams = Object.create(null);
 {
-  var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';
-  var isAndroid = /Android/.test(userAgent);
-  var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);
+  const userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
+  const platform = typeof navigator !== "undefined" && navigator.platform || "";
+  const maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1;
+  const isAndroid = /Android/.test(userAgent);
+  const isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
 
   (function checkCanvasSizeLimitation() {
     if (isIOS || isAndroid) {
@@ -4527,7 +3766,7 @@ var compatibilityParams = Object.create(null);
 exports.viewerCompatibilityParams = Object.freeze(compatibilityParams);
 
 /***/ }),
-/* 9 */
+/* 6 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4538,34 +3777,21 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFCursorTools = exports.CursorTool = void 0;
 
-var _grab_to_pan = __webpack_require__(10);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _grab_to_pan = __webpack_require__(7);
 
-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); return Constructor; }
-
-var CursorTool = {
+const CursorTool = {
   SELECT: 0,
   HAND: 1,
   ZOOM: 2
 };
 exports.CursorTool = CursorTool;
 
-var PDFCursorTools =
-/*#__PURE__*/
-function () {
-  function PDFCursorTools(_ref) {
-    var _this = this;
-
-    var container = _ref.container,
-        eventBus = _ref.eventBus,
-        _ref$cursorToolOnLoad = _ref.cursorToolOnLoad,
-        cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;
-
-    _classCallCheck(this, PDFCursorTools);
-
+class PDFCursorTools {
+  constructor({
+    container,
+    eventBus,
+    cursorToolOnLoad = CursorTool.SELECT
+  }) {
     this.container = container;
     this.eventBus = eventBus;
     this.active = CursorTool.SELECT;
@@ -4576,109 +3802,95 @@ function () {
 
     this._addEventListeners();
 
-    Promise.resolve().then(function () {
-      _this.switchTool(cursorToolOnLoad);
+    Promise.resolve().then(() => {
+      this.switchTool(cursorToolOnLoad);
     });
   }
 
-  _createClass(PDFCursorTools, [{
-    key: "switchTool",
-    value: function switchTool(tool) {
-      var _this2 = this;
-
-      if (this.activeBeforePresentationMode !== null) {
-        return;
-      }
-
-      if (tool === this.active) {
-        return;
-      }
-
-      var disableActiveTool = function disableActiveTool() {
-        switch (_this2.active) {
-          case CursorTool.SELECT:
-            break;
-
-          case CursorTool.HAND:
-            _this2.handTool.deactivate();
+  get activeTool() {
+    return this.active;
+  }
 
-            break;
+  switchTool(tool) {
+    if (this.activeBeforePresentationMode !== null) {
+      return;
+    }
 
-          case CursorTool.ZOOM:
-        }
-      };
+    if (tool === this.active) {
+      return;
+    }
 
-      switch (tool) {
+    const disableActiveTool = () => {
+      switch (this.active) {
         case CursorTool.SELECT:
-          disableActiveTool();
           break;
 
         case CursorTool.HAND:
-          disableActiveTool();
-          this.handTool.activate();
+          this.handTool.deactivate();
           break;
 
         case CursorTool.ZOOM:
-        default:
-          console.error("switchTool: \"".concat(tool, "\" is an unsupported value."));
-          return;
       }
+    };
+
+    switch (tool) {
+      case CursorTool.SELECT:
+        disableActiveTool();
+        break;
 
-      this.active = tool;
+      case CursorTool.HAND:
+        disableActiveTool();
+        this.handTool.activate();
+        break;
 
-      this._dispatchEvent();
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent() {
-      this.eventBus.dispatch('cursortoolchanged', {
-        source: this,
-        tool: this.active
-      });
+      case CursorTool.ZOOM:
+      default:
+        console.error(`switchTool: "${tool}" is an unsupported value.`);
+        return;
     }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this3 = this;
 
-      this.eventBus.on('switchcursortool', function (evt) {
-        _this3.switchTool(evt.tool);
-      });
-      this.eventBus.on('presentationmodechanged', function (evt) {
-        if (evt.switchInProgress) {
-          return;
-        }
+    this.active = tool;
 
-        var previouslyActive;
+    this._dispatchEvent();
+  }
 
-        if (evt.active) {
-          previouslyActive = _this3.active;
+  _dispatchEvent() {
+    this.eventBus.dispatch("cursortoolchanged", {
+      source: this,
+      tool: this.active
+    });
+  }
 
-          _this3.switchTool(CursorTool.SELECT);
+  _addEventListeners() {
+    this.eventBus._on("switchcursortool", evt => {
+      this.switchTool(evt.tool);
+    });
 
-          _this3.activeBeforePresentationMode = previouslyActive;
-        } else {
-          previouslyActive = _this3.activeBeforePresentationMode;
-          _this3.activeBeforePresentationMode = null;
+    this.eventBus._on("presentationmodechanged", evt => {
+      if (evt.switchInProgress) {
+        return;
+      }
 
-          _this3.switchTool(previouslyActive);
-        }
-      });
-    }
-  }, {
-    key: "activeTool",
-    get: function get() {
-      return this.active;
-    }
-  }]);
+      let previouslyActive;
 
-  return PDFCursorTools;
-}();
+      if (evt.active) {
+        previouslyActive = this.active;
+        this.switchTool(CursorTool.SELECT);
+        this.activeBeforePresentationMode = previouslyActive;
+      } else {
+        previouslyActive = this.activeBeforePresentationMode;
+        this.activeBeforePresentationMode = null;
+        this.switchTool(previouslyActive);
+      }
+    });
+  }
+
+}
 
 exports.PDFCursorTools = PDFCursorTools;
 
 /***/ }),
-/* 10 */
+/* 7 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4693,7 +3905,7 @@ function GrabToPan(options) {
   this.element = options.element;
   this.document = options.element.ownerDocument;
 
-  if (typeof options.ignoreTarget === 'function') {
+  if (typeof options.ignoreTarget === "function") {
     this.ignoreTarget = options.ignoreTarget;
   }
 
@@ -4704,16 +3916,16 @@ function GrabToPan(options) {
   this._onmousedown = this._onmousedown.bind(this);
   this._onmousemove = this._onmousemove.bind(this);
   this._endPan = this._endPan.bind(this);
-  var overlay = this.overlay = document.createElement('div');
-  overlay.className = 'grab-to-pan-grabbing';
+  const overlay = this.overlay = document.createElement("div");
+  overlay.className = "grab-to-pan-grabbing";
 }
 
 GrabToPan.prototype = {
-  CSS_CLASS_GRAB: 'grab-to-pan-grab',
+  CSS_CLASS_GRAB: "grab-to-pan-grab",
   activate: function GrabToPan_activate() {
     if (!this.active) {
       this.active = true;
-      this.element.addEventListener('mousedown', this._onmousedown, true);
+      this.element.addEventListener("mousedown", this._onmousedown, true);
       this.element.classList.add(this.CSS_CLASS_GRAB);
 
       if (this.onActiveChanged) {
@@ -4724,7 +3936,7 @@ GrabToPan.prototype = {
   deactivate: function GrabToPan_deactivate() {
     if (this.active) {
       this.active = false;
-      this.element.removeEventListener('mousedown', this._onmousedown, true);
+      this.element.removeEventListener("mousedown", this._onmousedown, true);
 
       this._endPan();
 
@@ -4743,7 +3955,7 @@ GrabToPan.prototype = {
     }
   },
   ignoreTarget: function GrabToPan_ignoreTarget(node) {
-    return node[matchesSelector]('a[href], a[href] *, input, textarea, button, button *, select, option');
+    return node[matchesSelector]("a[href], a[href] *, input, textarea, button, button *, select, option");
   },
   _onmousedown: function GrabToPan__onmousedown(event) {
     if (event.button !== 0 || this.ignoreTarget(event.target)) {
@@ -4762,19 +3974,19 @@ GrabToPan.prototype = {
     this.scrollTopStart = this.element.scrollTop;
     this.clientXStart = event.clientX;
     this.clientYStart = event.clientY;
-    this.document.addEventListener('mousemove', this._onmousemove, true);
-    this.document.addEventListener('mouseup', this._endPan, true);
-    this.element.addEventListener('scroll', this._endPan, true);
+    this.document.addEventListener("mousemove", this._onmousemove, true);
+    this.document.addEventListener("mouseup", this._endPan, true);
+    this.element.addEventListener("scroll", this._endPan, true);
     event.preventDefault();
     event.stopPropagation();
-    var focusedElement = document.activeElement;
+    const focusedElement = document.activeElement;
 
     if (focusedElement && !focusedElement.contains(event.target)) {
       focusedElement.blur();
     }
   },
   _onmousemove: function GrabToPan__onmousemove(event) {
-    this.element.removeEventListener('scroll', this._endPan, true);
+    this.element.removeEventListener("scroll", this._endPan, true);
 
     if (isLeftMouseReleased(event)) {
       this._endPan();
@@ -4782,16 +3994,16 @@ GrabToPan.prototype = {
       return;
     }
 
-    var xDiff = event.clientX - this.clientXStart;
-    var yDiff = event.clientY - this.clientYStart;
-    var scrollTop = this.scrollTopStart - yDiff;
-    var scrollLeft = this.scrollLeftStart - xDiff;
+    const xDiff = event.clientX - this.clientXStart;
+    const yDiff = event.clientY - this.clientYStart;
+    const scrollTop = this.scrollTopStart - yDiff;
+    const scrollLeft = this.scrollLeftStart - xDiff;
 
     if (this.element.scrollTo) {
       this.element.scrollTo({
         top: scrollTop,
         left: scrollLeft,
-        behavior: 'instant'
+        behavior: "instant"
       });
     } else {
       this.element.scrollTop = scrollTop;
@@ -4803,21 +4015,21 @@ GrabToPan.prototype = {
     }
   },
   _endPan: function GrabToPan__endPan() {
-    this.element.removeEventListener('scroll', this._endPan, true);
-    this.document.removeEventListener('mousemove', this._onmousemove, true);
-    this.document.removeEventListener('mouseup', this._endPan, true);
+    this.element.removeEventListener("scroll", this._endPan, true);
+    this.document.removeEventListener("mousemove", this._onmousemove, true);
+    this.document.removeEventListener("mouseup", this._endPan, true);
     this.overlay.remove();
   }
 };
-var matchesSelector;
-['webkitM', 'mozM', 'msM', 'oM', 'm'].some(function (prefix) {
-  var name = prefix + 'atches';
+let matchesSelector;
+["webkitM", "mozM", "msM", "oM", "m"].some(function (prefix) {
+  let name = prefix + "atches";
 
   if (name in document.documentElement) {
     matchesSelector = name;
   }
 
-  name += 'Selector';
+  name += "Selector";
 
   if (name in document.documentElement) {
     matchesSelector = name;
@@ -4825,13 +4037,13 @@ var matchesSelector;
 
   return matchesSelector;
 });
-var isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9;
-var chrome = window.chrome;
-var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);
-var isSafari6plus = /Apple/.test(navigator.vendor) && 
/Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);
+const isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9;
+const chrome = window.chrome;
+const isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);
+const isSafari6plus = /Apple/.test(navigator.vendor) && 
/Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);
 
 function isLeftMouseReleased(event) {
-  if ('buttons' in event && isNotIEorIsIE10plus) {
+  if ("buttons" in event && isNotIEorIsIE10plus) {
     return !(event.buttons & 1);
   }
 
@@ -4843,7 +4055,7 @@ function isLeftMouseReleased(event) {
 }
 
 /***/ }),
-/* 11 */
+/* 8 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -4853,15 +4065,8 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.PDFRenderingQueue = exports.RenderingStates = 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); return Constructor; }
-
-var CLEANUP_TIMEOUT = 30000;
-var RenderingStates = {
+const CLEANUP_TIMEOUT = 30000;
+const RenderingStates = {
   INITIAL: 0,
   RUNNING: 1,
   PAUSED: 2,
@@ -4869,12 +4074,8 @@ var RenderingStates = {
 };
 exports.RenderingStates = RenderingStates;
 
-var PDFRenderingQueue =
-/*#__PURE__*/
-function () {
-  function PDFRenderingQueue() {
-    _classCallCheck(this, PDFRenderingQueue);
-
+class PDFRenderingQueue {
+  constructor() {
     this.pdfViewer = null;
     this.pdfThumbnailViewer = null;
     this.onIdle = null;
@@ -4884,123 +4085,113 @@ function () {
     this.isThumbnailViewEnabled = false;
   }
 
-  _createClass(PDFRenderingQueue, [{
-    key: "setViewer",
-    value: function setViewer(pdfViewer) {
-      this.pdfViewer = pdfViewer;
-    }
-  }, {
-    key: "setThumbnailViewer",
-    value: function setThumbnailViewer(pdfThumbnailViewer) {
-      this.pdfThumbnailViewer = pdfThumbnailViewer;
+  setViewer(pdfViewer) {
+    this.pdfViewer = pdfViewer;
+  }
+
+  setThumbnailViewer(pdfThumbnailViewer) {
+    this.pdfThumbnailViewer = pdfThumbnailViewer;
+  }
+
+  isHighestPriority(view) {
+    return this.highestPriorityPage === view.renderingId;
+  }
+
+  renderHighestPriority(currentlyVisiblePages) {
+    if (this.idleTimeout) {
+      clearTimeout(this.idleTimeout);
+      this.idleTimeout = null;
     }
-  }, {
-    key: "isHighestPriority",
-    value: function isHighestPriority(view) {
-      return this.highestPriorityPage === view.renderingId;
+
+    if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
+      return;
     }
-  }, {
-    key: "renderHighestPriority",
-    value: function renderHighestPriority(currentlyVisiblePages) {
-      if (this.idleTimeout) {
-        clearTimeout(this.idleTimeout);
-        this.idleTimeout = null;
-      }
 
-      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
+    if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
+      if (this.pdfThumbnailViewer.forceRendering()) {
         return;
       }
+    }
 
-      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
-        if (this.pdfThumbnailViewer.forceRendering()) {
-          return;
-        }
-      }
-
-      if (this.printing) {
-        return;
-      }
+    if (this.printing) {
+      return;
+    }
 
-      if (this.onIdle) {
-        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
-      }
+    if (this.onIdle) {
+      this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
     }
-  }, {
-    key: "getHighestPriority",
-    value: function getHighestPriority(visible, views, scrolledDown) {
-      var visibleViews = visible.views;
-      var numVisible = visibleViews.length;
+  }
 
-      if (numVisible === 0) {
-        return null;
-      }
+  getHighestPriority(visible, views, scrolledDown) {
+    const visibleViews = visible.views;
+    const numVisible = visibleViews.length;
+
+    if (numVisible === 0) {
+      return null;
+    }
 
-      for (var i = 0; i < numVisible; ++i) {
-        var view = visibleViews[i].view;
+    for (let i = 0; i < numVisible; ++i) {
+      const view = visibleViews[i].view;
 
-        if (!this.isViewFinished(view)) {
-          return view;
-        }
+      if (!this.isViewFinished(view)) {
+        return view;
       }
+    }
 
-      if (scrolledDown) {
-        var nextPageIndex = visible.last.id;
-
-        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
-          return views[nextPageIndex];
-        }
-      } else {
-        var previousPageIndex = visible.first.id - 2;
+    if (scrolledDown) {
+      const nextPageIndex = visible.last.id;
 
-        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
-          return views[previousPageIndex];
-        }
+      if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
+        return views[nextPageIndex];
       }
+    } else {
+      const previousPageIndex = visible.first.id - 2;
 
-      return null;
-    }
-  }, {
-    key: "isViewFinished",
-    value: function isViewFinished(view) {
-      return view.renderingState === RenderingStates.FINISHED;
+      if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
+        return views[previousPageIndex];
+      }
     }
-  }, {
-    key: "renderView",
-    value: function renderView(view) {
-      var _this = this;
 
-      switch (view.renderingState) {
-        case RenderingStates.FINISHED:
-          return false;
+    return null;
+  }
 
-        case RenderingStates.PAUSED:
-          this.highestPriorityPage = view.renderingId;
-          view.resume();
-          break;
+  isViewFinished(view) {
+    return view.renderingState === RenderingStates.FINISHED;
+  }
 
-        case RenderingStates.RUNNING:
-          this.highestPriorityPage = view.renderingId;
-          break;
+  renderView(view) {
+    switch (view.renderingState) {
+      case RenderingStates.FINISHED:
+        return false;
 
-        case RenderingStates.INITIAL:
-          this.highestPriorityPage = view.renderingId;
-          view.draw()["finally"](function () {
-            _this.renderHighestPriority();
-          });
-          break;
-      }
+      case RenderingStates.PAUSED:
+        this.highestPriorityPage = view.renderingId;
+        view.resume();
+        break;
 
-      return true;
+      case RenderingStates.RUNNING:
+        this.highestPriorityPage = view.renderingId;
+        break;
+
+      case RenderingStates.INITIAL:
+        this.highestPriorityPage = view.renderingId;
+        view.draw().finally(() => {
+          this.renderHighestPriority();
+        }).catch(reason => {
+          console.error(`renderView: "${reason}"`);
+        });
+        break;
     }
-  }]);
 
-  return PDFRenderingQueue;
-}();
+    return true;
+  }
+
+}
 
 exports.PDFRenderingQueue = PDFRenderingQueue;
 
 /***/ }),
-/* 12 */
+/* 9 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5011,18 +4202,12 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFSidebar = exports.SidebarView = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _ui_utils = __webpack_require__(2);
 
-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); } }
+var _pdf_rendering_queue = __webpack_require__(8);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var UI_NOTIFICATION_CLASS = 'pdfSidebarNotification';
-var SidebarView = {
+const UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
+const SidebarView = {
   UNKNOWN: -1,
   NONE: 0,
   THUMBS: 1,
@@ -5032,21 +4217,15 @@ var SidebarView = {
 };
 exports.SidebarView = SidebarView;
 
-var PDFSidebar =
-/*#__PURE__*/
-function () {
-  function PDFSidebar(_ref) {
-    var elements = _ref.elements,
-        pdfViewer = _ref.pdfViewer,
-        pdfThumbnailViewer = _ref.pdfThumbnailViewer,
-        eventBus = _ref.eventBus,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,
-        _ref$disableNotificat = _ref.disableNotification,
-        disableNotification = _ref$disableNotificat === void 0 ? false : _ref$disableNotificat;
-
-    _classCallCheck(this, PDFSidebar);
-
+class PDFSidebar {
+  constructor({
+    elements,
+    pdfViewer,
+    pdfThumbnailViewer,
+    eventBus,
+    l10n = _ui_utils.NullL10n,
+    disableNotification = false
+  }) {
     this.isOpen = false;
     this.active = SidebarView.THUMBS;
     this.isInitialViewSet = false;
@@ -5069,360 +4248,332 @@ function () {
     this._addEventListeners();
   }
 
-  _createClass(PDFSidebar, [{
-    key: "reset",
-    value: function reset() {
-      this.isInitialViewSet = false;
+  reset() {
+    this.isInitialViewSet = false;
 
-      this._hideUINotification(null);
+    this._hideUINotification(null);
 
-      this.switchView(SidebarView.THUMBS);
-      this.outlineButton.disabled = false;
-      this.attachmentsButton.disabled = false;
-    }
-  }, {
-    key: "setInitialView",
-    value: function setInitialView() {
-      var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SidebarView.NONE;
+    this.switchView(SidebarView.THUMBS);
+    this.outlineButton.disabled = false;
+    this.attachmentsButton.disabled = false;
+  }
 
-      if (this.isInitialViewSet) {
-        return;
-      }
+  get visibleView() {
+    return this.isOpen ? this.active : SidebarView.NONE;
+  }
 
-      this.isInitialViewSet = true;
+  get isThumbnailViewVisible() {
+    return this.isOpen && this.active === SidebarView.THUMBS;
+  }
 
-      if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {
-        this._dispatchEvent();
+  get isOutlineViewVisible() {
+    return this.isOpen && this.active === SidebarView.OUTLINE;
+  }
 
-        return;
-      }
+  get isAttachmentsViewVisible() {
+    return this.isOpen && this.active === SidebarView.ATTACHMENTS;
+  }
 
-      if (!this._switchView(view, true)) {
-        this._dispatchEvent();
-      }
+  setInitialView(view = SidebarView.NONE) {
+    if (this.isInitialViewSet) {
+      return;
     }
-  }, {
-    key: "switchView",
-    value: function switchView(view) {
-      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-      this._switchView(view, forceOpen);
+    this.isInitialViewSet = true;
+
+    if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {
+      this._dispatchEvent();
+
+      return;
     }
-  }, {
-    key: "_switchView",
-    value: function _switchView(view) {
-      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var isViewChanged = view !== this.active;
-      var shouldForceRendering = false;
 
-      switch (view) {
-        case SidebarView.NONE:
-          if (this.isOpen) {
-            this.close();
-            return true;
-          }
+    if (!this._switchView(view, true)) {
+      this._dispatchEvent();
+    }
+  }
 
-          return false;
+  switchView(view, forceOpen = false) {
+    this._switchView(view, forceOpen);
+  }
 
-        case SidebarView.THUMBS:
-          if (this.isOpen && isViewChanged) {
-            shouldForceRendering = true;
-          }
+  _switchView(view, forceOpen = false) {
+    const isViewChanged = view !== this.active;
+    let shouldForceRendering = false;
 
-          break;
+    switch (view) {
+      case SidebarView.NONE:
+        if (this.isOpen) {
+          this.close();
+          return true;
+        }
 
-        case SidebarView.OUTLINE:
-          if (this.outlineButton.disabled) {
-            return false;
-          }
+        return false;
 
-          break;
+      case SidebarView.THUMBS:
+        if (this.isOpen && isViewChanged) {
+          shouldForceRendering = true;
+        }
 
-        case SidebarView.ATTACHMENTS:
-          if (this.attachmentsButton.disabled) {
-            return false;
-          }
+        break;
 
-          break;
+      case SidebarView.OUTLINE:
+        if (this.outlineButton.disabled) {
+          return false;
+        }
 
-        default:
-          console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view."));
+        break;
+
+      case SidebarView.ATTACHMENTS:
+        if (this.attachmentsButton.disabled) {
           return false;
-      }
+        }
 
-      this.active = view;
-      this.thumbnailButton.classList.toggle('toggled', view === SidebarView.THUMBS);
-      this.outlineButton.classList.toggle('toggled', view === SidebarView.OUTLINE);
-      this.attachmentsButton.classList.toggle('toggled', view === SidebarView.ATTACHMENTS);
-      this.thumbnailView.classList.toggle('hidden', view !== SidebarView.THUMBS);
-      this.outlineView.classList.toggle('hidden', view !== SidebarView.OUTLINE);
-      this.attachmentsView.classList.toggle('hidden', view !== SidebarView.ATTACHMENTS);
+        break;
 
-      if (forceOpen && !this.isOpen) {
-        this.open();
-        return true;
-      }
+      default:
+        console.error(`PDFSidebar._switchView: "${view}" is not a valid view.`);
+        return false;
+    }
 
-      if (shouldForceRendering) {
-        this._updateThumbnailViewer();
+    this.active = view;
+    this.thumbnailButton.classList.toggle("toggled", view === SidebarView.THUMBS);
+    this.outlineButton.classList.toggle("toggled", view === SidebarView.OUTLINE);
+    this.attachmentsButton.classList.toggle("toggled", view === SidebarView.ATTACHMENTS);
+    this.thumbnailView.classList.toggle("hidden", view !== SidebarView.THUMBS);
+    this.outlineView.classList.toggle("hidden", view !== SidebarView.OUTLINE);
+    this.attachmentsView.classList.toggle("hidden", view !== SidebarView.ATTACHMENTS);
 
-        this._forceRendering();
-      }
+    if (forceOpen && !this.isOpen) {
+      this.open();
+      return true;
+    }
 
-      if (isViewChanged) {
-        this._dispatchEvent();
-      }
+    if (shouldForceRendering) {
+      this._updateThumbnailViewer();
 
-      this._hideUINotification(this.active);
+      this._forceRendering();
+    }
 
-      return isViewChanged;
+    if (isViewChanged) {
+      this._dispatchEvent();
     }
-  }, {
-    key: "open",
-    value: function open() {
-      if (this.isOpen) {
-        return;
-      }
 
-      this.isOpen = true;
-      this.toggleButton.classList.add('toggled');
-      this.outerContainer.classList.add('sidebarMoving', 'sidebarOpen');
+    this._hideUINotification(this.active);
 
-      if (this.active === SidebarView.THUMBS) {
-        this._updateThumbnailViewer();
-      }
+    return isViewChanged;
+  }
 
-      this._forceRendering();
+  open() {
+    if (this.isOpen) {
+      return;
+    }
 
-      this._dispatchEvent();
+    this.isOpen = true;
+    this.toggleButton.classList.add("toggled");
+    this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
 
-      this._hideUINotification(this.active);
+    if (this.active === SidebarView.THUMBS) {
+      this._updateThumbnailViewer();
     }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.isOpen) {
-        return;
-      }
 
-      this.isOpen = false;
-      this.toggleButton.classList.remove('toggled');
-      this.outerContainer.classList.add('sidebarMoving');
-      this.outerContainer.classList.remove('sidebarOpen');
+    this._forceRendering();
 
-      this._forceRendering();
+    this._dispatchEvent();
 
-      this._dispatchEvent();
+    this._hideUINotification(this.active);
+  }
+
+  close() {
+    if (!this.isOpen) {
+      return;
     }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.isOpen) {
-        this.close();
-      } else {
-        this.open();
-      }
+
+    this.isOpen = false;
+    this.toggleButton.classList.remove("toggled");
+    this.outerContainer.classList.add("sidebarMoving");
+    this.outerContainer.classList.remove("sidebarOpen");
+
+    this._forceRendering();
+
+    this._dispatchEvent();
+  }
+
+  toggle() {
+    if (this.isOpen) {
+      this.close();
+    } else {
+      this.open();
     }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent() {
-      this.eventBus.dispatch('sidebarviewchanged', {
-        source: this,
-        view: this.visibleView
-      });
+  }
+
+  _dispatchEvent() {
+    this.eventBus.dispatch("sidebarviewchanged", {
+      source: this,
+      view: this.visibleView
+    });
+  }
+
+  _forceRendering() {
+    if (this.onToggled) {
+      this.onToggled();
+    } else {
+      this.pdfViewer.forceRendering();
+      this.pdfThumbnailViewer.forceRendering();
     }
-  }, {
-    key: "_forceRendering",
-    value: function _forceRendering() {
-      if (this.onToggled) {
-        this.onToggled();
-      } else {
-        this.pdfViewer.forceRendering();
-        this.pdfThumbnailViewer.forceRendering();
+  }
+
+  _updateThumbnailViewer() {
+    const {
+      pdfViewer,
+      pdfThumbnailViewer
+    } = this;
+    const pagesCount = pdfViewer.pagesCount;
+
+    for (let pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
+      const pageView = pdfViewer.getPageView(pageIndex);
+
+      if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {
+        const thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
+        thumbnailView.setImage(pageView);
       }
     }
-  }, {
-    key: "_updateThumbnailViewer",
-    value: function _updateThumbnailViewer() {
-      var pdfViewer = this.pdfViewer,
-          pdfThumbnailViewer = this.pdfThumbnailViewer;
-      var pagesCount = pdfViewer.pagesCount;
 
-      for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
-        var pageView = pdfViewer.getPageView(pageIndex);
+    pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
+  }
 
-        if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {
-          var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
-          thumbnailView.setImage(pageView);
-        }
-      }
+  _showUINotification(view) {
+    if (this._disableNotification) {
+      return;
+    }
+
+    this.l10n.get("toggle_sidebar_notification.title", null, "Toggle Sidebar (document contains 
outline/attachments)").then(msg => {
+      this.toggleButton.title = msg;
+    });
 
-      pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
+    if (!this.isOpen) {
+      this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
+    } else if (view === this.active) {
+      return;
     }
-  }, {
-    key: "_showUINotification",
-    value: function _showUINotification(view) {
-      var _this = this;
 
-      if (this._disableNotification) {
-        return;
-      }
+    switch (view) {
+      case SidebarView.OUTLINE:
+        this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);
+        break;
 
-      this.l10n.get('toggle_sidebar_notification.title', null, 'Toggle Sidebar (document contains 
outline/attachments)').then(function (msg) {
-        _this.toggleButton.title = msg;
-      });
+      case SidebarView.ATTACHMENTS:
+        this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
+        break;
+    }
+  }
 
-      if (!this.isOpen) {
-        this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
-      } else if (view === this.active) {
-        return;
-      }
+  _hideUINotification(view) {
+    if (this._disableNotification) {
+      return;
+    }
 
-      switch (view) {
+    const removeNotification = sidebarView => {
+      switch (sidebarView) {
         case SidebarView.OUTLINE:
-          this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);
+          this.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
           break;
 
         case SidebarView.ATTACHMENTS:
-          this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
+          this.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
           break;
       }
-    }
-  }, {
-    key: "_hideUINotification",
-    value: function _hideUINotification(view) {
-      var _this2 = this;
+    };
 
-      if (this._disableNotification) {
-        return;
-      }
+    if (!this.isOpen && view !== null) {
+      return;
+    }
 
-      var removeNotification = function removeNotification(view) {
-        switch (view) {
-          case SidebarView.OUTLINE:
-            _this2.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
+    this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
 
-            break;
+    if (view !== null) {
+      removeNotification(view);
+      return;
+    }
 
-          case SidebarView.ATTACHMENTS:
-            _this2.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
+    for (view in SidebarView) {
+      removeNotification(SidebarView[view]);
+    }
 
-            break;
-        }
-      };
+    this.l10n.get("toggle_sidebar.title", null, "Toggle Sidebar").then(msg => {
+      this.toggleButton.title = msg;
+    });
+  }
 
-      if (!this.isOpen && view !== null) {
-        return;
+  _addEventListeners() {
+    this.viewerContainer.addEventListener("transitionend", evt => {
+      if (evt.target === this.viewerContainer) {
+        this.outerContainer.classList.remove("sidebarMoving");
       }
+    });
+    this.toggleButton.addEventListener("click", () => {
+      this.toggle();
+    });
+    this.thumbnailButton.addEventListener("click", () => {
+      this.switchView(SidebarView.THUMBS);
+    });
+    this.outlineButton.addEventListener("click", () => {
+      this.switchView(SidebarView.OUTLINE);
+    });
+    this.outlineButton.addEventListener("dblclick", () => {
+      this.eventBus.dispatch("toggleoutlinetree", {
+        source: this
+      });
+    });
+    this.attachmentsButton.addEventListener("click", () => {
+      this.switchView(SidebarView.ATTACHMENTS);
+    });
 
-      this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
-
-      if (view !== null) {
-        removeNotification(view);
-        return;
-      }
+    this.eventBus._on("outlineloaded", evt => {
+      const outlineCount = evt.outlineCount;
+      this.outlineButton.disabled = !outlineCount;
 
-      for (view in SidebarView) {
-        removeNotification(SidebarView[view]);
+      if (outlineCount) {
+        this._showUINotification(SidebarView.OUTLINE);
+      } else if (this.active === SidebarView.OUTLINE) {
+        this.switchView(SidebarView.THUMBS);
       }
+    });
 
-      this.l10n.get('toggle_sidebar.title', null, 'Toggle Sidebar').then(function (msg) {
-        _this2.toggleButton.title = msg;
-      });
-    }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this3 = this;
+    this.eventBus._on("attachmentsloaded", evt => {
+      if (evt.attachmentsCount) {
+        this.attachmentsButton.disabled = false;
 
-      this.viewerContainer.addEventListener('transitionend', function (evt) {
-        if (evt.target === _this3.viewerContainer) {
-          _this3.outerContainer.classList.remove('sidebarMoving');
-        }
-      });
-      this.toggleButton.addEventListener('click', function () {
-        _this3.toggle();
-      });
-      this.thumbnailButton.addEventListener('click', function () {
-        _this3.switchView(SidebarView.THUMBS);
-      });
-      this.outlineButton.addEventListener('click', function () {
-        _this3.switchView(SidebarView.OUTLINE);
-      });
-      this.outlineButton.addEventListener('dblclick', function () {
-        _this3.eventBus.dispatch('toggleoutlinetree', {
-          source: _this3
-        });
-      });
-      this.attachmentsButton.addEventListener('click', function () {
-        _this3.switchView(SidebarView.ATTACHMENTS);
-      });
-      this.eventBus.on('outlineloaded', function (evt) {
-        var outlineCount = evt.outlineCount;
-        _this3.outlineButton.disabled = !outlineCount;
-
-        if (outlineCount) {
-          _this3._showUINotification(SidebarView.OUTLINE);
-        } else if (_this3.active === SidebarView.OUTLINE) {
-          _this3.switchView(SidebarView.THUMBS);
-        }
-      });
-      this.eventBus.on('attachmentsloaded', function (evt) {
-        if (evt.attachmentsCount) {
-          _this3.attachmentsButton.disabled = false;
+        this._showUINotification(SidebarView.ATTACHMENTS);
 
-          _this3._showUINotification(SidebarView.ATTACHMENTS);
+        return;
+      }
 
+      Promise.resolve().then(() => {
+        if (this.attachmentsView.hasChildNodes()) {
           return;
         }
 
-        Promise.resolve().then(function () {
-          if (_this3.attachmentsView.hasChildNodes()) {
-            return;
-          }
-
-          _this3.attachmentsButton.disabled = true;
+        this.attachmentsButton.disabled = true;
 
-          if (_this3.active === SidebarView.ATTACHMENTS) {
-            _this3.switchView(SidebarView.THUMBS);
-          }
-        });
-      });
-      this.eventBus.on('presentationmodechanged', function (evt) {
-        if (!evt.active && !evt.switchInProgress && _this3.isThumbnailViewVisible) {
-          _this3._updateThumbnailViewer();
+        if (this.active === SidebarView.ATTACHMENTS) {
+          this.switchView(SidebarView.THUMBS);
         }
       });
-    }
-  }, {
-    key: "visibleView",
-    get: function get() {
-      return this.isOpen ? this.active : SidebarView.NONE;
-    }
-  }, {
-    key: "isThumbnailViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.THUMBS;
-    }
-  }, {
-    key: "isOutlineViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.OUTLINE;
-    }
-  }, {
-    key: "isAttachmentsViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.ATTACHMENTS;
-    }
-  }]);
+    });
 
-  return PDFSidebar;
-}();
+    this.eventBus._on("presentationmodechanged", evt => {
+      if (!evt.active && !evt.switchInProgress && this.isThumbnailViewVisible) {
+        this._updateThumbnailViewer();
+      }
+    });
+  }
+
+}
 
 exports.PDFSidebar = PDFSidebar;
 
 /***/ }),
-/* 13 */
+/* 10 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5433,283 +4584,107 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.OverlayManager = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-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); return Constructor; }
-
-var OverlayManager =
-/*#__PURE__*/
-function () {
-  function OverlayManager() {
-    _classCallCheck(this, OverlayManager);
-
+class OverlayManager {
+  constructor() {
     this._overlays = {};
     this._active = null;
     this._keyDownBound = this._keyDown.bind(this);
   }
 
-  _createClass(OverlayManager, [{
-    key: "register",
-    value: function () {
-      var _register = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(name, element) {
-        var callerCloseMethod,
-            canForceClose,
-            container,
-            _args = arguments;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;
-                canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;
-
-                if (!(!name || !element || !(container = element.parentNode))) {
-                  _context.next = 6;
-                  break;
-                }
-
-                throw new Error('Not enough parameters.');
-
-              case 6:
-                if (!this._overlays[name]) {
-                  _context.next = 8;
-                  break;
-                }
-
-                throw new Error('The overlay is already registered.');
-
-              case 8:
-                this._overlays[name] = {
-                  element: element,
-                  container: container,
-                  callerCloseMethod: callerCloseMethod,
-                  canForceClose: canForceClose
-                };
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function register(_x, _x2) {
-        return _register.apply(this, arguments);
-      }
-
-      return register;
-    }()
-  }, {
-    key: "unregister",
-    value: function () {
-      var _unregister = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(name) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                throw new Error('The overlay does not exist.');
-
-              case 4:
-                if (!(this._active === name)) {
-                  _context2.next = 6;
-                  break;
-                }
-
-                throw new Error('The overlay cannot be removed while it is active.');
-
-              case 6:
-                delete this._overlays[name];
-
-              case 7:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function unregister(_x3) {
-        return _unregister.apply(this, arguments);
-      }
-
-      return unregister;
-    }()
-  }, {
-    key: "open",
-    value: function () {
-      var _open = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3(name) {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context3.next = 4;
-                  break;
-                }
+  get active() {
+    return this._active;
+  }
 
-                throw new Error('The overlay does not exist.');
+  async register(name, element, callerCloseMethod = null, canForceClose = false) {
+    let container;
 
-              case 4:
-                if (!this._active) {
-                  _context3.next = 14;
-                  break;
-                }
+    if (!name || !element || !(container = element.parentNode)) {
+      throw new Error("Not enough parameters.");
+    } else if (this._overlays[name]) {
+      throw new Error("The overlay is already registered.");
+    }
 
-                if (!this._overlays[name].canForceClose) {
-                  _context3.next = 9;
-                  break;
-                }
+    this._overlays[name] = {
+      element,
+      container,
+      callerCloseMethod,
+      canForceClose
+    };
+  }
 
-                this._closeThroughCaller();
+  async unregister(name) {
+    if (!this._overlays[name]) {
+      throw new Error("The overlay does not exist.");
+    } else if (this._active === name) {
+      throw new Error("The overlay cannot be removed while it is active.");
+    }
 
-                _context3.next = 14;
-                break;
+    delete this._overlays[name];
+  }
 
-              case 9:
-                if (!(this._active === name)) {
-                  _context3.next = 13;
-                  break;
-                }
+  async open(name) {
+    if (!this._overlays[name]) {
+      throw new Error("The overlay does not exist.");
+    } else if (this._active) {
+      if (this._overlays[name].canForceClose) {
+        this._closeThroughCaller();
+      } else if (this._active === name) {
+        throw new Error("The overlay is already active.");
+      } else {
+        throw new Error("Another overlay is currently active.");
+      }
+    }
 
-                throw new Error('The overlay is already active.');
+    this._active = name;
 
-              case 13:
-                throw new Error('Another overlay is currently active.');
+    this._overlays[this._active].element.classList.remove("hidden");
 
-              case 14:
-                this._active = name;
+    this._overlays[this._active].container.classList.remove("hidden");
 
-                this._overlays[this._active].element.classList.remove('hidden');
+    window.addEventListener("keydown", this._keyDownBound);
+  }
 
-                this._overlays[this._active].container.classList.remove('hidden');
+  async close(name) {
+    if (!this._overlays[name]) {
+      throw new Error("The overlay does not exist.");
+    } else if (!this._active) {
+      throw new Error("The overlay is currently not active.");
+    } else if (this._active !== name) {
+      throw new Error("Another overlay is currently active.");
+    }
 
-                window.addEventListener('keydown', this._keyDownBound);
+    this._overlays[this._active].container.classList.add("hidden");
 
-              case 18:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function open(_x4) {
-        return _open.apply(this, arguments);
-      }
-
-      return open;
-    }()
-  }, {
-    key: "close",
-    value: function () {
-      var _close = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee4(name) {
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context4.next = 4;
-                  break;
-                }
-
-                throw new Error('The overlay does not exist.');
-
-              case 4:
-                if (this._active) {
-                  _context4.next = 8;
-                  break;
-                }
-
-                throw new Error('The overlay is currently not active.');
-
-              case 8:
-                if (!(this._active !== name)) {
-                  _context4.next = 10;
-                  break;
-                }
-
-                throw new Error('Another overlay is currently active.');
-
-              case 10:
-                this._overlays[this._active].container.classList.add('hidden');
-
-                this._overlays[this._active].element.classList.add('hidden');
-
-                this._active = null;
-                window.removeEventListener('keydown', this._keyDownBound);
-
-              case 14:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
+    this._overlays[this._active].element.classList.add("hidden");
 
-      function close(_x5) {
-        return _close.apply(this, arguments);
-      }
+    this._active = null;
+    window.removeEventListener("keydown", this._keyDownBound);
+  }
 
-      return close;
-    }()
-  }, {
-    key: "_keyDown",
-    value: function _keyDown(evt) {
-      if (this._active && evt.keyCode === 27) {
-        this._closeThroughCaller();
+  _keyDown(evt) {
+    if (this._active && evt.keyCode === 27) {
+      this._closeThroughCaller();
 
-        evt.preventDefault();
-      }
+      evt.preventDefault();
     }
-  }, {
-    key: "_closeThroughCaller",
-    value: function _closeThroughCaller() {
-      if (this._overlays[this._active].callerCloseMethod) {
-        this._overlays[this._active].callerCloseMethod();
-      }
+  }
 
-      if (this._active) {
-        this.close(this._active);
-      }
+  _closeThroughCaller() {
+    if (this._overlays[this._active].callerCloseMethod) {
+      this._overlays[this._active].callerCloseMethod();
     }
-  }, {
-    key: "active",
-    get: function get() {
-      return this._active;
+
+    if (this._active) {
+      this.close(this._active);
     }
-  }]);
+  }
 
-  return OverlayManager;
-}();
+}
 
 exports.OverlayManager = OverlayManager;
 
 /***/ }),
-/* 14 */
+/* 11 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5720,26 +4695,12 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PasswordPrompt = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var PasswordPrompt =
-/*#__PURE__*/
-function () {
-  function PasswordPrompt(options, overlayManager) {
-    var _this = this;
-
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
+var _ui_utils = __webpack_require__(2);
 
-    _classCallCheck(this, PasswordPrompt);
+var _pdfjsLib = __webpack_require__(4);
 
+class PasswordPrompt {
+  constructor(options, overlayManager, l10n = _ui_utils.NullL10n) {
     this.overlayName = options.overlayName;
     this.container = options.container;
     this.label = options.label;
@@ -5750,71 +4711,59 @@ function () {
     this.l10n = l10n;
     this.updateCallback = null;
     this.reason = null;
-    this.submitButton.addEventListener('click', this.verify.bind(this));
-    this.cancelButton.addEventListener('click', this.close.bind(this));
-    this.input.addEventListener('keydown', function (e) {
+    this.submitButton.addEventListener("click", this.verify.bind(this));
+    this.cancelButton.addEventListener("click", this.close.bind(this));
+    this.input.addEventListener("keydown", e => {
       if (e.keyCode === 13) {
-        _this.verify();
+        this.verify();
       }
     });
     this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true);
   }
 
-  _createClass(PasswordPrompt, [{
-    key: "open",
-    value: function open() {
-      var _this2 = this;
+  open() {
+    this.overlayManager.open(this.overlayName).then(() => {
+      this.input.focus();
+      let promptString;
 
-      this.overlayManager.open(this.overlayName).then(function () {
-        _this2.input.focus();
+      if (this.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD) {
+        promptString = this.l10n.get("password_invalid", null, "Invalid password. Please try again.");
+      } else {
+        promptString = this.l10n.get("password_label", null, "Enter the password to open this PDF file.");
+      }
 
-        var promptString;
+      promptString.then(msg => {
+        this.label.textContent = msg;
+      });
+    });
+  }
 
-        if (_this2.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD) {
-          promptString = _this2.l10n.get('password_invalid', null, 'Invalid password. Please try again.');
-        } else {
-          promptString = _this2.l10n.get('password_label', null, 'Enter the password to open this PDF 
file.');
-        }
+  close() {
+    this.overlayManager.close(this.overlayName).then(() => {
+      this.input.value = "";
+    });
+  }
 
-        promptString.then(function (msg) {
-          _this2.label.textContent = msg;
-        });
-      });
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      var _this3 = this;
+  verify() {
+    const password = this.input.value;
 
-      this.overlayManager.close(this.overlayName).then(function () {
-        _this3.input.value = '';
-      });
+    if (password && password.length > 0) {
+      this.close();
+      this.updateCallback(password);
     }
-  }, {
-    key: "verify",
-    value: function verify() {
-      var password = this.input.value;
+  }
 
-      if (password && password.length > 0) {
-        this.close();
-        this.updateCallback(password);
-      }
-    }
-  }, {
-    key: "setUpdateCallback",
-    value: function setUpdateCallback(updateCallback, reason) {
-      this.updateCallback = updateCallback;
-      this.reason = reason;
-    }
-  }]);
+  setUpdateCallback(updateCallback, reason) {
+    this.updateCallback = updateCallback;
+    this.reason = reason;
+  }
 
-  return PasswordPrompt;
-}();
+}
 
 exports.PasswordPrompt = PasswordPrompt;
 
 /***/ }),
-/* 15 */
+/* 12 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5825,170 +4774,145 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFAttachmentViewer = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var PDFAttachmentViewer =
-/*#__PURE__*/
-function () {
-  function PDFAttachmentViewer(_ref) {
-    var container = _ref.container,
-        eventBus = _ref.eventBus,
-        downloadManager = _ref.downloadManager;
-
-    _classCallCheck(this, PDFAttachmentViewer);
+var _pdfjsLib = __webpack_require__(4);
 
+class PDFAttachmentViewer {
+  constructor({
+    container,
+    eventBus,
+    downloadManager
+  }) {
     this.container = container;
     this.eventBus = eventBus;
     this.downloadManager = downloadManager;
     this.reset();
-    this.eventBus.on('fileattachmentannotation', this._appendAttachment.bind(this));
-  }
 
-  _createClass(PDFAttachmentViewer, [{
-    key: "reset",
-    value: function reset() {
-      var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      this.attachments = null;
-      this.container.textContent = '';
+    this.eventBus._on("fileattachmentannotation", this._appendAttachment.bind(this));
+  }
 
-      if (!keepRenderedCapability) {
-        this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
-      }
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent(attachmentsCount) {
-      this._renderedCapability.resolve();
+  reset(keepRenderedCapability = false) {
+    this.attachments = null;
+    this.container.textContent = "";
 
-      this.eventBus.dispatch('attachmentsloaded', {
-        source: this,
-        attachmentsCount: attachmentsCount
-      });
+    if (!keepRenderedCapability) {
+      this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
     }
-  }, {
-    key: "_bindPdfLink",
-    value: function _bindPdfLink(button, content, filename) {
-      if (this.downloadManager.disableCreateObjectURL) {
-        throw new Error('bindPdfLink: Unsupported "disableCreateObjectURL" value.');
-      }
+  }
 
-      var blobUrl;
+  _dispatchEvent(attachmentsCount) {
+    this._renderedCapability.resolve();
 
-      button.onclick = function () {
-        if (!blobUrl) {
-          blobUrl = (0, _pdfjsLib.createObjectURL)(content, 'application/pdf');
-        }
+    this.eventBus.dispatch("attachmentsloaded", {
+      source: this,
+      attachmentsCount
+    });
+  }
 
-        var viewerUrl;
-        viewerUrl = '?file=' + encodeURIComponent(blobUrl + '#' + filename);
-        window.open(viewerUrl);
-        return false;
-      };
+  _bindPdfLink(button, content, filename) {
+    if (this.downloadManager.disableCreateObjectURL) {
+      throw new Error('bindPdfLink: Unsupported "disableCreateObjectURL" value.');
     }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(button, content, filename) {
-      var _this = this;
-
-      button.onclick = function () {
-        _this.downloadManager.downloadData(content, filename, '');
 
-        return false;
-      };
-    }
-  }, {
-    key: "render",
-    value: function render(_ref2) {
-      var attachments = _ref2.attachments,
-          _ref2$keepRenderedCap = _ref2.keepRenderedCapability,
-          keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap;
-      var attachmentsCount = 0;
+    let blobUrl;
 
-      if (this.attachments) {
-        this.reset(keepRenderedCapability === true);
+    button.onclick = function () {
+      if (!blobUrl) {
+        blobUrl = (0, _pdfjsLib.createObjectURL)(content, "application/pdf");
       }
 
-      this.attachments = attachments || null;
+      let viewerUrl;
+      viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename);
+      window.open(viewerUrl);
+      return false;
+    };
+  }
+
+  _bindLink(button, content, filename) {
+    button.onclick = () => {
+      this.downloadManager.downloadData(content, filename, "");
+      return false;
+    };
+  }
 
-      if (!attachments) {
-        this._dispatchEvent(attachmentsCount);
+  render({
+    attachments,
+    keepRenderedCapability = false
+  }) {
+    let attachmentsCount = 0;
 
-        return;
-      }
+    if (this.attachments) {
+      this.reset(keepRenderedCapability === true);
+    }
 
-      var names = Object.keys(attachments).sort(function (a, b) {
-        return a.toLowerCase().localeCompare(b.toLowerCase());
-      });
-      attachmentsCount = names.length;
-
-      for (var i = 0; i < attachmentsCount; i++) {
-        var item = attachments[names[i]];
-        var filename = (0, _pdfjsLib.removeNullCharacters)((0, _pdfjsLib.getFilenameFromUrl)(item.filename));
-        var div = document.createElement('div');
-        div.className = 'attachmentsItem';
-        var button = document.createElement('button');
-        button.textContent = filename;
-
-        if (/\.pdf$/i.test(filename) && !this.downloadManager.disableCreateObjectURL) {
-          this._bindPdfLink(button, item.content, filename);
-        } else {
-          this._bindLink(button, item.content, filename);
-        }
+    this.attachments = attachments || null;
+
+    if (!attachments) {
+      this._dispatchEvent(attachmentsCount);
+
+      return;
+    }
 
-        div.appendChild(button);
-        this.container.appendChild(div);
+    const names = Object.keys(attachments).sort(function (a, b) {
+      return a.toLowerCase().localeCompare(b.toLowerCase());
+    });
+    attachmentsCount = names.length;
+
+    for (let i = 0; i < attachmentsCount; i++) {
+      const item = attachments[names[i]];
+      const filename = (0, _pdfjsLib.removeNullCharacters)((0, _pdfjsLib.getFilenameFromUrl)(item.filename));
+      const div = document.createElement("div");
+      div.className = "attachmentsItem";
+      const button = document.createElement("button");
+      button.textContent = filename;
+
+      if (/\.pdf$/i.test(filename) && !this.downloadManager.disableCreateObjectURL) {
+        this._bindPdfLink(button, item.content, filename);
+      } else {
+        this._bindLink(button, item.content, filename);
       }
 
-      this._dispatchEvent(attachmentsCount);
+      div.appendChild(button);
+      this.container.appendChild(div);
     }
-  }, {
-    key: "_appendAttachment",
-    value: function _appendAttachment(_ref3) {
-      var _this2 = this;
 
-      var id = _ref3.id,
-          filename = _ref3.filename,
-          content = _ref3.content;
+    this._dispatchEvent(attachmentsCount);
+  }
 
-      this._renderedCapability.promise.then(function () {
-        var attachments = _this2.attachments;
+  _appendAttachment({
+    id,
+    filename,
+    content
+  }) {
+    this._renderedCapability.promise.then(() => {
+      let attachments = this.attachments;
 
-        if (!attachments) {
-          attachments = Object.create(null);
-        } else {
-          for (var name in attachments) {
-            if (id === name) {
-              return;
-            }
+      if (!attachments) {
+        attachments = Object.create(null);
+      } else {
+        for (const name in attachments) {
+          if (id === name) {
+            return;
           }
         }
+      }
 
-        attachments[id] = {
-          filename: filename,
-          content: content
-        };
-
-        _this2.render({
-          attachments: attachments,
-          keepRenderedCapability: true
-        });
+      attachments[id] = {
+        filename,
+        content
+      };
+      this.render({
+        attachments,
+        keepRenderedCapability: true
       });
-    }
-  }]);
+    });
+  }
 
-  return PDFAttachmentViewer;
-}();
+}
 
 exports.PDFAttachmentViewer = PDFAttachmentViewer;
 
 /***/ }),
-/* 16 */
+/* 13 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -5999,63 +4923,34 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFDocumentProperties = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); 
var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { 
Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new 
Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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"); } }
+var _pdfjsLib = __webpack_require__(4);
 
-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); } }
+var _ui_utils = __webpack_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var DEFAULT_FIELD_CONTENT = '-';
-var NON_METRIC_LOCALES = ['en-us', 'en-lr', 'my'];
-var US_PAGE_NAMES = {
-  '8.5x11': 'Letter',
-  '8.5x14': 'Legal'
+const DEFAULT_FIELD_CONTENT = "-";
+const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
+const US_PAGE_NAMES = {
+  "8.5x11": "Letter",
+  "8.5x14": "Legal"
 };
-var METRIC_PAGE_NAMES = {
-  '297x420': 'A3',
-  '210x297': 'A4'
+const METRIC_PAGE_NAMES = {
+  "297x420": "A3",
+  "210x297": "A4"
 };
 
 function getPageName(size, isPortrait, pageNames) {
-  var width = isPortrait ? size.width : size.height;
-  var height = isPortrait ? size.height : size.width;
-  return pageNames["".concat(width, "x").concat(height)];
+  const width = isPortrait ? size.width : size.height;
+  const height = isPortrait ? size.height : size.width;
+  return pageNames[`${width}x${height}`];
 }
 
-var PDFDocumentProperties =
-/*#__PURE__*/
-function () {
-  function PDFDocumentProperties(_ref, overlayManager, eventBus) {
-    var _this = this;
-
-    var overlayName = _ref.overlayName,
-        fields = _ref.fields,
-        container = _ref.container,
-        closeButton = _ref.closeButton;
-    var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PDFDocumentProperties);
-
+class PDFDocumentProperties {
+  constructor({
+    overlayName,
+    fields,
+    container,
+    closeButton
+  }, overlayManager, eventBus, l10n = _ui_utils.NullL10n) {
     this.overlayName = overlayName;
     this.fields = fields;
     this.container = container;
@@ -6065,379 +4960,259 @@ function () {
     this._reset();
 
     if (closeButton) {
-      closeButton.addEventListener('click', this.close.bind(this));
+      closeButton.addEventListener("click", this.close.bind(this));
     }
 
     this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
 
     if (eventBus) {
-      eventBus.on('pagechanging', function (evt) {
-        _this._currentPageNumber = evt.pageNumber;
+      eventBus._on("pagechanging", evt => {
+        this._currentPageNumber = evt.pageNumber;
       });
-      eventBus.on('rotationchanging', function (evt) {
-        _this._pagesRotation = evt.pagesRotation;
+
+      eventBus._on("rotationchanging", evt => {
+        this._pagesRotation = evt.pagesRotation;
       });
     }
 
     this._isNonMetricLocale = true;
-    l10n.getLanguage().then(function (locale) {
-      _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
+    l10n.getLanguage().then(locale => {
+      this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
     });
   }
 
-  _createClass(PDFDocumentProperties, [{
-    key: "open",
-    value: function open() {
-      var _this2 = this;
+  open() {
+    const freezeFieldData = data => {
+      Object.defineProperty(this, "fieldData", {
+        value: Object.freeze(data),
+        writable: false,
+        enumerable: true,
+        configurable: true
+      });
+    };
+
+    Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(() 
=> {
+      const currentPageNumber = this._currentPageNumber;
+      const pagesRotation = this._pagesRotation;
 
-      var freezeFieldData = function freezeFieldData(data) {
-        Object.defineProperty(_this2, 'fieldData', {
-          value: Object.freeze(data),
-          writable: false,
-          enumerable: true,
-          configurable: true
-        });
-      };
+      if (this.fieldData && currentPageNumber === this.fieldData["_currentPageNumber"] && pagesRotation === 
this.fieldData["_pagesRotation"]) {
+        this._updateUI();
 
-      Promise.all([this.overlayManager.open(this.overlayName), 
this._dataAvailableCapability.promise]).then(function () {
-        var currentPageNumber = _this2._currentPageNumber;
-        var pagesRotation = _this2._pagesRotation;
+        return;
+      }
+
+      this.pdfDocument.getMetadata().then(({
+        info,
+        metadata,
+        contentDispositionFilename
+      }) => {
+        return Promise.all([info, metadata, contentDispositionFilename || (0, 
_ui_utils.getPDFFileNameFromURL)(this.url || ""), this._parseFileSize(this.maybeFileSize), 
this._parseDate(info.CreationDate), this._parseDate(info.ModDate), 
this.pdfDocument.getPage(currentPageNumber).then(pdfPage => {
+          return this._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
+        }), this._parseLinearization(info.IsLinearized)]);
+      }).then(([info, metadata, fileName, fileSize, creationDate, modDate, pageSize, isLinearized]) => {
+        freezeFieldData({
+          fileName,
+          fileSize,
+          title: info.Title,
+          author: info.Author,
+          subject: info.Subject,
+          keywords: info.Keywords,
+          creationDate,
+          modificationDate: modDate,
+          creator: info.Creator,
+          producer: info.Producer,
+          version: info.PDFFormatVersion,
+          pageCount: this.pdfDocument.numPages,
+          pageSize,
+          linearized: isLinearized,
+          _currentPageNumber: currentPageNumber,
+          _pagesRotation: pagesRotation
+        });
 
-        if (_this2.fieldData && currentPageNumber === _this2.fieldData['_currentPageNumber'] && 
pagesRotation === _this2.fieldData['_pagesRotation']) {
-          _this2._updateUI();
+        this._updateUI();
 
+        return this.pdfDocument.getDownloadInfo();
+      }).then(({
+        length
+      }) => {
+        this.maybeFileSize = length;
+        return this._parseFileSize(length);
+      }).then(fileSize => {
+        if (fileSize === this.fieldData["fileSize"]) {
           return;
         }
 
-        _this2.pdfDocument.getMetadata().then(function (_ref2) {
-          var info = _ref2.info,
-              metadata = _ref2.metadata,
-              contentDispositionFilename = _ref2.contentDispositionFilename;
-          return Promise.all([info, metadata, contentDispositionFilename || (0, 
_ui_utils.getPDFFileNameFromURL)(_this2.url || ''), _this2._parseFileSize(_this2.maybeFileSize), 
_this2._parseDate(info.CreationDate), _this2._parseDate(info.ModDate), 
_this2.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {
-            return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
-          }), _this2._parseLinearization(info.IsLinearized)]);
-        }).then(function (_ref3) {
-          var _ref4 = _slicedToArray(_ref3, 8),
-              info = _ref4[0],
-              metadata = _ref4[1],
-              fileName = _ref4[2],
-              fileSize = _ref4[3],
-              creationDate = _ref4[4],
-              modDate = _ref4[5],
-              pageSize = _ref4[6],
-              isLinearized = _ref4[7];
-
-          freezeFieldData({
-            'fileName': fileName,
-            'fileSize': fileSize,
-            'title': info.Title,
-            'author': info.Author,
-            'subject': info.Subject,
-            'keywords': info.Keywords,
-            'creationDate': creationDate,
-            'modificationDate': modDate,
-            'creator': info.Creator,
-            'producer': info.Producer,
-            'version': info.PDFFormatVersion,
-            'pageCount': _this2.pdfDocument.numPages,
-            'pageSize': pageSize,
-            'linearized': isLinearized,
-            '_currentPageNumber': currentPageNumber,
-            '_pagesRotation': pagesRotation
-          });
+        const data = Object.assign(Object.create(null), this.fieldData);
+        data["fileSize"] = fileSize;
+        freezeFieldData(data);
 
-          _this2._updateUI();
+        this._updateUI();
+      });
+    });
+  }
 
-          return _this2.pdfDocument.getDownloadInfo();
-        }).then(function (_ref5) {
-          var length = _ref5.length;
-          _this2.maybeFileSize = length;
-          return _this2._parseFileSize(length);
-        }).then(function (fileSize) {
-          if (fileSize === _this2.fieldData['fileSize']) {
-            return;
-          }
+  close() {
+    this.overlayManager.close(this.overlayName);
+  }
 
-          var data = Object.assign(Object.create(null), _this2.fieldData);
-          data['fileSize'] = fileSize;
-          freezeFieldData(data);
+  setDocument(pdfDocument, url = null) {
+    if (this.pdfDocument) {
+      this._reset();
 
-          _this2._updateUI();
-        });
-      });
+      this._updateUI(true);
     }
-  }, {
-    key: "close",
-    value: function close() {
-      this.overlayManager.close(this.overlayName);
+
+    if (!pdfDocument) {
+      return;
     }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
 
-      if (this.pdfDocument) {
-        this._reset();
+    this.pdfDocument = pdfDocument;
+    this.url = url;
 
-        this._updateUI(true);
-      }
+    this._dataAvailableCapability.resolve();
+  }
 
-      if (!pdfDocument) {
-        return;
+  setFileSize(fileSize) {
+    if (Number.isInteger(fileSize) && fileSize > 0) {
+      this.maybeFileSize = fileSize;
+    }
+  }
+
+  _reset() {
+    this.pdfDocument = null;
+    this.url = null;
+    this.maybeFileSize = 0;
+    delete this.fieldData;
+    this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
+    this._currentPageNumber = 1;
+    this._pagesRotation = 0;
+  }
+
+  _updateUI(reset = false) {
+    if (reset || !this.fieldData) {
+      for (const id in this.fields) {
+        this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
       }
 
-      this.pdfDocument = pdfDocument;
-      this.url = url;
+      return;
+    }
 
-      this._dataAvailableCapability.resolve();
+    if (this.overlayManager.active !== this.overlayName) {
+      return;
     }
-  }, {
-    key: "setFileSize",
-    value: function setFileSize(fileSize) {
-      if (Number.isInteger(fileSize) && fileSize > 0) {
-        this.maybeFileSize = fileSize;
-      }
+
+    for (const id in this.fields) {
+      const content = this.fieldData[id];
+      this.fields[id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
     }
-  }, {
-    key: "_reset",
-    value: function _reset() {
-      this.pdfDocument = null;
-      this.url = null;
-      this.maybeFileSize = 0;
-      delete this.fieldData;
-      this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this._currentPageNumber = 1;
-      this._pagesRotation = 0;
-    }
-  }, {
-    key: "_updateUI",
-    value: function _updateUI() {
-      var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (reset || !this.fieldData) {
-        for (var id in this.fields) {
-          this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
-        }
+  }
 
-        return;
-      }
+  async _parseFileSize(fileSize = 0) {
+    const kb = fileSize / 1024;
 
-      if (this.overlayManager.active !== this.overlayName) {
-        return;
-      }
+    if (!kb) {
+      return undefined;
+    } else if (kb < 1024) {
+      return this.l10n.get("document_properties_kb", {
+        size_kb: (+kb.toPrecision(3)).toLocaleString(),
+        size_b: fileSize.toLocaleString()
+      }, "{{size_kb}} KB ({{size_b}} bytes)");
+    }
 
-      for (var _id in this.fields) {
-        var content = this.fieldData[_id];
-        this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
-      }
-    }
-  }, {
-    key: "_parseFileSize",
-    value: function () {
-      var _parseFileSize2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var fileSize,
-            kb,
-            _args = arguments;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                fileSize = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
-                kb = fileSize / 1024;
-
-                if (kb) {
-                  _context.next = 6;
-                  break;
-                }
-
-                return _context.abrupt("return", undefined);
-
-              case 6:
-                if (!(kb < 1024)) {
-                  _context.next = 8;
-                  break;
-                }
-
-                return _context.abrupt("return", this.l10n.get('document_properties_kb', {
-                  size_kb: (+kb.toPrecision(3)).toLocaleString(),
-                  size_b: fileSize.toLocaleString()
-                }, '{{size_kb}} KB ({{size_b}} bytes)'));
-
-              case 8:
-                return _context.abrupt("return", this.l10n.get('document_properties_mb', {
-                  size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
-                  size_b: fileSize.toLocaleString()
-                }, '{{size_mb}} MB ({{size_b}} bytes)'));
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _parseFileSize() {
-        return _parseFileSize2.apply(this, arguments);
-      }
-
-      return _parseFileSize;
-    }()
-  }, {
-    key: "_parsePageSize",
-    value: function () {
-      var _parsePageSize2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(pageSizeInches, pagesRotation) {
-        var _this3 = this;
-
-        var isPortrait, sizeInches, sizeMillimeters, pageName, name, exactMillimeters, intMillimeters;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (pageSizeInches) {
-                  _context2.next = 2;
-                  break;
-                }
-
-                return _context2.abrupt("return", undefined);
-
-              case 2:
-                if (pagesRotation % 180 !== 0) {
-                  pageSizeInches = {
-                    width: pageSizeInches.height,
-                    height: pageSizeInches.width
-                  };
-                }
-
-                isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
-                sizeInches = {
-                  width: Math.round(pageSizeInches.width * 100) / 100,
-                  height: Math.round(pageSizeInches.height * 100) / 100
-                };
-                sizeMillimeters = {
-                  width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
-                  height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
-                };
-                pageName = null;
-                name = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, 
isPortrait, METRIC_PAGE_NAMES);
-
-                if (!name && !(Number.isInteger(sizeMillimeters.width) && 
Number.isInteger(sizeMillimeters.height))) {
-                  exactMillimeters = {
-                    width: pageSizeInches.width * 25.4,
-                    height: pageSizeInches.height * 25.4
-                  };
-                  intMillimeters = {
-                    width: Math.round(sizeMillimeters.width),
-                    height: Math.round(sizeMillimeters.height)
-                  };
-
-                  if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && 
Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
-                    name = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
-
-                    if (name) {
-                      sizeInches = {
-                        width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
-                        height: Math.round(intMillimeters.height / 25.4 * 100) / 100
-                      };
-                      sizeMillimeters = intMillimeters;
-                    }
-                  }
-                }
-
-                if (name) {
-                  pageName = this.l10n.get('document_properties_page_size_name_' + name.toLowerCase(), null, 
name);
-                }
-
-                return _context2.abrupt("return", Promise.all([this._isNonMetricLocale ? sizeInches : 
sizeMillimeters, this.l10n.get('document_properties_page_size_unit_' + (this._isNonMetricLocale ? 'inches' : 
'millimeters'), null, this._isNonMetricLocale ? 'in' : 'mm'), pageName, 
this.l10n.get('document_properties_page_size_orientation_' + (isPortrait ? 'portrait' : 'landscape'), null, 
isPortrait ? 'portrait' : 'landscape')]).then(function (_ref6) {
-                  var _ref7 = _slicedToArray(_ref6, 4),
-                      _ref7$ = _ref7[0],
-                      width = _ref7$.width,
-                      height = _ref7$.height,
-                      unit = _ref7[1],
-                      name = _ref7[2],
-                      orientation = _ref7[3];
-
-                  return _this3.l10n.get('document_properties_page_size_dimension_' + (name ? 'name_' : '') 
+ 'string', {
-                    width: width.toLocaleString(),
-                    height: height.toLocaleString(),
-                    unit: unit,
-                    name: name,
-                    orientation: orientation
-                  }, '{{width}} × {{height}} {{unit}} (' + (name ? '{{name}}, ' : '') + '{{orientation}})');
-                }));
-
-              case 11:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function _parsePageSize(_x, _x2) {
-        return _parsePageSize2.apply(this, arguments);
-      }
-
-      return _parsePageSize;
-    }()
-  }, {
-    key: "_parseDate",
-    value: function () {
-      var _parseDate2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3(inputDate) {
-        var dateObject;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
-
-                if (dateObject) {
-                  _context3.next = 3;
-                  break;
-                }
-
-                return _context3.abrupt("return", undefined);
-
-              case 3:
-                return _context3.abrupt("return", this.l10n.get('document_properties_date_string', {
-                  date: dateObject.toLocaleDateString(),
-                  time: dateObject.toLocaleTimeString()
-                }, '{{date}}, {{time}}'));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
+    return this.l10n.get("document_properties_mb", {
+      size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
+      size_b: fileSize.toLocaleString()
+    }, "{{size_mb}} MB ({{size_b}} bytes)");
+  }
+
+  async _parsePageSize(pageSizeInches, pagesRotation) {
+    if (!pageSizeInches) {
+      return undefined;
+    }
+
+    if (pagesRotation % 180 !== 0) {
+      pageSizeInches = {
+        width: pageSizeInches.height,
+        height: pageSizeInches.width
+      };
+    }
+
+    const isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
+    let sizeInches = {
+      width: Math.round(pageSizeInches.width * 100) / 100,
+      height: Math.round(pageSizeInches.height * 100) / 100
+    };
+    let sizeMillimeters = {
+      width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
+      height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
+    };
+    let pageName = null;
+    let rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, 
isPortrait, METRIC_PAGE_NAMES);
+
+    if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
+      const exactMillimeters = {
+        width: pageSizeInches.width * 25.4,
+        height: pageSizeInches.height * 25.4
+      };
+      const intMillimeters = {
+        width: Math.round(sizeMillimeters.width),
+        height: Math.round(sizeMillimeters.height)
+      };
+
+      if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height 
- intMillimeters.height) < 0.1) {
+        rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
 
-      function _parseDate(_x3) {
-        return _parseDate2.apply(this, arguments);
+        if (rawName) {
+          sizeInches = {
+            width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
+            height: Math.round(intMillimeters.height / 25.4 * 100) / 100
+          };
+          sizeMillimeters = intMillimeters;
+        }
       }
+    }
 
-      return _parseDate;
-    }()
-  }, {
-    key: "_parseLinearization",
-    value: function _parseLinearization(isLinearized) {
-      return this.l10n.get('document_properties_linearized_' + (isLinearized ? 'yes' : 'no'), null, 
isLinearized ? 'Yes' : 'No');
+    if (rawName) {
+      pageName = this.l10n.get("document_properties_page_size_name_" + rawName.toLowerCase(), null, rawName);
     }
-  }]);
 
-  return PDFDocumentProperties;
-}();
+    return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, 
this.l10n.get("document_properties_page_size_unit_" + (this._isNonMetricLocale ? "inches" : "millimeters"), 
null, this._isNonMetricLocale ? "in" : "mm"), pageName, 
this.l10n.get("document_properties_page_size_orientation_" + (isPortrait ? "portrait" : "landscape"), null, 
isPortrait ? "portrait" : "landscape")]).then(([{
+      width,
+      height
+    }, unit, name, orientation]) => {
+      return this.l10n.get("document_properties_page_size_dimension_" + (name ? "name_" : "") + "string", {
+        width: width.toLocaleString(),
+        height: height.toLocaleString(),
+        unit,
+        name,
+        orientation
+      }, "{{width}} × {{height}} {{unit}} (" + (name ? "{{name}}, " : "") + "{{orientation}})");
+    });
+  }
+
+  async _parseDate(inputDate) {
+    const dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
+
+    if (!dateObject) {
+      return undefined;
+    }
+
+    return this.l10n.get("document_properties_date_string", {
+      date: dateObject.toLocaleDateString(),
+      time: dateObject.toLocaleTimeString()
+    }, "{{date}}, {{time}}");
+  }
+
+  _parseLinearization(isLinearized) {
+    return this.l10n.get("document_properties_linearized_" + (isLinearized ? "yes" : "no"), null, 
isLinearized ? "Yes" : "No");
+  }
+
+}
 
 exports.PDFDocumentProperties = PDFDocumentProperties;
 
 /***/ }),
-/* 17 */
+/* 14 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -6448,29 +5223,14 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFFindBar = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_find_controller = __webpack_require__(18);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var MATCHES_COUNT_LIMIT = 1000;
-
-var PDFFindBar =
-/*#__PURE__*/
-function () {
-  function PDFFindBar(options) {
-    var _this = this;
+var _ui_utils = __webpack_require__(2);
 
-    var eventBus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (0, 
_ui_utils.getGlobalEventBus)();
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
+var _pdf_find_controller = __webpack_require__(15);
 
-    _classCallCheck(this, PDFFindBar);
+const MATCHES_COUNT_LIMIT = 1000;
 
+class PDFFindBar {
+  constructor(options, eventBus, l10n = _ui_utils.NullL10n) {
     this.opened = false;
     this.bar = options.bar || null;
     this.toggleButton = options.toggleButton || null;
@@ -6482,207 +5242,188 @@ function () {
     this.findResultsCount = options.findResultsCount || null;
     this.findPreviousButton = options.findPreviousButton || null;
     this.findNextButton = options.findNextButton || null;
-    this.eventBus = eventBus;
+    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
     this.l10n = l10n;
-    this.toggleButton.addEventListener('click', function () {
-      _this.toggle();
+    this.toggleButton.addEventListener("click", () => {
+      this.toggle();
     });
-    this.findField.addEventListener('input', function () {
-      _this.dispatchEvent('');
+    this.findField.addEventListener("input", () => {
+      this.dispatchEvent("");
     });
-    this.bar.addEventListener('keydown', function (e) {
+    this.bar.addEventListener("keydown", e => {
       switch (e.keyCode) {
         case 13:
-          if (e.target === _this.findField) {
-            _this.dispatchEvent('again', e.shiftKey);
+          if (e.target === this.findField) {
+            this.dispatchEvent("again", e.shiftKey);
           }
 
           break;
 
         case 27:
-          _this.close();
-
+          this.close();
           break;
       }
     });
-    this.findPreviousButton.addEventListener('click', function () {
-      _this.dispatchEvent('again', true);
+    this.findPreviousButton.addEventListener("click", () => {
+      this.dispatchEvent("again", true);
     });
-    this.findNextButton.addEventListener('click', function () {
-      _this.dispatchEvent('again', false);
+    this.findNextButton.addEventListener("click", () => {
+      this.dispatchEvent("again", false);
     });
-    this.highlightAll.addEventListener('click', function () {
-      _this.dispatchEvent('highlightallchange');
+    this.highlightAll.addEventListener("click", () => {
+      this.dispatchEvent("highlightallchange");
     });
-    this.caseSensitive.addEventListener('click', function () {
-      _this.dispatchEvent('casesensitivitychange');
+    this.caseSensitive.addEventListener("click", () => {
+      this.dispatchEvent("casesensitivitychange");
     });
-    this.entireWord.addEventListener('click', function () {
-      _this.dispatchEvent('entirewordchange');
+    this.entireWord.addEventListener("click", () => {
+      this.dispatchEvent("entirewordchange");
     });
-    this.eventBus.on('resize', this._adjustWidth.bind(this));
+
+    this.eventBus._on("resize", this._adjustWidth.bind(this));
   }
 
-  _createClass(PDFFindBar, [{
-    key: "reset",
-    value: function reset() {
-      this.updateUIState();
-    }
-  }, {
-    key: "dispatchEvent",
-    value: function dispatchEvent(type, findPrev) {
-      this.eventBus.dispatch('find', {
-        source: this,
-        type: type,
-        query: this.findField.value,
-        phraseSearch: true,
-        caseSensitive: this.caseSensitive.checked,
-        entireWord: this.entireWord.checked,
-        highlightAll: this.highlightAll.checked,
-        findPrevious: findPrev
-      });
-    }
-  }, {
-    key: "updateUIState",
-    value: function updateUIState(state, previous, matchesCount) {
-      var _this2 = this;
+  reset() {
+    this.updateUIState();
+  }
 
-      var notFound = false;
-      var findMsg = '';
-      var status = '';
+  dispatchEvent(type, findPrev) {
+    this.eventBus.dispatch("find", {
+      source: this,
+      type,
+      query: this.findField.value,
+      phraseSearch: true,
+      caseSensitive: this.caseSensitive.checked,
+      entireWord: this.entireWord.checked,
+      highlightAll: this.highlightAll.checked,
+      findPrevious: findPrev
+    });
+  }
 
-      switch (state) {
-        case _pdf_find_controller.FindState.FOUND:
-          break;
+  updateUIState(state, previous, matchesCount) {
+    let notFound = false;
+    let findMsg = "";
+    let status = "";
 
-        case _pdf_find_controller.FindState.PENDING:
-          status = 'pending';
-          break;
+    switch (state) {
+      case _pdf_find_controller.FindState.FOUND:
+        break;
 
-        case _pdf_find_controller.FindState.NOT_FOUND:
-          findMsg = this.l10n.get('find_not_found', null, 'Phrase not found');
-          notFound = true;
-          break;
+      case _pdf_find_controller.FindState.PENDING:
+        status = "pending";
+        break;
 
-        case _pdf_find_controller.FindState.WRAPPED:
-          if (previous) {
-            findMsg = this.l10n.get('find_reached_top', null, 'Reached top of document, continued from 
bottom');
-          } else {
-            findMsg = this.l10n.get('find_reached_bottom', null, 'Reached end of document, continued from 
top');
-          }
+      case _pdf_find_controller.FindState.NOT_FOUND:
+        findMsg = this.l10n.get("find_not_found", null, "Phrase not found");
+        notFound = true;
+        break;
 
-          break;
-      }
+      case _pdf_find_controller.FindState.WRAPPED:
+        if (previous) {
+          findMsg = this.l10n.get("find_reached_top", null, "Reached top of document, continued from 
bottom");
+        } else {
+          findMsg = this.l10n.get("find_reached_bottom", null, "Reached end of document, continued from 
top");
+        }
 
-      this.findField.classList.toggle('notFound', notFound);
-      this.findField.setAttribute('data-status', status);
-      Promise.resolve(findMsg).then(function (msg) {
-        _this2.findMsg.textContent = msg;
+        break;
+    }
 
-        _this2._adjustWidth();
-      });
-      this.updateResultsCount(matchesCount);
+    this.findField.classList.toggle("notFound", notFound);
+    this.findField.setAttribute("data-status", status);
+    Promise.resolve(findMsg).then(msg => {
+      this.findMsg.textContent = msg;
+
+      this._adjustWidth();
+    });
+    this.updateResultsCount(matchesCount);
+  }
+
+  updateResultsCount({
+    current = 0,
+    total = 0
+  } = {}) {
+    if (!this.findResultsCount) {
+      return;
     }
-  }, {
-    key: "updateResultsCount",
-    value: function updateResultsCount() {
-      var _this3 = this;
 
-      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref$current = _ref.current,
-          current = _ref$current === void 0 ? 0 : _ref$current,
-          _ref$total = _ref.total,
-          total = _ref$total === void 0 ? 0 : _ref$total;
+    const limit = MATCHES_COUNT_LIMIT;
+    let matchesCountMsg = "";
 
-      if (!this.findResultsCount) {
-        return;
+    if (total > 0) {
+      if (total > limit) {
+        matchesCountMsg = this.l10n.get("find_match_count_limit", {
+          limit
+        }, "More than {{limit}} match" + (limit !== 1 ? "es" : ""));
+      } else {
+        matchesCountMsg = this.l10n.get("find_match_count", {
+          current,
+          total
+        }, "{{current}} of {{total}} match" + (total !== 1 ? "es" : ""));
       }
+    }
 
-      var matchesCountMsg = '',
-          limit = MATCHES_COUNT_LIMIT;
+    Promise.resolve(matchesCountMsg).then(msg => {
+      this.findResultsCount.textContent = msg;
+      this.findResultsCount.classList.toggle("hidden", !total);
 
-      if (total > 0) {
-        if (total > limit) {
-          matchesCountMsg = this.l10n.get('find_match_count_limit', {
-            limit: limit
-          }, 'More than {{limit}} match' + (limit !== 1 ? 'es' : ''));
-        } else {
-          matchesCountMsg = this.l10n.get('find_match_count', {
-            current: current,
-            total: total
-          }, '{{current}} of {{total}} match' + (total !== 1 ? 'es' : ''));
-        }
-      }
+      this._adjustWidth();
+    });
+  }
+
+  open() {
+    if (!this.opened) {
+      this.opened = true;
+      this.toggleButton.classList.add("toggled");
+      this.bar.classList.remove("hidden");
+    }
 
-      Promise.resolve(matchesCountMsg).then(function (msg) {
-        _this3.findResultsCount.textContent = msg;
+    this.findField.select();
+    this.findField.focus();
 
-        _this3.findResultsCount.classList.toggle('hidden', !total);
+    this._adjustWidth();
+  }
 
-        _this3._adjustWidth();
-      });
+  close() {
+    if (!this.opened) {
+      return;
     }
-  }, {
-    key: "open",
-    value: function open() {
-      if (!this.opened) {
-        this.opened = true;
-        this.toggleButton.classList.add('toggled');
-        this.bar.classList.remove('hidden');
-      }
 
-      this.findField.select();
-      this.findField.focus();
+    this.opened = false;
+    this.toggleButton.classList.remove("toggled");
+    this.bar.classList.add("hidden");
+    this.eventBus.dispatch("findbarclose", {
+      source: this
+    });
+  }
 
-      this._adjustWidth();
+  toggle() {
+    if (this.opened) {
+      this.close();
+    } else {
+      this.open();
     }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.opened) {
-        return;
-      }
+  }
 
-      this.opened = false;
-      this.toggleButton.classList.remove('toggled');
-      this.bar.classList.add('hidden');
-      this.eventBus.dispatch('findbarclose', {
-        source: this
-      });
-    }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.opened) {
-        this.close();
-      } else {
-        this.open();
-      }
+  _adjustWidth() {
+    if (!this.opened) {
+      return;
     }
-  }, {
-    key: "_adjustWidth",
-    value: function _adjustWidth() {
-      if (!this.opened) {
-        return;
-      }
 
-      this.bar.classList.remove('wrapContainers');
-      var findbarHeight = this.bar.clientHeight;
-      var inputContainerHeight = this.bar.firstElementChild.clientHeight;
+    this.bar.classList.remove("wrapContainers");
+    const findbarHeight = this.bar.clientHeight;
+    const inputContainerHeight = this.bar.firstElementChild.clientHeight;
 
-      if (findbarHeight > inputContainerHeight) {
-        this.bar.classList.add('wrapContainers');
-      }
+    if (findbarHeight > inputContainerHeight) {
+      this.bar.classList.add("wrapContainers");
     }
-  }]);
+  }
 
-  return PDFFindBar;
-}();
+}
 
 exports.PDFFindBar = PDFFindBar;
 
 /***/ }),
-/* 18 */
+/* 15 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -6693,47 +5434,41 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFFindController = exports.FindState = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
+var _ui_utils = __webpack_require__(2);
 
-var _pdf_find_utils = __webpack_require__(19);
+var _pdfjsLib = __webpack_require__(4);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _pdf_find_utils = __webpack_require__(16);
 
-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); return Constructor; }
-
-var FindState = {
+const 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 = {
-  "\u2018": '\'',
-  "\u2019": '\'',
-  "\u201A": '\'',
-  "\u201B": '\'',
+const FIND_TIMEOUT = 250;
+const MATCH_SCROLL_OFFSET_TOP = -50;
+const MATCH_SCROLL_OFFSET_LEFT = -400;
+const CHARACTERS_TO_NORMALIZE = {
+  "\u2018": "'",
+  "\u2019": "'",
+  "\u201A": "'",
+  "\u201B": "'",
   "\u201C": '"',
   "\u201D": '"',
   "\u201E": '"',
   "\u201F": '"',
-  "\xBC": '1/4',
-  "\xBD": '1/2',
-  "\xBE": '3/4'
+  "\u00BC": "1/4",
+  "\u00BD": "1/2",
+  "\u00BE": "3/4"
 };
-var normalizationRegex = null;
+let normalizationRegex = null;
 
 function normalize(text) {
   if (!normalizationRegex) {
-    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join('');
-    normalizationRegex = new RegExp("[".concat(replace, "]"), 'g');
+    const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
+    normalizationRegex = new RegExp(`[${replace}]`, "g");
   }
 
   return text.replace(normalizationRegex, function (ch) {
@@ -6741,686 +5476,635 @@ function normalize(text) {
   });
 }
 
-var PDFFindController =
-/*#__PURE__*/
-function () {
-  function PDFFindController(_ref) {
-    var linkService = _ref.linkService,
-        _ref$eventBus = _ref.eventBus,
-        eventBus = _ref$eventBus === void 0 ? (0, _ui_utils.getGlobalEventBus)() : _ref$eventBus;
-
-    _classCallCheck(this, PDFFindController);
-
+class PDFFindController {
+  constructor({
+    linkService,
+    eventBus
+  }) {
     this._linkService = linkService;
-    this._eventBus = eventBus;
+    this._eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
 
     this._reset();
 
-    eventBus.on('findbarclose', this._onFindBarClose.bind(this));
+    eventBus._on("findbarclose", this._onFindBarClose.bind(this));
   }
 
-  _createClass(PDFFindController, [{
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      if (this._pdfDocument) {
-        this._reset();
-      }
+  get highlightMatches() {
+    return this._highlightMatches;
+  }
 
-      if (!pdfDocument) {
-        return;
-      }
+  get pageMatches() {
+    return this._pageMatches;
+  }
+
+  get pageMatchesLength() {
+    return this._pageMatchesLength;
+  }
+
+  get selected() {
+    return this._selected;
+  }
 
-      this._pdfDocument = pdfDocument;
+  get state() {
+    return this._state;
+  }
 
-      this._firstPageCapability.resolve();
+  setDocument(pdfDocument) {
+    if (this._pdfDocument) {
+      this._reset();
     }
-  }, {
-    key: "executeCommand",
-    value: function executeCommand(cmd, state) {
-      var _this = this;
 
-      if (!state) {
-        return;
-      }
+    if (!pdfDocument) {
+      return;
+    }
 
-      var pdfDocument = this._pdfDocument;
+    this._pdfDocument = pdfDocument;
 
-      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
-        this._dirtyMatch = true;
-      }
+    this._firstPageCapability.resolve();
+  }
 
-      this._state = state;
+  executeCommand(cmd, state) {
+    if (!state) {
+      return;
+    }
 
-      if (cmd !== 'findhighlightallchange') {
-        this._updateUIState(FindState.PENDING);
-      }
+    const pdfDocument = this._pdfDocument;
 
-      this._firstPageCapability.promise.then(function () {
-        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {
-          return;
-        }
+    if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
+      this._dirtyMatch = true;
+    }
 
-        _this._extractText();
+    this._state = state;
 
-        var findbarClosed = !_this._highlightMatches;
-        var pendingTimeout = !!_this._findTimeout;
+    if (cmd !== "findhighlightallchange") {
+      this._updateUIState(FindState.PENDING);
+    }
 
-        if (_this._findTimeout) {
-          clearTimeout(_this._findTimeout);
-          _this._findTimeout = null;
-        }
+    this._firstPageCapability.promise.then(() => {
+      if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {
+        return;
+      }
 
-        if (cmd === 'find') {
-          _this._findTimeout = setTimeout(function () {
-            _this._nextMatch();
+      this._extractText();
 
-            _this._findTimeout = null;
-          }, FIND_TIMEOUT);
-        } else if (_this._dirtyMatch) {
-          _this._nextMatch();
-        } else if (cmd === 'findagain') {
-          _this._nextMatch();
+      const findbarClosed = !this._highlightMatches;
+      const pendingTimeout = !!this._findTimeout;
 
-          if (findbarClosed && _this._state.highlightAll) {
-            _this._updateAllPages();
-          }
-        } else if (cmd === 'findhighlightallchange') {
-          if (pendingTimeout) {
-            _this._nextMatch();
-          } else {
-            _this._highlightMatches = true;
-          }
+      if (this._findTimeout) {
+        clearTimeout(this._findTimeout);
+        this._findTimeout = null;
+      }
+
+      if (cmd === "find") {
+        this._findTimeout = setTimeout(() => {
+          this._nextMatch();
 
-          _this._updateAllPages();
+          this._findTimeout = null;
+        }, FIND_TIMEOUT);
+      } else if (this._dirtyMatch) {
+        this._nextMatch();
+      } else if (cmd === "findagain") {
+        this._nextMatch();
+
+        if (findbarClosed && this._state.highlightAll) {
+          this._updateAllPages();
+        }
+      } else if (cmd === "findhighlightallchange") {
+        if (pendingTimeout) {
+          this._nextMatch();
         } else {
-          _this._nextMatch();
+          this._highlightMatches = true;
         }
-      });
-    }
-  }, {
-    key: "scrollMatchIntoView",
-    value: function scrollMatchIntoView(_ref2) {
-      var _ref2$element = _ref2.element,
-          element = _ref2$element === void 0 ? null : _ref2$element,
-          _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: MATCH_SCROLL_OFFSET_LEFT
-      };
-      (0, _ui_utils.scrollIntoView)(element, spot, true);
-    }
-  }, {
-    key: "_reset",
-    value: function _reset() {
-      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._matchesCountTotal = 0;
-      this._pagesToSearch = null;
-      this._pendingFindMatches = Object.create(null);
-      this._resumePageIdx = null;
-      this._dirtyMatch = false;
-      clearTimeout(this._findTimeout);
-      this._findTimeout = null;
-      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
-    }
-  }, {
-    key: "_shouldDirtyMatch",
-    value: function _shouldDirtyMatch(cmd, state) {
-      if (state.query !== this._state.query) {
-        return true;
+        this._updateAllPages();
+      } else {
+        this._nextMatch();
       }
+    });
+  }
 
-      switch (cmd) {
-        case 'findagain':
-          var pageNumber = this._selected.pageIdx + 1;
-          var linkService = this._linkService;
+  scrollMatchIntoView({
+    element = null,
+    pageIndex = -1,
+    matchIndex = -1
+  }) {
+    if (!this._scrollMatches || !element) {
+      return;
+    } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
+      return;
+    } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
+      return;
+    }
 
-          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && 
!linkService.isPageVisible(pageNumber)) {
-            return true;
-          }
+    this._scrollMatches = false;
+    const spot = {
+      top: MATCH_SCROLL_OFFSET_TOP,
+      left: MATCH_SCROLL_OFFSET_LEFT
+    };
+    (0, _ui_utils.scrollIntoView)(element, spot, true);
+  }
+
+  _reset() {
+    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._matchesCountTotal = 0;
+    this._pagesToSearch = null;
+    this._pendingFindMatches = Object.create(null);
+    this._resumePageIdx = null;
+    this._dirtyMatch = false;
+    clearTimeout(this._findTimeout);
+    this._findTimeout = null;
+    this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
+  }
 
-          return false;
+  get _query() {
+    if (this._state.query !== this._rawQuery) {
+      this._rawQuery = this._state.query;
+      this._normalizedQuery = normalize(this._state.query);
+    }
 
-        case 'findhighlightallchange':
-          return false;
-      }
+    return this._normalizedQuery;
+  }
 
+  _shouldDirtyMatch(cmd, state) {
+    if (state.query !== this._state.query) {
       return true;
     }
-  }, {
-    key: "_prepareMatches",
-    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {
-      function isSubTerm(matchesWithLength, currentIndex) {
-        var currentElem = matchesWithLength[currentIndex];
-        var nextElem = matchesWithLength[currentIndex + 1];
 
-        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
-          currentElem.skipped = true;
+    switch (cmd) {
+      case "findagain":
+        const pageNumber = this._selected.pageIdx + 1;
+        const linkService = this._linkService;
+
+        if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && 
!linkService.isPageVisible(pageNumber)) {
           return true;
         }
 
-        for (var i = currentIndex - 1; i >= 0; i--) {
-          var prevElem = matchesWithLength[i];
+        return false;
 
-          if (prevElem.skipped) {
-            continue;
-          }
+      case "findhighlightallchange":
+        return false;
+    }
 
-          if (prevElem.match + prevElem.matchLength < currentElem.match) {
-            break;
-          }
+    return true;
+  }
 
-          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
-            currentElem.skipped = true;
-            return true;
-          }
-        }
+  _prepareMatches(matchesWithLength, matches, matchesLength) {
+    function isSubTerm(currentIndex) {
+      const currentElem = matchesWithLength[currentIndex];
+      const nextElem = matchesWithLength[currentIndex + 1];
 
-        return false;
+      if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
+        currentElem.skipped = true;
+        return true;
       }
 
-      matchesWithLength.sort(function (a, b) {
-        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
-      });
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        const prevElem = matchesWithLength[i];
 
-      for (var i = 0, len = matchesWithLength.length; i < len; i++) {
-        if (isSubTerm(matchesWithLength, i)) {
+        if (prevElem.skipped) {
           continue;
         }
 
-        matches.push(matchesWithLength[i].match);
-        matchesLength.push(matchesWithLength[i].matchLength);
-      }
-    }
-  }, {
-    key: "_isEntireWord",
-    value: function _isEntireWord(content, startIdx, length) {
-      if (startIdx > 0) {
-        var first = content.charCodeAt(startIdx);
-        var limit = content.charCodeAt(startIdx - 1);
+        if (prevElem.match + prevElem.matchLength < currentElem.match) {
+          break;
+        }
 
-        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
-          return false;
+        if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
+          currentElem.skipped = true;
+          return true;
         }
       }
 
-      var endIdx = startIdx + length - 1;
+      return false;
+    }
+
+    matchesWithLength.sort(function (a, b) {
+      return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
+    });
+
+    for (let i = 0, len = matchesWithLength.length; i < len; i++) {
+      if (isSubTerm(i)) {
+        continue;
+      }
 
-      if (endIdx < content.length - 1) {
-        var last = content.charCodeAt(endIdx);
+      matches.push(matchesWithLength[i].match);
+      matchesLength.push(matchesWithLength[i].matchLength);
+    }
+  }
 
-        var _limit = content.charCodeAt(endIdx + 1);
+  _isEntireWord(content, startIdx, length) {
+    if (startIdx > 0) {
+      const first = content.charCodeAt(startIdx);
+      const limit = content.charCodeAt(startIdx - 1);
 
-        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
-          return false;
-        }
+      if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
+        return false;
       }
+    }
 
-      return true;
+    const endIdx = startIdx + length - 1;
+
+    if (endIdx < content.length - 1) {
+      const last = content.charCodeAt(endIdx);
+      const limit = content.charCodeAt(endIdx + 1);
+
+      if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {
+        return false;
+      }
     }
-  }, {
-    key: "_calculatePhraseMatch",
-    value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {
-      var matches = [];
-      var queryLen = query.length;
-      var matchIdx = -queryLen;
 
-      while (true) {
-        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);
+    return true;
+  }
 
-        if (matchIdx === -1) {
-          break;
-        }
+  _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {
+    const matches = [];
+    const queryLen = query.length;
+    let matchIdx = -queryLen;
 
-        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
-          continue;
-        }
+    while (true) {
+      matchIdx = pageContent.indexOf(query, matchIdx + queryLen);
+
+      if (matchIdx === -1) {
+        break;
+      }
 
-        matches.push(matchIdx);
+      if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
+        continue;
       }
 
-      this._pageMatches[pageIndex] = matches;
+      matches.push(matchIdx);
     }
-  }, {
-    key: "_calculateWordMatch",
-    value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {
-      var matchesWithLength = [];
-      var queryArray = query.match(/\S+/g);
 
-      for (var i = 0, len = queryArray.length; i < len; i++) {
-        var subquery = queryArray[i];
-        var subqueryLen = subquery.length;
-        var matchIdx = -subqueryLen;
+    this._pageMatches[pageIndex] = matches;
+  }
 
-        while (true) {
-          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);
+  _calculateWordMatch(query, pageIndex, pageContent, entireWord) {
+    const matchesWithLength = [];
+    const queryArray = query.match(/\S+/g);
 
-          if (matchIdx === -1) {
-            break;
-          }
+    for (let i = 0, len = queryArray.length; i < len; i++) {
+      const subquery = queryArray[i];
+      const subqueryLen = subquery.length;
+      let matchIdx = -subqueryLen;
 
-          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
-            continue;
-          }
+      while (true) {
+        matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);
 
-          matchesWithLength.push({
-            match: matchIdx,
-            matchLength: subqueryLen,
-            skipped: false
-          });
+        if (matchIdx === -1) {
+          break;
         }
-      }
 
-      this._pageMatchesLength[pageIndex] = [];
-      this._pageMatches[pageIndex] = [];
+        if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
+          continue;
+        }
 
-      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], 
this._pageMatchesLength[pageIndex]);
+        matchesWithLength.push({
+          match: matchIdx,
+          matchLength: subqueryLen,
+          skipped: false
+        });
+      }
     }
-  }, {
-    key: "_calculateMatch",
-    value: function _calculateMatch(pageIndex) {
-      var pageContent = this._pageContents[pageIndex];
-      var query = this._query;
-      var _this$_state = this._state,
-          caseSensitive = _this$_state.caseSensitive,
-          entireWord = _this$_state.entireWord,
-          phraseSearch = _this$_state.phraseSearch;
 
-      if (query.length === 0) {
-        return;
-      }
+    this._pageMatchesLength[pageIndex] = [];
+    this._pageMatches[pageIndex] = [];
 
-      if (!caseSensitive) {
-        pageContent = pageContent.toLowerCase();
-        query = query.toLowerCase();
-      }
+    this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], 
this._pageMatchesLength[pageIndex]);
+  }
 
-      if (phraseSearch) {
-        this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);
-      } else {
-        this._calculateWordMatch(query, pageIndex, pageContent, entireWord);
-      }
+  _calculateMatch(pageIndex) {
+    let pageContent = this._pageContents[pageIndex];
+    let query = this._query;
+    const {
+      caseSensitive,
+      entireWord,
+      phraseSearch
+    } = this._state;
 
-      if (this._state.highlightAll) {
-        this._updatePage(pageIndex);
-      }
+    if (query.length === 0) {
+      return;
+    }
 
-      if (this._resumePageIdx === pageIndex) {
-        this._resumePageIdx = null;
+    if (!caseSensitive) {
+      pageContent = pageContent.toLowerCase();
+      query = query.toLowerCase();
+    }
 
-        this._nextPageMatch();
-      }
+    if (phraseSearch) {
+      this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);
+    } else {
+      this._calculateWordMatch(query, pageIndex, pageContent, entireWord);
+    }
 
-      var pageMatchesCount = this._pageMatches[pageIndex].length;
+    if (this._state.highlightAll) {
+      this._updatePage(pageIndex);
+    }
 
-      if (pageMatchesCount > 0) {
-        this._matchesCountTotal += pageMatchesCount;
+    if (this._resumePageIdx === pageIndex) {
+      this._resumePageIdx = null;
 
-        this._updateUIResultsCount();
-      }
+      this._nextPageMatch();
     }
-  }, {
-    key: "_extractText",
-    value: function _extractText() {
-      var _this2 = this;
 
-      if (this._extractTextPromises.length > 0) {
-        return;
-      }
+    const pageMatchesCount = this._pageMatches[pageIndex].length;
 
-      var promise = Promise.resolve();
+    if (pageMatchesCount > 0) {
+      this._matchesCountTotal += pageMatchesCount;
 
-      var _loop = function _loop(i, ii) {
-        var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
-        _this2._extractTextPromises[i] = extractTextCapability.promise;
-        promise = promise.then(function () {
-          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
-            return pdfPage.getTextContent({
-              normalizeWhitespace: true
-            });
-          }).then(function (textContent) {
-            var textItems = textContent.items;
-            var strBuf = [];
+      this._updateUIResultsCount();
+    }
+  }
 
-            for (var j = 0, jj = textItems.length; j < jj; j++) {
-              strBuf.push(textItems[j].str);
-            }
+  _extractText() {
+    if (this._extractTextPromises.length > 0) {
+      return;
+    }
 
-            _this2._pageContents[i] = normalize(strBuf.join(''));
-            extractTextCapability.resolve(i);
-          }, function (reason) {
-            console.error("Unable to get text content for page ".concat(i + 1), reason);
-            _this2._pageContents[i] = '';
-            extractTextCapability.resolve(i);
+    let promise = Promise.resolve();
+
+    for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
+      const extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
+      this._extractTextPromises[i] = extractTextCapability.promise;
+      promise = promise.then(() => {
+        return this._pdfDocument.getPage(i + 1).then(pdfPage => {
+          return pdfPage.getTextContent({
+            normalizeWhitespace: true
           });
-        });
-      };
+        }).then(textContent => {
+          const textItems = textContent.items;
+          const strBuf = [];
 
-      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
-        _loop(i, ii);
-      }
-    }
-  }, {
-    key: "_updatePage",
-    value: function _updatePage(index) {
-      if (this._scrollMatches && this._selected.pageIdx === index) {
-        this._linkService.page = index + 1;
-      }
+          for (let j = 0, jj = textItems.length; j < jj; j++) {
+            strBuf.push(textItems[j].str);
+          }
 
-      this._eventBus.dispatch('updatetextlayermatches', {
-        source: this,
-        pageIndex: index
+          this._pageContents[i] = normalize(strBuf.join(""));
+          extractTextCapability.resolve(i);
+        }, reason => {
+          console.error(`Unable to get text content for page ${i + 1}`, reason);
+          this._pageContents[i] = "";
+          extractTextCapability.resolve(i);
+        });
       });
     }
-  }, {
-    key: "_updateAllPages",
-    value: function _updateAllPages() {
-      this._eventBus.dispatch('updatetextlayermatches', {
-        source: this,
-        pageIndex: -1
-      });
+  }
+
+  _updatePage(index) {
+    if (this._scrollMatches && this._selected.pageIdx === index) {
+      this._linkService.page = index + 1;
     }
-  }, {
-    key: "_nextMatch",
-    value: function _nextMatch() {
-      var _this3 = 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;
 
-        this._updateAllPages();
+    this._eventBus.dispatch("updatetextlayermatches", {
+      source: this,
+      pageIndex: index
+    });
+  }
 
-        for (var i = 0; i < numPages; i++) {
-          if (this._pendingFindMatches[i] === true) {
-            continue;
-          }
+  _updateAllPages() {
+    this._eventBus.dispatch("updatetextlayermatches", {
+      source: this,
+      pageIndex: -1
+    });
+  }
+
+  _nextMatch() {
+    const previous = this._state.findPrevious;
+    const currentPageIndex = this._linkService.page - 1;
+    const numPages = this._linkService.pagesCount;
+    this._highlightMatches = true;
 
-          this._pendingFindMatches[i] = 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;
 
-          this._extractTextPromises[i].then(function (pageIdx) {
-            delete _this3._pendingFindMatches[pageIdx];
+      this._updateAllPages();
 
-            _this3._calculateMatch(pageIdx);
-          });
+      for (let i = 0; i < numPages; i++) {
+        if (this._pendingFindMatches[i] === true) {
+          continue;
         }
-      }
 
-      if (this._query === '') {
-        this._updateUIState(FindState.FOUND);
+        this._pendingFindMatches[i] = true;
 
-        return;
-      }
+        this._extractTextPromises[i].then(pageIdx => {
+          delete this._pendingFindMatches[pageIdx];
 
-      if (this._resumePageIdx) {
-        return;
+          this._calculateMatch(pageIdx);
+        });
       }
+    }
 
-      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;
+    if (this._query === "") {
+      this._updateUIState(FindState.FOUND);
 
-          this._updateMatch(true);
+      return;
+    }
 
-          return;
-        }
+    if (this._resumePageIdx) {
+      return;
+    }
 
-        this._advanceOffsetPage(previous);
-      }
+    const offset = this._offset;
+    this._pagesToSearch = numPages;
 
-      this._nextPageMatch();
-    }
-  }, {
-    key: "_matchesReady",
-    value: function _matchesReady(matches) {
-      var offset = this._offset;
-      var numMatches = matches.length;
-      var previous = this._state.findPrevious;
+    if (offset.matchIdx !== null) {
+      const numPageMatches = this._pageMatches[offset.pageIdx].length;
 
-      if (numMatches) {
-        offset.matchIdx = previous ? numMatches - 1 : 0;
+      if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
+        offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;
 
         this._updateMatch(true);
 
-        return true;
+        return;
       }
 
       this._advanceOffsetPage(previous);
+    }
 
-      if (offset.wrapped) {
-        offset.matchIdx = null;
+    this._nextPageMatch();
+  }
 
-        if (this._pagesToSearch < 0) {
-          this._updateMatch(false);
+  _matchesReady(matches) {
+    const offset = this._offset;
+    const numMatches = matches.length;
+    const previous = this._state.findPrevious;
 
-          return true;
-        }
-      }
+    if (numMatches) {
+      offset.matchIdx = previous ? numMatches - 1 : 0;
 
-      return false;
+      this._updateMatch(true);
+
+      return true;
     }
-  }, {
-    key: "_nextPageMatch",
-    value: function _nextPageMatch() {
-      if (this._resumePageIdx !== null) {
-        console.error('There can only be one pending page.');
+
+    this._advanceOffsetPage(previous);
+
+    if (offset.wrapped) {
+      offset.matchIdx = null;
+
+      if (this._pagesToSearch < 0) {
+        this._updateMatch(false);
+
+        return true;
       }
+    }
+
+    return false;
+  }
 
-      var matches = null;
+  _nextPageMatch() {
+    if (this._resumePageIdx !== null) {
+      console.error("There can only be one pending page.");
+    }
 
-      do {
-        var pageIdx = this._offset.pageIdx;
-        matches = this._pageMatches[pageIdx];
+    let matches = null;
 
-        if (!matches) {
-          this._resumePageIdx = pageIdx;
-          break;
-        }
-      } while (!this._matchesReady(matches));
-    }
-  }, {
-    key: "_advanceOffsetPage",
-    value: function _advanceOffsetPage(previous) {
-      var offset = this._offset;
-      var numPages = this._linkService.pagesCount;
-      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
-      offset.matchIdx = null;
-      this._pagesToSearch--;
+    do {
+      const pageIdx = this._offset.pageIdx;
+      matches = this._pageMatches[pageIdx];
 
-      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
-        offset.pageIdx = previous ? numPages - 1 : 0;
-        offset.wrapped = true;
+      if (!matches) {
+        this._resumePageIdx = pageIdx;
+        break;
       }
+    } while (!this._matchesReady(matches));
+  }
+
+  _advanceOffsetPage(previous) {
+    const offset = this._offset;
+    const 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;
     }
-  }, {
-    key: "_updateMatch",
-    value: function _updateMatch() {
-      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;
+  _updateMatch(found = false) {
+    let state = FindState.NOT_FOUND;
+    const wrapped = this._offset.wrapped;
+    this._offset.wrapped = false;
 
-        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
-          this._updatePage(previousPage);
-        }
+    if (found) {
+      const 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) {
+        this._updatePage(previousPage);
       }
+    }
 
-      this._updateUIState(state, this._state.findPrevious);
+    this._updateUIState(state, this._state.findPrevious);
 
-      if (this._selected.pageIdx !== -1) {
-        this._scrollMatches = true;
+    if (this._selected.pageIdx !== -1) {
+      this._scrollMatches = true;
 
-        this._updatePage(this._selected.pageIdx);
-      }
+      this._updatePage(this._selected.pageIdx);
     }
-  }, {
-    key: "_onFindBarClose",
-    value: function _onFindBarClose(evt) {
-      var _this4 = this;
+  }
 
-      var pdfDocument = this._pdfDocument;
+  _onFindBarClose(evt) {
+    const pdfDocument = this._pdfDocument;
 
-      this._firstPageCapability.promise.then(function () {
-        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
-          return;
-        }
+    this._firstPageCapability.promise.then(() => {
+      if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {
+        return;
+      }
 
-        if (_this4._findTimeout) {
-          clearTimeout(_this4._findTimeout);
-          _this4._findTimeout = null;
-        }
+      if (this._findTimeout) {
+        clearTimeout(this._findTimeout);
+        this._findTimeout = null;
+      }
 
-        if (_this4._resumePageIdx) {
-          _this4._resumePageIdx = null;
-          _this4._dirtyMatch = true;
-        }
+      if (this._resumePageIdx) {
+        this._resumePageIdx = null;
+        this._dirtyMatch = true;
+      }
 
-        _this4._updateUIState(FindState.FOUND);
+      this._updateUIState(FindState.FOUND);
 
-        _this4._highlightMatches = false;
+      this._highlightMatches = false;
 
-        _this4._updateAllPages();
-      });
-    }
-  }, {
-    key: "_requestMatchesCount",
-    value: function _requestMatchesCount() {
-      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++) {
-          current += this._pageMatches[i] && this._pageMatches[i].length || 0;
-        }
+      this._updateAllPages();
+    });
+  }
 
-        current += matchIdx + 1;
-      }
+  _requestMatchesCount() {
+    const {
+      pageIdx,
+      matchIdx
+    } = this._selected;
+    let current = 0,
+        total = this._matchesCountTotal;
 
-      if (current < 1 || current > total) {
-        current = total = 0;
+    if (matchIdx !== -1) {
+      for (let i = 0; i < pageIdx; i++) {
+        current += this._pageMatches[i] && this._pageMatches[i].length || 0;
       }
 
-      return {
-        current: current,
-        total: total
-      };
-    }
-  }, {
-    key: "_updateUIResultsCount",
-    value: function _updateUIResultsCount() {
-      this._eventBus.dispatch('updatefindmatchescount', {
-        source: this,
-        matchesCount: this._requestMatchesCount()
-      });
-    }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState(state, previous) {
-      this._eventBus.dispatch('updatefindcontrolstate', {
-        source: this,
-        state: state,
-        previous: previous,
-        matchesCount: this._requestMatchesCount()
-      });
-    }
-  }, {
-    key: "highlightMatches",
-    get: function get() {
-      return this._highlightMatches;
+      current += matchIdx + 1;
     }
-  }, {
-    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: "_query",
-    get: function get() {
-      if (this._state.query !== this._rawQuery) {
-        this._rawQuery = this._state.query;
-        this._normalizedQuery = normalize(this._state.query);
-      }
 
-      return this._normalizedQuery;
+    if (current < 1 || current > total) {
+      current = total = 0;
     }
-  }]);
 
-  return PDFFindController;
-}();
+    return {
+      current,
+      total
+    };
+  }
+
+  _updateUIResultsCount() {
+    this._eventBus.dispatch("updatefindmatchescount", {
+      source: this,
+      matchesCount: this._requestMatchesCount()
+    });
+  }
+
+  _updateUIState(state, previous) {
+    this._eventBus.dispatch("updatefindcontrolstate", {
+      source: this,
+      state,
+      previous,
+      matchesCount: this._requestMatchesCount()
+    });
+  }
+
+}
 
 exports.PDFFindController = PDFFindController;
 
 /***/ }),
-/* 19 */
+/* 16 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -7431,7 +6115,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.getCharacterType = getCharacterType;
 exports.CharacterType = void 0;
-var CharacterType = {
+const CharacterType = {
   SPACE: 0,
   ALPHA_LETTER: 1,
   PUNCT: 2,
@@ -7444,15 +6128,15 @@ var CharacterType = {
 exports.CharacterType = CharacterType;
 
 function isAlphabeticalScript(charCode) {
-  return charCode < 0x2E80;
+  return charCode < 0x2e80;
 }
 
 function isAscii(charCode) {
-  return (charCode & 0xFF80) === 0;
+  return (charCode & 0xff80) === 0;
 }
 
 function isAsciiAlpha(charCode) {
-  return charCode >= 0x61 && charCode <= 0x7A || charCode >= 0x41 && charCode <= 0x5A;
+  return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
 }
 
 function isAsciiDigit(charCode) {
@@ -7460,27 +6144,27 @@ function isAsciiDigit(charCode) {
 }
 
 function isAsciiSpace(charCode) {
-  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0D || charCode === 0x0A;
+  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
 }
 
 function isHan(charCode) {
-  return charCode >= 0x3400 && charCode <= 0x9FFF || charCode >= 0xF900 && charCode <= 0xFAFF;
+  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
 }
 
 function isKatakana(charCode) {
-  return charCode >= 0x30A0 && charCode <= 0x30FF;
+  return charCode >= 0x30a0 && charCode <= 0x30ff;
 }
 
 function isHiragana(charCode) {
-  return charCode >= 0x3040 && charCode <= 0x309F;
+  return charCode >= 0x3040 && charCode <= 0x309f;
 }
 
 function isHalfwidthKatakana(charCode) {
-  return charCode >= 0xFF60 && charCode <= 0xFF9F;
+  return charCode >= 0xff60 && charCode <= 0xff9f;
 }
 
 function isThai(charCode) {
-  return (charCode & 0xFF80) === 0x0E00;
+  return (charCode & 0xff80) === 0x0e00;
 }
 
 function getCharacterType(charCode) {
@@ -7488,14 +6172,14 @@ function getCharacterType(charCode) {
     if (isAscii(charCode)) {
       if (isAsciiSpace(charCode)) {
         return CharacterType.SPACE;
-      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5F) {
+      } 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) {
+    } else if (charCode === 0xa0) {
       return CharacterType.SPACE;
     }
 
@@ -7516,7 +6200,7 @@ function getCharacterType(charCode) {
 }
 
 /***/ }),
-/* 20 */
+/* 17 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -7529,530 +6213,519 @@ exports.isDestHashesEqual = isDestHashesEqual;
 exports.isDestArraysEqual = isDestArraysEqual;
 exports.PDFHistory = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+var _ui_utils = __webpack_require__(2);
 
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || 
_nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || 
Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var 
_d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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); return Constructor; }
-
-var HASH_CHANGE_TIMEOUT = 1000;
-var POSITION_UPDATED_THRESHOLD = 50;
-var UPDATE_VIEWAREA_TIMEOUT = 1000;
+const HASH_CHANGE_TIMEOUT = 1000;
+const POSITION_UPDATED_THRESHOLD = 50;
+const UPDATE_VIEWAREA_TIMEOUT = 1000;
 
 function getCurrentHash() {
   return document.location.hash;
 }
 
-function parseCurrentHash(linkService) {
-  var hash = unescape(getCurrentHash()).substring(1);
-  var params = (0, _ui_utils.parseQueryString)(hash);
-  var page = params.page | 0;
-
-  if (!(Number.isInteger(page) && page > 0 && page <= linkService.pagesCount)) {
-    page = null;
-  }
+class PDFHistory {
+  constructor({
+    linkService,
+    eventBus
+  }) {
+    this.linkService = linkService;
+    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
+    this._initialized = false;
+    this._fingerprint = "";
+    this.reset();
+    this._boundEvents = null;
+    this._isViewerInPresentationMode = false;
 
-  return {
-    hash: hash,
-    page: page,
-    rotation: linkService.rotation
-  };
-}
+    this.eventBus._on("presentationmodechanged", evt => {
+      this._isViewerInPresentationMode = evt.active || evt.switchInProgress;
+    });
 
-var PDFHistory =
-/*#__PURE__*/
-function () {
-  function PDFHistory(_ref) {
-    var _this = this;
+    this.eventBus._on("pagesinit", () => {
+      this._isPagesLoaded = false;
 
-    var linkService = _ref.linkService,
-        eventBus = _ref.eventBus;
+      const onPagesLoaded = evt => {
+        this.eventBus._off("pagesloaded", onPagesLoaded);
 
-    _classCallCheck(this, PDFHistory);
+        this._isPagesLoaded = !!evt.pagesCount;
+      };
 
-    this.linkService = linkService;
-    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.initialized = false;
-    this.initialBookmark = null;
-    this.initialRotation = null;
-    this._boundEvents = Object.create(null);
-    this._isViewerInPresentationMode = false;
-    this._isPagesLoaded = false;
-    this.eventBus.on('presentationmodechanged', function (evt) {
-      _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;
-    });
-    this.eventBus.on('pagesloaded', function (evt) {
-      _this._isPagesLoaded = !!evt.pagesCount;
+      this.eventBus._on("pagesloaded", onPagesLoaded);
     });
   }
 
-  _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;
+  initialize({
+    fingerprint,
+    resetHistory = false,
+    updateUrl = false
+  }) {
+    if (!fingerprint || typeof fingerprint !== "string") {
+      console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
+      return;
+    }
 
-      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.initialized && this.fingerprint !== fingerprint;
-      this.fingerprint = fingerprint;
-      this._updateUrl = updateUrl === true;
+    const reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
+    this._fingerprint = fingerprint;
+    this._updateUrl = updateUrl === true;
+    this._initialized = true;
 
-      if (!this.initialized) {
-        this._bindEvents();
-      }
+    this._bindEvents();
 
-      var state = window.history.state;
-      this.initialized = true;
-      this.initialBookmark = null;
-      this.initialRotation = null;
-      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 _parseCurrentHash = parseCurrentHash(this.linkService),
-            hash = _parseCurrentHash.hash,
-            page = _parseCurrentHash.page,
-            rotation = _parseCurrentHash.rotation;
-
-        if (!hash || reInitialized || resetHistory) {
-          this._pushOrReplaceState(null, true);
+    const 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;
 
-          return;
-        }
+    if (!this._isValidState(state, true) || resetHistory) {
+      const {
+        hash,
+        page,
+        rotation
+      } = this._parseCurrentHash();
 
-        this._pushOrReplaceState({
-          hash: hash,
-          page: page,
-          rotation: rotation
-        }, true);
+      if (!hash || reInitialized || resetHistory) {
+        this._pushOrReplaceState(null, true);
 
         return;
       }
 
-      var destination = state.destination;
+      this._pushOrReplaceState({
+        hash,
+        page,
+        rotation
+      }, true);
 
-      this._updateInternalState(destination, state.uid, true);
+      return;
+    }
 
-      if (this._uid > this._maxUid) {
-        this._maxUid = this._uid;
-      }
+    const destination = state.destination;
 
-      if (destination.rotation !== undefined) {
-        this.initialRotation = destination.rotation;
-      }
+    this._updateInternalState(destination, state.uid, true);
 
-      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);
-      }
+    if (this._uid > this._maxUid) {
+      this._maxUid = this._uid;
     }
-  }, {
-    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 (destination.rotation !== undefined) {
+      this._initialRotation = destination.rotation;
+    }
 
-      if (!this.initialized) {
-        return;
-      }
+    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=${destination.page}`;
+    }
+  }
 
-      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 (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= 
this.linkService.pagesCount)) {
-        if (pageNumber !== null || this._destination) {
-          console.error('PDFHistory.push: ' + "\"".concat(pageNumber, "\" is not a valid pageNumber 
parameter."));
-          return;
-        }
-      }
+  reset() {
+    if (this._initialized) {
+      this._pageHide();
 
-      var hash = namedDest || JSON.stringify(explicitDest);
+      this._initialized = false;
 
-      if (!hash) {
-        return;
-      }
+      this._unbindEvents();
+    }
 
-      var forceReplace = false;
+    if (this._updateViewareaTimeout) {
+      clearTimeout(this._updateViewareaTimeout);
+      this._updateViewareaTimeout = null;
+    }
 
-      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || 
isDestArraysEqual(this._destination.dest, explicitDest))) {
-        if (this._destination.page) {
-          return;
-        }
+    this._initialBookmark = null;
+    this._initialRotation = null;
+  }
 
-        forceReplace = true;
-      }
+  push({
+    namedDest = null,
+    explicitDest,
+    pageNumber
+  }) {
+    if (!this._initialized) {
+      return;
+    }
 
-      if (this._popStateInProgress && !forceReplace) {
+    if (namedDest && typeof namedDest !== "string") {
+      console.error("PDFHistory.push: " + `"${namedDest}" is not a valid namedDest parameter.`);
+      return;
+    } else if (!Array.isArray(explicitDest)) {
+      console.error("PDFHistory.push: " + `"${explicitDest}" is not a valid explicitDest parameter.`);
+      return;
+    } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= 
this.linkService.pagesCount)) {
+      if (pageNumber !== null || this._destination) {
+        console.error("PDFHistory.push: " + `"${pageNumber}" is not a valid pageNumber parameter.`);
         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: "pushCurrentPosition",
-    value: function pushCurrentPosition() {
-      if (!this.initialized || this._popStateInProgress) {
-        return;
-      }
 
-      this._tryPushCurrentPosition();
+    const hash = namedDest || JSON.stringify(explicitDest);
+
+    if (!hash) {
+      return;
     }
-  }, {
-    key: "back",
-    value: function back() {
-      if (!this.initialized || this._popStateInProgress) {
+
+    let forceReplace = false;
+
+    if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || 
isDestArraysEqual(this._destination.dest, explicitDest))) {
+      if (this._destination.page) {
         return;
       }
 
-      var state = window.history.state;
+      forceReplace = true;
+    }
 
-      if (this._isValidState(state) && state.uid > 0) {
-        window.history.back();
-      }
+    if (this._popStateInProgress && !forceReplace) {
+      return;
     }
-  }, {
-    key: "forward",
-    value: function forward() {
-      if (!this.initialized || this._popStateInProgress) {
-        return;
-      }
 
-      var state = window.history.state;
+    this._pushOrReplaceState({
+      dest: explicitDest,
+      hash,
+      page: pageNumber,
+      rotation: this.linkService.rotation
+    }, forceReplace);
 
-      if (this._isValidState(state) && state.uid < this._maxUid) {
-        window.history.forward();
-      }
+    if (!this._popStateInProgress) {
+      this._popStateInProgress = true;
+      Promise.resolve().then(() => {
+        this._popStateInProgress = false;
+      });
+    }
+  }
+
+  pushCurrentPosition() {
+    if (!this._initialized || this._popStateInProgress) {
+      return;
     }
-  }, {
-    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);
+    this._tryPushCurrentPosition();
+  }
 
-      var newUrl;
+  back() {
+    if (!this._initialized || this._popStateInProgress) {
+      return;
+    }
 
-      if (this._updateUrl && destination && destination.hash) {
-        var baseUrl = document.location.href.split('#')[0];
+    const state = window.history.state;
 
-        if (!baseUrl.startsWith('file://')) {
-          newUrl = "".concat(baseUrl, "#").concat(destination.hash);
-        }
-      }
+    if (this._isValidState(state) && state.uid > 0) {
+      window.history.back();
+    }
+  }
 
-      // FIXME: This currently breaks Epiphany due to rewriting history with baseUrl
+  forward() {
+    if (!this._initialized || this._popStateInProgress) {
       return;
-      if (shouldReplace) {
-        if (newUrl) {
-          window.history.replaceState(newState, '', newUrl);
-        } else {
-          window.history.replaceState(newState, '');
-        }
-      } else {
-        this._maxUid = this._uid;
+    }
 
-        if (newUrl) {
-          window.history.pushState(newState, '', newUrl);
-        } else {
-          window.history.pushState(newState, '');
-        }
-      }
+    const state = window.history.state;
+
+    if (this._isValidState(state) && state.uid < this._maxUid) {
+      window.history.forward();
     }
-  }, {
-    key: "_tryPushCurrentPosition",
-    value: function _tryPushCurrentPosition() {
-      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  }
 
-      if (!this._position) {
-        return;
-      }
+  get popStateInProgress() {
+    return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
+  }
 
-      var position = this._position;
+  get initialBookmark() {
+    return this._initialized ? this._initialBookmark : null;
+  }
 
-      if (temporary) {
-        position = Object.assign(Object.create(null), this._position);
-        position.temporary = true;
-      }
+  get initialRotation() {
+    return this._initialized ? this._initialRotation : null;
+  }
 
-      if (!this._destination) {
-        this._pushOrReplaceState(position);
+  _pushOrReplaceState(destination, forceReplace = false) {
+    const shouldReplace = forceReplace || !this._destination;
+    const newState = {
+      fingerprint: this._fingerprint,
+      uid: shouldReplace ? this._uid : this._uid + 1,
+      destination
+    };
 
-        return;
-      }
+    this._updateInternalState(destination, newState.uid);
 
-      if (this._destination.temporary) {
-        this._pushOrReplaceState(position, true);
+    let newUrl;
 
-        return;
-      }
+    if (this._updateUrl && destination && destination.hash) {
+      const baseUrl = document.location.href.split("#")[0];
 
-      if (this._destination.hash === position.hash) {
-        return;
+      if (!baseUrl.startsWith("file://")) {
+        newUrl = `${baseUrl}#${destination.hash}`;
       }
+    }
 
-      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= 
POSITION_UPDATED_THRESHOLD)) {
-        return;
-      }
+    // FIXME: This currently breaks Epiphany due to rewriting history with baseUrl
+    return;
 
-      var forceReplace = false;
+    if (shouldReplace) {
+      window.history.replaceState(newState, "", newUrl);
+    } else {
+      this._maxUid = this._uid;
+      window.history.pushState(newState, "", newUrl);
+    }
+  }
 
-      if (this._destination.page >= position.first && this._destination.page <= position.page) {
-        if (this._destination.dest || !this._destination.first) {
-          return;
-        }
+  _tryPushCurrentPosition(temporary = false) {
+    if (!this._position) {
+      return;
+    }
 
-        forceReplace = true;
-      }
+    let position = this._position;
 
-      this._pushOrReplaceState(position, forceReplace);
+    if (temporary) {
+      position = Object.assign(Object.create(null), this._position);
+      position.temporary = true;
     }
-  }, {
-    key: "_isValidState",
-    value: function _isValidState(state) {
-      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-      if (!state) {
-        return false;
+    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;
+    }
+
+    let forceReplace = false;
+
+    if (this._destination.page >= position.first && this._destination.page <= position.page) {
+      if (this._destination.dest || !this._destination.first) {
+        return;
       }
 
-      if (state.fingerprint !== this.fingerprint) {
-        if (checkReload) {
-          if (typeof state.fingerprint !== 'string' || state.fingerprint.length !== this.fingerprint.length) 
{
-            return false;
-          }
+      forceReplace = true;
+    }
 
-          var _performance$getEntri = performance.getEntriesByType('navigation'),
-              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
-              perfEntry = _performance$getEntri2[0];
+    this._pushOrReplaceState(position, forceReplace);
+  }
 
-          if (!perfEntry || perfEntry.type !== 'reload') {
-            return false;
-          }
-        } else {
+  _isValidState(state, checkReload = 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;
         }
-      }
 
-      if (!Number.isInteger(state.uid) || state.uid < 0) {
-        return false;
-      }
+        const [perfEntry] = performance.getEntriesByType("navigation");
 
-      if (state.destination === null || _typeof(state.destination) !== 'object') {
+        if (!perfEntry || perfEntry.type !== "reload") {
+          return false;
+        }
+      } else {
         return false;
       }
+    }
 
-      return true;
+    if (!Number.isInteger(state.uid) || state.uid < 0) {
+      return false;
     }
-  }, {
-    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 (state.destination === null || typeof state.destination !== "object") {
+      return false;
+    }
 
-      if (removeTemporary && destination && destination.temporary) {
-        delete destination.temporary;
-      }
+    return true;
+  }
 
-      this._destination = destination;
-      this._uid = uid;
-      this._numPositionUpdates = 0;
+  _updateInternalState(destination, uid, removeTemporary = false) {
+    if (this._updateViewareaTimeout) {
+      clearTimeout(this._updateViewareaTimeout);
+      this._updateViewareaTimeout = null;
     }
-  }, {
-    key: "_updateViewarea",
-    value: function _updateViewarea(_ref4) {
-      var _this3 = this;
 
-      var location = _ref4.location;
+    if (removeTemporary && destination && destination.temporary) {
+      delete destination.temporary;
+    }
 
-      if (this._updateViewareaTimeout) {
-        clearTimeout(this._updateViewareaTimeout);
-        this._updateViewareaTimeout = null;
-      }
+    this._destination = destination;
+    this._uid = uid;
+    this._numPositionUpdates = 0;
+  }
 
-      this._position = {
-        hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : 
location.pdfOpenParams.substring(1),
-        page: this.linkService.page,
-        first: location.pageNumber,
-        rotation: location.rotation
-      };
+  _parseCurrentHash() {
+    const hash = unescape(getCurrentHash()).substring(1);
+    let page = (0, _ui_utils.parseQueryString)(hash).page | 0;
 
-      if (this._popStateInProgress) {
-        return;
-      }
+    if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount)) {
+      page = null;
+    }
 
-      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && 
!this._destination.page) {
-        this._numPositionUpdates++;
-      }
+    return {
+      hash,
+      page,
+      rotation: this.linkService.rotation
+    };
+  }
 
-      if (UPDATE_VIEWAREA_TIMEOUT > 0) {
-        this._updateViewareaTimeout = setTimeout(function () {
-          if (!_this3._popStateInProgress) {
-            _this3._tryPushCurrentPosition(true);
-          }
+  _updateViewarea({
+    location
+  }) {
+    if (this._updateViewareaTimeout) {
+      clearTimeout(this._updateViewareaTimeout);
+      this._updateViewareaTimeout = null;
+    }
+
+    this._position = {
+      hash: this._isViewerInPresentationMode ? `page=${location.pageNumber}` : 
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(() => {
+        if (!this._popStateInProgress) {
+          this._tryPushCurrentPosition(true);
+        }
 
-          _this3._updateViewareaTimeout = null;
-        }, UPDATE_VIEWAREA_TIMEOUT);
-      }
+        this._updateViewareaTimeout = null;
+      }, UPDATE_VIEWAREA_TIMEOUT);
     }
-  }, {
-    key: "_popState",
-    value: function _popState(_ref5) {
-      var _this4 = this;
+  }
 
-      var state = _ref5.state;
-      var newHash = getCurrentHash(),
+  _popState({
+    state
+  }) {
+    const newHash = getCurrentHash(),
           hashChanged = this._currentHash !== newHash;
-      this._currentHash = newHash;
-
-      if (!state || false) {
-        this._uid++;
+    this._currentHash = newHash;
 
-        var _parseCurrentHash2 = parseCurrentHash(this.linkService),
-            hash = _parseCurrentHash2.hash,
-            page = _parseCurrentHash2.page,
-            rotation = _parseCurrentHash2.rotation;
+    if (!state) {
+      this._uid++;
 
-        this._pushOrReplaceState({
-          hash: hash,
-          page: page,
-          rotation: rotation
-        }, true);
+      const {
+        hash,
+        page,
+        rotation
+      } = this._parseCurrentHash();
 
-        return;
-      }
+      this._pushOrReplaceState({
+        hash,
+        page,
+        rotation
+      }, true);
 
-      if (!this._isValidState(state)) {
-        return;
-      }
+      return;
+    }
 
-      this._popStateInProgress = true;
+    if (!this._isValidState(state)) {
+      return;
+    }
 
-      if (hashChanged) {
-        this._blockHashChange++;
-        (0, _ui_utils.waitOnEventOrTimeout)({
-          target: window,
-          name: 'hashchange',
-          delay: HASH_CHANGE_TIMEOUT
-        }).then(function () {
-          _this4._blockHashChange--;
-        });
-      }
+    this._popStateInProgress = true;
 
-      var destination = state.destination;
+    if (hashChanged) {
+      this._blockHashChange++;
+      (0, _ui_utils.waitOnEventOrTimeout)({
+        target: window,
+        name: "hashchange",
+        delay: HASH_CHANGE_TIMEOUT
+      }).then(() => {
+        this._blockHashChange--;
+      });
+    }
 
-      this._updateInternalState(destination, state.uid, true);
+    const destination = state.destination;
 
-      if (this._uid > this._maxUid) {
-        this._maxUid = this._uid;
-      }
+    this._updateInternalState(destination, state.uid, true);
 
-      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
-        this.linkService.rotation = destination.rotation;
-      }
+    if (this._uid > this._maxUid) {
+      this._maxUid = this._uid;
+    }
 
-      if (destination.dest) {
-        this.linkService.navigateTo(destination.dest);
-      } else if (destination.hash) {
-        this.linkService.setHash(destination.hash);
-      } else if (destination.page) {
-        this.linkService.page = destination.page;
-      }
+    if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
+      this.linkService.rotation = destination.rotation;
+    }
 
-      Promise.resolve().then(function () {
-        _this4._popStateInProgress = false;
-      });
+    if (destination.dest) {
+      this.linkService.navigateTo(destination.dest);
+    } else if (destination.hash) {
+      this.linkService.setHash(destination.hash);
+    } else if (destination.page) {
+      this.linkService.page = destination.page;
     }
-  }, {
-    key: "_bindEvents",
-    value: function _bindEvents() {
-      var _this5 = this;
 
-      var _boundEvents = this._boundEvents,
-          eventBus = this.eventBus;
-      _boundEvents.updateViewarea = this._updateViewarea.bind(this);
-      _boundEvents.popState = this._popState.bind(this);
+    Promise.resolve().then(() => {
+      this._popStateInProgress = false;
+    });
+  }
 
-      _boundEvents.pageHide = function (evt) {
-        if (!_this5._destination || _this5._destination.temporary) {
-          _this5._tryPushCurrentPosition();
-        }
-      };
+  _pageHide() {
+    if (!this._destination || this._destination.temporary) {
+      this._tryPushCurrentPosition();
+    }
+  }
 
-      eventBus.on('updateviewarea', _boundEvents.updateViewarea);
-      window.addEventListener('popstate', _boundEvents.popState);
-      window.addEventListener('pagehide', _boundEvents.pageHide);
+  _bindEvents() {
+    if (this._boundEvents) {
+      return;
     }
-  }, {
-    key: "popStateInProgress",
-    get: function get() {
-      return this.initialized && (this._popStateInProgress || this._blockHashChange > 0);
+
+    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);
+  }
+
+  _unbindEvents() {
+    if (!this._boundEvents) {
+      return;
     }
-  }]);
 
-  return PDFHistory;
-}();
+    this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);
+
+    window.removeEventListener("popstate", this._boundEvents.popState);
+    window.removeEventListener("pagehide", this._boundEvents.pageHide);
+    this._boundEvents = null;
+  }
+
+}
 
 exports.PDFHistory = PDFHistory;
 
 function isDestHashesEqual(destHash, pushHash) {
-  if (typeof destHash !== 'string' || typeof pushHash !== 'string') {
+  if (typeof destHash !== "string" || typeof pushHash !== "string") {
     return false;
   }
 
@@ -8060,8 +6733,9 @@ function isDestHashesEqual(destHash, pushHash) {
     return true;
   }
 
-  var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),
-      nameddest = _parseQueryString.nameddest;
+  const {
+    nameddest
+  } = (0, _ui_utils.parseQueryString)(destHash);
 
   if (nameddest === pushHash) {
     return true;
@@ -8072,7 +6746,7 @@ function isDestHashesEqual(destHash, pushHash) {
 
 function isDestArraysEqual(firstDest, secondDest) {
   function isEntryEqual(first, second) {
-    if (_typeof(first) !== _typeof(second)) {
+    if (typeof first !== typeof second) {
       return false;
     }
 
@@ -8080,12 +6754,12 @@ function isDestArraysEqual(firstDest, secondDest) {
       return false;
     }
 
-    if (first !== null && _typeof(first) === 'object' && second !== null) {
+    if (first !== null && typeof first === "object" && second !== null) {
       if (Object.keys(first).length !== Object.keys(second).length) {
         return false;
       }
 
-      for (var key in first) {
+      for (const key in first) {
         if (!isEntryEqual(first[key], second[key])) {
           return false;
         }
@@ -8105,7 +6779,7 @@ function isDestArraysEqual(firstDest, secondDest) {
     return false;
   }
 
-  for (var i = 0, ii = firstDest.length; i < ii; i++) {
+  for (let i = 0, ii = firstDest.length; i < ii; i++) {
     if (!isEntryEqual(firstDest[i], secondDest[i])) {
       return false;
     }
@@ -8115,7 +6789,7 @@ function isDestArraysEqual(firstDest, secondDest) {
 }
 
 /***/ }),
-/* 21 */
+/* 18 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -8126,35 +6800,21 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.SimpleLinkService = exports.PDFLinkService = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); return Constructor; }
-
-var PDFLinkService =
-/*#__PURE__*/
-function () {
-  function PDFLinkService() {
-    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        eventBus = _ref.eventBus,
-        _ref$externalLinkTarg = _ref.externalLinkTarget,
-        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
-        _ref$externalLinkRel = _ref.externalLinkRel,
-        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
-        _ref$externalLinkEnab = _ref.externalLinkEnabled,
-        externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab;
-
-    _classCallCheck(this, PDFLinkService);
+var _ui_utils = __webpack_require__(2);
 
+class PDFLinkService {
+  constructor({
+    eventBus,
+    externalLinkTarget = null,
+    externalLinkRel = null,
+    externalLinkEnabled = true,
+    ignoreDestinationZoom = false
+  } = {}) {
     this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
     this.externalLinkTarget = externalLinkTarget;
     this.externalLinkRel = externalLinkRel;
     this.externalLinkEnabled = externalLinkEnabled;
+    this._ignoreDestinationZoom = ignoreDestinationZoom;
     this.baseUrl = null;
     this.pdfDocument = null;
     this.pdfViewer = null;
@@ -8162,311 +6822,291 @@ function () {
     this._pagesRefCache = 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;
-      this._pagesRefCache = Object.create(null);
-    }
-  }, {
-    key: "setViewer",
-    value: function setViewer(pdfViewer) {
-      this.pdfViewer = pdfViewer;
-    }
-  }, {
-    key: "setHistory",
-    value: function setHistory(pdfHistory) {
-      this.pdfHistory = pdfHistory;
-    }
-  }, {
-    key: "navigateTo",
-    value: function navigateTo(dest) {
-      var _this = this;
-
-      var goToDestination = function goToDestination(_ref2) {
-        var namedDest = _ref2.namedDest,
-            explicitDest = _ref2.explicitDest;
-        var destRef = explicitDest[0],
-            pageNumber;
-
-        if (destRef instanceof Object) {
-          pageNumber = _this._cachedPageNumber(destRef);
-
-          if (pageNumber === null) {
-            _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
-              _this.cachePageRef(pageIndex + 1, destRef);
-
-              goToDestination({
-                namedDest: namedDest,
-                explicitDest: explicitDest
-              });
-            })["catch"](function () {
-              console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid page 
reference, for dest=\"".concat(dest, "\"."));
-            });
+  setDocument(pdfDocument, baseUrl = null) {
+    this.baseUrl = baseUrl;
+    this.pdfDocument = pdfDocument;
+    this._pagesRefCache = Object.create(null);
+  }
 
-            return;
-          }
-        } else if (Number.isInteger(destRef)) {
-          pageNumber = destRef + 1;
-        } else {
-          console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid destination 
reference, for dest=\"".concat(dest, "\"."));
-          return;
-        }
+  setViewer(pdfViewer) {
+    this.pdfViewer = pdfViewer;
+  }
 
-        if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {
-          console.error("PDFLinkService.navigateTo: \"".concat(pageNumber, "\" is not ") + "a valid page 
number, for dest=\"".concat(dest, "\"."));
-          return;
-        }
+  setHistory(pdfHistory) {
+    this.pdfHistory = pdfHistory;
+  }
 
-        if (_this.pdfHistory) {
-          _this.pdfHistory.pushCurrentPosition();
+  get pagesCount() {
+    return this.pdfDocument ? this.pdfDocument.numPages : 0;
+  }
 
-          _this.pdfHistory.push({
-            namedDest: namedDest,
-            explicitDest: explicitDest,
-            pageNumber: pageNumber
-          });
-        }
+  get page() {
+    return this.pdfViewer.currentPageNumber;
+  }
 
-        _this.pdfViewer.scrollPageIntoView({
-          pageNumber: pageNumber,
-          destArray: explicitDest
-        });
-      };
+  set page(value) {
+    this.pdfViewer.currentPageNumber = value;
+  }
+
+  get rotation() {
+    return this.pdfViewer.pagesRotation;
+  }
+
+  set rotation(value) {
+    this.pdfViewer.pagesRotation = value;
+  }
+
+  navigateTo(dest) {
+    const goToDestination = ({
+      namedDest,
+      explicitDest
+    }) => {
+      const destRef = explicitDest[0];
+      let pageNumber;
 
-      new Promise(function (resolve, reject) {
-        if (typeof dest === 'string') {
-          _this.pdfDocument.getDestination(dest).then(function (destArray) {
-            resolve({
-              namedDest: dest,
-              explicitDest: destArray
+      if (destRef instanceof Object) {
+        pageNumber = this._cachedPageNumber(destRef);
+
+        if (pageNumber === null) {
+          this.pdfDocument.getPageIndex(destRef).then(pageIndex => {
+            this.cachePageRef(pageIndex + 1, destRef);
+            goToDestination({
+              namedDest,
+              explicitDest
             });
+          }).catch(() => {
+            console.error(`PDFLinkService.navigateTo: "${destRef}" is not ` + `a valid page reference, for 
dest="${dest}".`);
           });
-
           return;
         }
+      } else if (Number.isInteger(destRef)) {
+        pageNumber = destRef + 1;
+      } else {
+        console.error(`PDFLinkService.navigateTo: "${destRef}" is not ` + `a valid destination reference, 
for dest="${dest}".`);
+        return;
+      }
+
+      if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
+        console.error(`PDFLinkService.navigateTo: "${pageNumber}" is not ` + `a valid page number, for 
dest="${dest}".`);
+        return;
+      }
 
-        resolve({
-          namedDest: '',
-          explicitDest: dest
+      if (this.pdfHistory) {
+        this.pdfHistory.pushCurrentPosition();
+        this.pdfHistory.push({
+          namedDest,
+          explicitDest,
+          pageNumber
         });
-      }).then(function (data) {
-        if (!Array.isArray(data.explicitDest)) {
-          console.error("PDFLinkService.navigateTo: \"".concat(data.explicitDest, "\" is") + " not a valid 
destination array, for dest=\"".concat(dest, "\"."));
-          return;
-        }
+      }
 
-        goToDestination(data);
+      this.pdfViewer.scrollPageIntoView({
+        pageNumber,
+        destArray: explicitDest,
+        ignoreDestinationZoom: this._ignoreDestinationZoom
       });
-    }
-  }, {
-    key: "getDestinationHash",
-    value: function getDestinationHash(dest) {
-      if (typeof dest === 'string') {
-        return this.getAnchorUrl('#' + escape(dest));
+    };
+
+    new Promise((resolve, reject) => {
+      if (typeof dest === "string") {
+        this.pdfDocument.getDestination(dest).then(destArray => {
+          resolve({
+            namedDest: dest,
+            explicitDest: destArray
+          });
+        });
+        return;
       }
 
-      if (Array.isArray(dest)) {
-        var str = JSON.stringify(dest);
-        return this.getAnchorUrl('#' + escape(str));
+      resolve({
+        namedDest: "",
+        explicitDest: dest
+      });
+    }).then(data => {
+      if (!Array.isArray(data.explicitDest)) {
+        console.error(`PDFLinkService.navigateTo: "${data.explicitDest}" is` + ` not a valid destination 
array, for dest="${dest}".`);
+        return;
       }
 
-      return this.getAnchorUrl('');
+      goToDestination(data);
+    });
+  }
+
+  getDestinationHash(dest) {
+    if (typeof dest === "string") {
+      return this.getAnchorUrl("#" + escape(dest));
     }
-  }, {
-    key: "getAnchorUrl",
-    value: function getAnchorUrl(anchor) {
-      return (this.baseUrl || '') + anchor;
+
+    if (Array.isArray(dest)) {
+      const str = JSON.stringify(dest);
+      return this.getAnchorUrl("#" + escape(str));
     }
-  }, {
-    key: "setHash",
-    value: function setHash(hash) {
-      var pageNumber, dest;
 
-      if (hash.includes('=')) {
-        var params = (0, _ui_utils.parseQueryString)(hash);
+    return this.getAnchorUrl("");
+  }
 
-        if ('search' in params) {
-          this.eventBus.dispatch('findfromurlhash', {
-            source: this,
-            query: params['search'].replace(/"/g, ''),
-            phraseSearch: params['phrase'] === 'true'
-          });
-        }
+  getAnchorUrl(anchor) {
+    return (this.baseUrl || "") + anchor;
+  }
 
-        if ('nameddest' in params) {
-          this.navigateTo(params.nameddest);
-          return;
-        }
+  setHash(hash) {
+    let pageNumber, dest;
 
-        if ('page' in params) {
-          pageNumber = params.page | 0 || 1;
-        }
+    if (hash.includes("=")) {
+      const params = (0, _ui_utils.parseQueryString)(hash);
 
-        if ('zoom' in params) {
-          var zoomArgs = params.zoom.split(',');
-          var zoomArg = zoomArgs[0];
-          var zoomArgNumber = parseFloat(zoomArg);
+      if ("search" in params) {
+        this.eventBus.dispatch("findfromurlhash", {
+          source: this,
+          query: params["search"].replace(/"/g, ""),
+          phraseSearch: params["phrase"] === "true"
+        });
+      }
+
+      if ("nameddest" in params) {
+        this.navigateTo(params.nameddest);
+        return;
+      }
+
+      if ("page" in params) {
+        pageNumber = params.page | 0 || 1;
+      }
 
-          if (!zoomArg.includes('Fit')) {
+      if ("zoom" in params) {
+        const zoomArgs = params.zoom.split(",");
+        const zoomArg = zoomArgs[0];
+        const 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: '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') {
+              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.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.');
+              }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
             }
+          } else {
+            console.error(`PDFLinkService.setHash: "${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 ('pagemode' in params) {
-          this.eventBus.dispatch('pagemode', {
-            source: this,
-            mode: params.pagemode
-          });
-        }
-      } else {
-        dest = unescape(hash);
+      if (dest) {
+        this.pdfViewer.scrollPageIntoView({
+          pageNumber: pageNumber || this.page,
+          destArray: dest,
+          allowNegativeOffset: true
+        });
+      } else if (pageNumber) {
+        this.page = pageNumber;
+      }
 
-        try {
-          dest = JSON.parse(dest);
+      if ("pagemode" in params) {
+        this.eventBus.dispatch("pagemode", {
+          source: this,
+          mode: params.pagemode
+        });
+      }
+    } else {
+      dest = unescape(hash);
 
-          if (!Array.isArray(dest)) {
-            dest = dest.toString();
-          }
-        } catch (ex) {}
+      try {
+        dest = JSON.parse(dest);
 
-        if (typeof dest === 'string' || isValidExplicitDestination(dest)) {
-          this.navigateTo(dest);
-          return;
+        if (!Array.isArray(dest)) {
+          dest = dest.toString();
         }
+      } catch (ex) {}
 
-        console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + 'a valid 
destination.');
+      if (typeof dest === "string" || isValidExplicitDestination(dest)) {
+        this.navigateTo(dest);
+        return;
       }
+
+      console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not ` + "a valid destination.");
     }
-  }, {
-    key: "executeNamedAction",
-    value: function executeNamedAction(action) {
-      switch (action) {
-        case 'GoBack':
-          if (this.pdfHistory) {
-            this.pdfHistory.back();
-          }
+  }
 
-          break;
+  executeNamedAction(action) {
+    switch (action) {
+      case "GoBack":
+        if (this.pdfHistory) {
+          this.pdfHistory.back();
+        }
 
-        case 'GoForward':
-          if (this.pdfHistory) {
-            this.pdfHistory.forward();
-          }
+        break;
 
-          break;
+      case "GoForward":
+        if (this.pdfHistory) {
+          this.pdfHistory.forward();
+        }
 
-        case 'NextPage':
-          if (this.page < this.pagesCount) {
-            this.page++;
-          }
+        break;
 
-          break;
+      case "NextPage":
+        if (this.page < this.pagesCount) {
+          this.page++;
+        }
 
-        case 'PrevPage':
-          if (this.page > 1) {
-            this.page--;
-          }
+        break;
 
-          break;
+      case "PrevPage":
+        if (this.page > 1) {
+          this.page--;
+        }
 
-        case 'LastPage':
-          this.page = this.pagesCount;
-          break;
+        break;
 
-        case 'FirstPage':
-          this.page = 1;
-          break;
+      case "LastPage":
+        this.page = this.pagesCount;
+        break;
 
-        default:
-          break;
-      }
+      case "FirstPage":
+        this.page = 1;
+        break;
 
-      this.eventBus.dispatch('namedaction', {
-        source: this,
-        action: action
-      });
+      default:
+        break;
     }
-  }, {
-    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);
-      this._pagesRefCache[refStr] = pageNum;
-    }
-  }, {
-    key: "_cachedPageNumber",
-    value: function _cachedPageNumber(pageRef) {
-      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, 
"R").concat(pageRef.gen);
-      return this._pagesRefCache && this._pagesRefCache[refStr] || null;
-    }
-  }, {
-    key: "isPageVisible",
-    value: function isPageVisible(pageNumber) {
-      return this.pdfViewer.isPageVisible(pageNumber);
-    }
-  }, {
-    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;
+    this.eventBus.dispatch("namedaction", {
+      source: this,
+      action
+    });
+  }
+
+  cachePageRef(pageNum, pageRef) {
+    if (!pageRef) {
+      return;
     }
-  }]);
 
-  return PDFLinkService;
-}();
+    const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
+    this._pagesRefCache[refStr] = pageNum;
+  }
+
+  _cachedPageNumber(pageRef) {
+    const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
+    return this._pagesRefCache && this._pagesRefCache[refStr] || null;
+  }
+
+  isPageVisible(pageNumber) {
+    return this.pdfViewer.isPageVisible(pageNumber);
+  }
+
+}
 
 exports.PDFLinkService = PDFLinkService;
 
@@ -8475,48 +7115,49 @@ function isValidExplicitDestination(dest) {
     return false;
   }
 
-  var destLength = dest.length,
-      allowNull = true;
+  const destLength = dest.length;
 
   if (destLength < 2) {
     return false;
   }
 
-  var page = dest[0];
+  const page = dest[0];
 
-  if (!(_typeof(page) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && 
!(Number.isInteger(page) && page >= 0)) {
+  if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && 
!(Number.isInteger(page) && page >= 0)) {
     return false;
   }
 
-  var zoom = dest[1];
+  const zoom = dest[1];
 
-  if (!(_typeof(zoom) === 'object' && typeof zoom.name === 'string')) {
+  if (!(typeof zoom === "object" && typeof zoom.name === "string")) {
     return false;
   }
 
+  let allowNull = true;
+
   switch (zoom.name) {
-    case 'XYZ':
+    case "XYZ":
       if (destLength !== 5) {
         return false;
       }
 
       break;
 
-    case 'Fit':
-    case 'FitB':
+    case "Fit":
+    case "FitB":
       return destLength === 2;
 
-    case 'FitH':
-    case 'FitBH':
-    case 'FitV':
-    case 'FitBV':
+    case "FitH":
+    case "FitBH":
+    case "FitV":
+    case "FitBV":
       if (destLength !== 3) {
         return false;
       }
 
       break;
 
-    case 'FitR':
+    case "FitR":
       if (destLength !== 6) {
         return false;
       }
@@ -8528,10 +7169,10 @@ function isValidExplicitDestination(dest) {
       return false;
   }
 
-  for (var i = 2; i < destLength; i++) {
-    var param = dest[i];
+  for (let i = 2; i < destLength; i++) {
+    const param = dest[i];
 
-    if (!(typeof param === 'number' || allowNull && param === null)) {
+    if (!(typeof param === "number" || allowNull && param === null)) {
       return false;
     }
   }
@@ -8539,70 +7180,56 @@ function isValidExplicitDestination(dest) {
   return true;
 }
 
-var SimpleLinkService =
-/*#__PURE__*/
-function () {
-  function SimpleLinkService() {
-    _classCallCheck(this, SimpleLinkService);
-
+class SimpleLinkService {
+  constructor() {
     this.externalLinkTarget = null;
     this.externalLinkRel = null;
     this.externalLinkEnabled = true;
+    this._ignoreDestinationZoom = false;
   }
 
-  _createClass(SimpleLinkService, [{
-    key: "navigateTo",
-    value: function navigateTo(dest) {}
-  }, {
-    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: "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) {}
-  }]);
+  get pagesCount() {
+    return 0;
+  }
 
-  return SimpleLinkService;
-}();
+  get page() {
+    return 0;
+  }
+
+  set page(value) {}
+
+  get rotation() {
+    return 0;
+  }
+
+  set rotation(value) {}
+
+  navigateTo(dest) {}
+
+  getDestinationHash(dest) {
+    return "#";
+  }
+
+  getAnchorUrl(hash) {
+    return "#";
+  }
+
+  setHash(hash) {}
+
+  executeNamedAction(action) {}
+
+  cachePageRef(pageNum, pageRef) {}
+
+  isPageVisible(pageNumber) {
+    return true;
+  }
+
+}
 
 exports.SimpleLinkService = SimpleLinkService;
 
 /***/ }),
-/* 22 */
+/* 19 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -8613,257 +7240,196 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFOutlineViewer = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
+var _pdfjsLib = __webpack_require__(4);
 
-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); return Constructor; }
-
-var DEFAULT_TITLE = "\u2013";
-
-var PDFOutlineViewer =
-/*#__PURE__*/
-function () {
-  function PDFOutlineViewer(_ref) {
-    var container = _ref.container,
-        linkService = _ref.linkService,
-        eventBus = _ref.eventBus;
-
-    _classCallCheck(this, PDFOutlineViewer);
+const DEFAULT_TITLE = "\u2013";
 
+class PDFOutlineViewer {
+  constructor({
+    container,
+    linkService,
+    eventBus
+  }) {
     this.container = container;
     this.linkService = linkService;
     this.eventBus = eventBus;
     this.reset();
-    eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this));
+
+    eventBus._on("toggleoutlinetree", this.toggleOutlineTree.bind(this));
   }
 
-  _createClass(PDFOutlineViewer, [{
-    key: "reset",
-    value: function reset() {
-      this.outline = null;
-      this.lastToggleIsShow = true;
-      this.container.textContent = '';
-      this.container.classList.remove('outlineWithDeepNesting');
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent(outlineCount) {
-      this.eventBus.dispatch('outlineloaded', {
-        source: this,
-        outlineCount: outlineCount
+  reset() {
+    this.outline = null;
+    this.lastToggleIsShow = true;
+    this.container.textContent = "";
+    this.container.classList.remove("outlineWithDeepNesting");
+  }
+
+  _dispatchEvent(outlineCount) {
+    this.eventBus.dispatch("outlineloaded", {
+      source: this,
+      outlineCount
+    });
+  }
+
+  _bindLink(element, {
+    url,
+    newWindow,
+    dest
+  }) {
+    const {
+      linkService
+    } = this;
+
+    if (url) {
+      (0, _pdfjsLib.addLinkAttributes)(element, {
+        url,
+        target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget,
+        rel: linkService.externalLinkRel,
+        enabled: linkService.externalLinkEnabled
       });
+      return;
     }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(element, _ref2) {
-      var url = _ref2.url,
-          newWindow = _ref2.newWindow,
-          dest = _ref2.dest;
-      var linkService = this.linkService;
-
-      if (url) {
-        (0, _pdfjsLib.addLinkAttributes)(element, {
-          url: url,
-          target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget,
-          rel: linkService.externalLinkRel,
-          enabled: linkService.externalLinkEnabled
-        });
-        return;
-      }
 
-      element.href = linkService.getDestinationHash(dest);
+    element.href = linkService.getDestinationHash(dest);
 
-      element.onclick = function () {
-        if (dest) {
-          linkService.navigateTo(dest);
-        }
+    element.onclick = () => {
+      if (dest) {
+        linkService.navigateTo(dest);
+      }
+
+      return false;
+    };
+  }
 
-        return false;
-      };
+  _setStyles(element, {
+    bold,
+    italic
+  }) {
+    if (bold) {
+      element.style.fontWeight = "bold";
     }
-  }, {
-    key: "_setStyles",
-    value: function _setStyles(element, _ref3) {
-      var bold = _ref3.bold,
-          italic = _ref3.italic;
-      var styleStr = '';
 
-      if (bold) {
-        styleStr += 'font-weight: bold;';
-      }
+    if (italic) {
+      element.style.fontStyle = "italic";
+    }
+  }
 
-      if (italic) {
-        styleStr += 'font-style: italic;';
-      }
+  _addToggleButton(div, {
+    count,
+    items
+  }) {
+    const toggler = document.createElement("div");
+    toggler.className = "outlineItemToggler";
 
-      if (styleStr) {
-        element.setAttribute('style', styleStr);
-      }
+    if (count < 0 && Math.abs(count) === items.length) {
+      toggler.classList.add("outlineItemsHidden");
     }
-  }, {
-    key: "_addToggleButton",
-    value: function _addToggleButton(div, _ref4) {
-      var _this = this;
 
-      var count = _ref4.count,
-          items = _ref4.items;
-      var toggler = document.createElement('div');
-      toggler.className = 'outlineItemToggler';
+    toggler.onclick = evt => {
+      evt.stopPropagation();
+      toggler.classList.toggle("outlineItemsHidden");
 
-      if (count < 0 && Math.abs(count) === items.length) {
-        toggler.classList.add('outlineItemsHidden');
-      }
+      if (evt.shiftKey) {
+        const shouldShowAll = !toggler.classList.contains("outlineItemsHidden");
 
-      toggler.onclick = function (evt) {
-        evt.stopPropagation();
-        toggler.classList.toggle('outlineItemsHidden');
+        this._toggleOutlineItem(div, shouldShowAll);
+      }
+    };
 
-        if (evt.shiftKey) {
-          var shouldShowAll = !toggler.classList.contains('outlineItemsHidden');
+    div.insertBefore(toggler, div.firstChild);
+  }
 
-          _this._toggleOutlineItem(div, shouldShowAll);
-        }
-      };
+  _toggleOutlineItem(root, show = false) {
+    this.lastToggleIsShow = show;
 
-      div.insertBefore(toggler, div.firstChild);
+    for (const toggler of root.querySelectorAll(".outlineItemToggler")) {
+      toggler.classList.toggle("outlineItemsHidden", !show);
     }
-  }, {
-    key: "_toggleOutlineItem",
-    value: function _toggleOutlineItem(root) {
-      var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      this.lastToggleIsShow = show;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
+  }
 
-      try {
-        for (var _iterator = root.querySelectorAll('.outlineItemToggler')[Symbol.iterator](), _step; 
!(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var toggler = _step.value;
-          toggler.classList.toggle('outlineItemsHidden', !show);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
+  toggleOutlineTree() {
+    if (!this.outline) {
+      return;
     }
-  }, {
-    key: "toggleOutlineTree",
-    value: function toggleOutlineTree() {
-      if (!this.outline) {
-        return;
-      }
 
-      this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
-    }
-  }, {
-    key: "render",
-    value: function render(_ref5) {
-      var outline = _ref5.outline;
-      var outlineCount = 0;
+    this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
+  }
 
-      if (this.outline) {
-        this.reset();
-      }
+  render({
+    outline
+  }) {
+    let outlineCount = 0;
 
-      this.outline = outline || null;
+    if (this.outline) {
+      this.reset();
+    }
 
-      if (!outline) {
-        this._dispatchEvent(outlineCount);
+    this.outline = outline || null;
 
-        return;
-      }
+    if (!outline) {
+      this._dispatchEvent(outlineCount);
 
-      var fragment = document.createDocumentFragment();
-      var queue = [{
-        parent: fragment,
-        items: this.outline
-      }];
-      var hasAnyNesting = false;
+      return;
+    }
 
-      while (queue.length > 0) {
-        var levelData = queue.shift();
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
+    const fragment = document.createDocumentFragment();
+    const queue = [{
+      parent: fragment,
+      items: this.outline
+    }];
+    let hasAnyNesting = false;
 
-        try {
-          for (var _iterator2 = levelData.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = 
(_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var item = _step2.value;
-            var div = document.createElement('div');
-            div.className = 'outlineItem';
-            var element = document.createElement('a');
+    while (queue.length > 0) {
+      const levelData = queue.shift();
 
-            this._bindLink(element, item);
+      for (const item of levelData.items) {
+        const div = document.createElement("div");
+        div.className = "outlineItem";
+        const element = document.createElement("a");
 
-            this._setStyles(element, item);
+        this._bindLink(element, item);
 
-            element.textContent = (0, _pdfjsLib.removeNullCharacters)(item.title) || DEFAULT_TITLE;
-            div.appendChild(element);
+        this._setStyles(element, item);
 
-            if (item.items.length > 0) {
-              hasAnyNesting = true;
+        element.textContent = (0, _pdfjsLib.removeNullCharacters)(item.title) || DEFAULT_TITLE;
+        div.appendChild(element);
 
-              this._addToggleButton(div, item);
+        if (item.items.length > 0) {
+          hasAnyNesting = true;
 
-              var itemsDiv = document.createElement('div');
-              itemsDiv.className = 'outlineItems';
-              div.appendChild(itemsDiv);
-              queue.push({
-                parent: itemsDiv,
-                items: item.items
-              });
-            }
+          this._addToggleButton(div, item);
 
-            levelData.parent.appendChild(div);
-            outlineCount++;
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
+          const itemsDiv = document.createElement("div");
+          itemsDiv.className = "outlineItems";
+          div.appendChild(itemsDiv);
+          queue.push({
+            parent: itemsDiv,
+            items: item.items
+          });
         }
-      }
 
-      if (hasAnyNesting) {
-        this.container.classList.add('outlineWithDeepNesting');
-        this.lastToggleIsShow = fragment.querySelectorAll('.outlineItemsHidden').length === 0;
+        levelData.parent.appendChild(div);
+        outlineCount++;
       }
+    }
 
-      this.container.appendChild(fragment);
-
-      this._dispatchEvent(outlineCount);
+    if (hasAnyNesting) {
+      this.container.classList.add("outlineWithDeepNesting");
+      this.lastToggleIsShow = fragment.querySelectorAll(".outlineItemsHidden").length === 0;
     }
-  }]);
 
-  return PDFOutlineViewer;
-}();
+    this.container.appendChild(fragment);
+
+    this._dispatchEvent(outlineCount);
+  }
+
+}
 
 exports.PDFOutlineViewer = PDFOutlineViewer;
 
 /***/ }),
-/* 23 */
+/* 20 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -8874,41 +7440,25 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFPresentationMode = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
-var DELAY_BEFORE_HIDING_CONTROLS = 3000;
-var ACTIVE_SELECTOR = 'pdfPresentationMode';
-var CONTROLS_SELECTOR = 'pdfPresentationModeControls';
-var MOUSE_SCROLL_COOLDOWN_TIME = 50;
-var PAGE_SWITCH_THRESHOLD = 0.1;
-var SWIPE_MIN_DISTANCE_THRESHOLD = 50;
-var SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
-
-var PDFPresentationMode =
-/*#__PURE__*/
-function () {
-  function PDFPresentationMode(_ref) {
-    var _this = this;
-
-    var container = _ref.container,
-        _ref$viewer = _ref.viewer,
-        viewer = _ref$viewer === void 0 ? null : _ref$viewer,
-        pdfViewer = _ref.pdfViewer,
-        eventBus = _ref.eventBus,
-        _ref$contextMenuItems = _ref.contextMenuItems,
-        contextMenuItems = _ref$contextMenuItems === void 0 ? null : _ref$contextMenuItems;
-
-    _classCallCheck(this, PDFPresentationMode);
-
+var _ui_utils = __webpack_require__(2);
+
+const DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
+const DELAY_BEFORE_HIDING_CONTROLS = 3000;
+const ACTIVE_SELECTOR = "pdfPresentationMode";
+const CONTROLS_SELECTOR = "pdfPresentationModeControls";
+const MOUSE_SCROLL_COOLDOWN_TIME = 50;
+const PAGE_SWITCH_THRESHOLD = 0.1;
+const SWIPE_MIN_DISTANCE_THRESHOLD = 50;
+const SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
+
+class PDFPresentationMode {
+  constructor({
+    container,
+    pdfViewer,
+    eventBus,
+    contextMenuItems = null
+  }) {
     this.container = container;
-    this.viewer = viewer || container.firstElementChild;
     this.pdfViewer = pdfViewer;
     this.eventBus = eventBus;
     this.active = false;
@@ -8919,409 +7469,372 @@ function () {
     this.touchSwipeState = null;
 
     if (contextMenuItems) {
-      contextMenuItems.contextFirstPage.addEventListener('click', function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch('firstpage', {
-          source: _this
+      contextMenuItems.contextFirstPage.addEventListener("click", () => {
+        this.contextMenuOpen = false;
+        this.eventBus.dispatch("firstpage", {
+          source: this
         });
       });
-      contextMenuItems.contextLastPage.addEventListener('click', function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch('lastpage', {
-          source: _this
+      contextMenuItems.contextLastPage.addEventListener("click", () => {
+        this.contextMenuOpen = false;
+        this.eventBus.dispatch("lastpage", {
+          source: this
         });
       });
-      contextMenuItems.contextPageRotateCw.addEventListener('click', function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch('rotatecw', {
-          source: _this
+      contextMenuItems.contextPageRotateCw.addEventListener("click", () => {
+        this.contextMenuOpen = false;
+        this.eventBus.dispatch("rotatecw", {
+          source: this
         });
       });
-      contextMenuItems.contextPageRotateCcw.addEventListener('click', function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch('rotateccw', {
-          source: _this
+      contextMenuItems.contextPageRotateCcw.addEventListener("click", () => {
+        this.contextMenuOpen = false;
+        this.eventBus.dispatch("rotateccw", {
+          source: this
         });
       });
     }
   }
 
-  _createClass(PDFPresentationMode, [{
-    key: "request",
-    value: function request() {
-      if (this.switchInProgress || this.active || !this.viewer.hasChildNodes()) {
-        return false;
-      }
+  request() {
+    if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {
+      return false;
+    }
 
-      this._addFullscreenChangeListeners();
+    this._addFullscreenChangeListeners();
 
-      this._setSwitchInProgress();
+    this._setSwitchInProgress();
 
-      this._notifyStateChange();
+    this._notifyStateChange();
 
-      if (this.container.requestFullscreen) {
-        this.container.requestFullscreen();
-      } else if (this.container.mozRequestFullScreen) {
-        this.container.mozRequestFullScreen();
-      } else if (this.container.webkitRequestFullscreen) {
-        this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
-      } else if (this.container.msRequestFullscreen) {
-        this.container.msRequestFullscreen();
-      } else {
-        return false;
-      }
+    if (this.container.requestFullscreen) {
+      this.container.requestFullscreen();
+    } else if (this.container.mozRequestFullScreen) {
+      this.container.mozRequestFullScreen();
+    } else if (this.container.webkitRequestFullscreen) {
+      this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
+    } else if (this.container.msRequestFullscreen) {
+      this.container.msRequestFullscreen();
+    } else {
+      return false;
+    }
 
-      this.args = {
-        page: this.pdfViewer.currentPageNumber,
-        previousScale: this.pdfViewer.currentScaleValue
-      };
-      return true;
+    this.args = {
+      page: this.pdfViewer.currentPageNumber,
+      previousScale: this.pdfViewer.currentScaleValue
+    };
+    return true;
+  }
+
+  _mouseWheel(evt) {
+    if (!this.active) {
+      return;
     }
-  }, {
-    key: "_mouseWheel",
-    value: function _mouseWheel(evt) {
-      if (!this.active) {
-        return;
-      }
 
-      evt.preventDefault();
-      var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
-      var currentTime = new Date().getTime();
-      var storedTime = this.mouseScrollTimeStamp;
+    evt.preventDefault();
+    const delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
+    const currentTime = new Date().getTime();
+    const storedTime = this.mouseScrollTimeStamp;
 
-      if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
-        return;
-      }
+    if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
+      return;
+    }
 
-      if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
-        this._resetMouseScrollState();
-      }
+    if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
+      this._resetMouseScrollState();
+    }
 
-      this.mouseScrollDelta += delta;
+    this.mouseScrollDelta += delta;
 
-      if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
-        var totalDelta = this.mouseScrollDelta;
+    if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
+      const totalDelta = this.mouseScrollDelta;
 
-        this._resetMouseScrollState();
+      this._resetMouseScrollState();
 
-        var success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();
+      const success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();
 
-        if (success) {
-          this.mouseScrollTimeStamp = currentTime;
-        }
+      if (success) {
+        this.mouseScrollTimeStamp = currentTime;
       }
     }
-  }, {
-    key: "_goToPreviousPage",
-    value: function _goToPreviousPage() {
-      var page = this.pdfViewer.currentPageNumber;
+  }
 
-      if (page <= 1) {
-        return false;
-      }
+  get isFullscreen() {
+    return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || 
document.msFullscreenElement);
+  }
 
-      this.pdfViewer.currentPageNumber = page - 1;
-      return true;
+  _goToPreviousPage() {
+    const page = this.pdfViewer.currentPageNumber;
+
+    if (page <= 1) {
+      return false;
     }
-  }, {
-    key: "_goToNextPage",
-    value: function _goToNextPage() {
-      var page = this.pdfViewer.currentPageNumber;
 
-      if (page >= this.pdfViewer.pagesCount) {
-        return false;
-      }
+    this.pdfViewer.currentPageNumber = page - 1;
+    return true;
+  }
 
-      this.pdfViewer.currentPageNumber = page + 1;
-      return true;
+  _goToNextPage() {
+    const page = this.pdfViewer.currentPageNumber;
+
+    if (page >= this.pdfViewer.pagesCount) {
+      return false;
     }
-  }, {
-    key: "_notifyStateChange",
-    value: function _notifyStateChange() {
-      this.eventBus.dispatch('presentationmodechanged', {
-        source: this,
-        active: this.active,
-        switchInProgress: !!this.switchInProgress
-      });
+
+    this.pdfViewer.currentPageNumber = page + 1;
+    return true;
+  }
+
+  _notifyStateChange() {
+    this.eventBus.dispatch("presentationmodechanged", {
+      source: this,
+      active: this.active,
+      switchInProgress: !!this.switchInProgress
+    });
+  }
+
+  _setSwitchInProgress() {
+    if (this.switchInProgress) {
+      clearTimeout(this.switchInProgress);
     }
-  }, {
-    key: "_setSwitchInProgress",
-    value: function _setSwitchInProgress() {
-      var _this2 = this;
 
-      if (this.switchInProgress) {
-        clearTimeout(this.switchInProgress);
-      }
+    this.switchInProgress = setTimeout(() => {
+      this._removeFullscreenChangeListeners();
 
-      this.switchInProgress = setTimeout(function () {
-        _this2._removeFullscreenChangeListeners();
+      delete this.switchInProgress;
 
-        delete _this2.switchInProgress;
+      this._notifyStateChange();
+    }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
+  }
 
-        _this2._notifyStateChange();
-      }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
+  _resetSwitchInProgress() {
+    if (this.switchInProgress) {
+      clearTimeout(this.switchInProgress);
+      delete this.switchInProgress;
     }
-  }, {
-    key: "_resetSwitchInProgress",
-    value: function _resetSwitchInProgress() {
-      if (this.switchInProgress) {
-        clearTimeout(this.switchInProgress);
-        delete this.switchInProgress;
-      }
-    }
-  }, {
-    key: "_enter",
-    value: function _enter() {
-      var _this3 = this;
+  }
 
-      this.active = true;
+  _enter() {
+    this.active = true;
 
-      this._resetSwitchInProgress();
+    this._resetSwitchInProgress();
 
-      this._notifyStateChange();
+    this._notifyStateChange();
 
-      this.container.classList.add(ACTIVE_SELECTOR);
-      setTimeout(function () {
-        _this3.pdfViewer.currentPageNumber = _this3.args.page;
-        _this3.pdfViewer.currentScaleValue = 'page-fit';
-      }, 0);
+    this.container.classList.add(ACTIVE_SELECTOR);
+    setTimeout(() => {
+      this.pdfViewer.currentPageNumber = this.args.page;
+      this.pdfViewer.currentScaleValue = "page-fit";
+    }, 0);
 
-      this._addWindowListeners();
+    this._addWindowListeners();
 
-      this._showControls();
+    this._showControls();
 
-      this.contextMenuOpen = false;
-      this.container.setAttribute('contextmenu', 'viewerContextMenu');
-      window.getSelection().removeAllRanges();
-    }
-  }, {
-    key: "_exit",
-    value: function _exit() {
-      var _this4 = this;
+    this.contextMenuOpen = false;
+    this.container.setAttribute("contextmenu", "viewerContextMenu");
+    window.getSelection().removeAllRanges();
+  }
+
+  _exit() {
+    const page = this.pdfViewer.currentPageNumber;
+    this.container.classList.remove(ACTIVE_SELECTOR);
+    setTimeout(() => {
+      this.active = false;
 
-      var page = this.pdfViewer.currentPageNumber;
-      this.container.classList.remove(ACTIVE_SELECTOR);
-      setTimeout(function () {
-        _this4.active = false;
+      this._removeFullscreenChangeListeners();
 
-        _this4._removeFullscreenChangeListeners();
+      this._notifyStateChange();
 
-        _this4._notifyStateChange();
+      this.pdfViewer.currentScaleValue = this.args.previousScale;
+      this.pdfViewer.currentPageNumber = page;
+      this.args = null;
+    }, 0);
 
-        _this4.pdfViewer.currentScaleValue = _this4.args.previousScale;
-        _this4.pdfViewer.currentPageNumber = page;
-        _this4.args = null;
-      }, 0);
+    this._removeWindowListeners();
 
-      this._removeWindowListeners();
+    this._hideControls();
 
-      this._hideControls();
+    this._resetMouseScrollState();
 
-      this._resetMouseScrollState();
+    this.container.removeAttribute("contextmenu");
+    this.contextMenuOpen = false;
+  }
 
-      this.container.removeAttribute('contextmenu');
+  _mouseDown(evt) {
+    if (this.contextMenuOpen) {
       this.contextMenuOpen = false;
+      evt.preventDefault();
+      return;
     }
-  }, {
-    key: "_mouseDown",
-    value: function _mouseDown(evt) {
-      if (this.contextMenuOpen) {
-        this.contextMenuOpen = false;
-        evt.preventDefault();
-        return;
-      }
 
-      if (evt.button === 0) {
-        var isInternalLink = evt.target.href && evt.target.classList.contains('internalLink');
+    if (evt.button === 0) {
+      const isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
 
-        if (!isInternalLink) {
-          evt.preventDefault();
+      if (!isInternalLink) {
+        evt.preventDefault();
 
-          if (evt.shiftKey) {
-            this._goToPreviousPage();
-          } else {
-            this._goToNextPage();
-          }
+        if (evt.shiftKey) {
+          this._goToPreviousPage();
+        } else {
+          this._goToNextPage();
         }
       }
     }
-  }, {
-    key: "_contextMenu",
-    value: function _contextMenu() {
-      this.contextMenuOpen = true;
-    }
-  }, {
-    key: "_showControls",
-    value: function _showControls() {
-      var _this5 = this;
-
-      if (this.controlsTimeout) {
-        clearTimeout(this.controlsTimeout);
-      } else {
-        this.container.classList.add(CONTROLS_SELECTOR);
-      }
+  }
 
-      this.controlsTimeout = setTimeout(function () {
-        _this5.container.classList.remove(CONTROLS_SELECTOR);
+  _contextMenu() {
+    this.contextMenuOpen = true;
+  }
 
-        delete _this5.controlsTimeout;
-      }, DELAY_BEFORE_HIDING_CONTROLS);
+  _showControls() {
+    if (this.controlsTimeout) {
+      clearTimeout(this.controlsTimeout);
+    } else {
+      this.container.classList.add(CONTROLS_SELECTOR);
     }
-  }, {
-    key: "_hideControls",
-    value: function _hideControls() {
-      if (!this.controlsTimeout) {
-        return;
-      }
 
-      clearTimeout(this.controlsTimeout);
+    this.controlsTimeout = setTimeout(() => {
       this.container.classList.remove(CONTROLS_SELECTOR);
       delete this.controlsTimeout;
+    }, DELAY_BEFORE_HIDING_CONTROLS);
+  }
+
+  _hideControls() {
+    if (!this.controlsTimeout) {
+      return;
     }
-  }, {
-    key: "_resetMouseScrollState",
-    value: function _resetMouseScrollState() {
-      this.mouseScrollTimeStamp = 0;
-      this.mouseScrollDelta = 0;
+
+    clearTimeout(this.controlsTimeout);
+    this.container.classList.remove(CONTROLS_SELECTOR);
+    delete this.controlsTimeout;
+  }
+
+  _resetMouseScrollState() {
+    this.mouseScrollTimeStamp = 0;
+    this.mouseScrollDelta = 0;
+  }
+
+  _touchSwipe(evt) {
+    if (!this.active) {
+      return;
     }
-  }, {
-    key: "_touchSwipe",
-    value: function _touchSwipe(evt) {
-      if (!this.active) {
-        return;
-      }
 
-      if (evt.touches.length > 1) {
-        this.touchSwipeState = null;
-        return;
-      }
+    if (evt.touches.length > 1) {
+      this.touchSwipeState = null;
+      return;
+    }
 
-      switch (evt.type) {
-        case 'touchstart':
-          this.touchSwipeState = {
-            startX: evt.touches[0].pageX,
-            startY: evt.touches[0].pageY,
-            endX: evt.touches[0].pageX,
-            endY: evt.touches[0].pageY
-          };
-          break;
+    switch (evt.type) {
+      case "touchstart":
+        this.touchSwipeState = {
+          startX: evt.touches[0].pageX,
+          startY: evt.touches[0].pageY,
+          endX: evt.touches[0].pageX,
+          endY: evt.touches[0].pageY
+        };
+        break;
 
-        case 'touchmove':
-          if (this.touchSwipeState === null) {
-            return;
-          }
+      case "touchmove":
+        if (this.touchSwipeState === null) {
+          return;
+        }
 
-          this.touchSwipeState.endX = evt.touches[0].pageX;
-          this.touchSwipeState.endY = evt.touches[0].pageY;
-          evt.preventDefault();
-          break;
+        this.touchSwipeState.endX = evt.touches[0].pageX;
+        this.touchSwipeState.endY = evt.touches[0].pageY;
+        evt.preventDefault();
+        break;
 
-        case 'touchend':
-          if (this.touchSwipeState === null) {
-            return;
-          }
+      case "touchend":
+        if (this.touchSwipeState === null) {
+          return;
+        }
 
-          var delta = 0;
-          var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
-          var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
-          var absAngle = Math.abs(Math.atan2(dy, dx));
+        let delta = 0;
+        const dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
+        const dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
+        const absAngle = Math.abs(Math.atan2(dy, dx));
 
-          if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle 
= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
-            delta = dx;
-          } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= 
SWIPE_ANGLE_THRESHOLD) {
-            delta = dy;
-          }
+        if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= 
Math.PI - SWIPE_ANGLE_THRESHOLD)) {
+          delta = dx;
+        } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= 
SWIPE_ANGLE_THRESHOLD) {
+          delta = dy;
+        }
 
-          if (delta > 0) {
-            this._goToPreviousPage();
-          } else if (delta < 0) {
-            this._goToNextPage();
-          }
+        if (delta > 0) {
+          this._goToPreviousPage();
+        } else if (delta < 0) {
+          this._goToNextPage();
+        }
 
-          break;
-      }
+        break;
     }
-  }, {
-    key: "_addWindowListeners",
-    value: function _addWindowListeners() {
-      this.showControlsBind = this._showControls.bind(this);
-      this.mouseDownBind = this._mouseDown.bind(this);
-      this.mouseWheelBind = this._mouseWheel.bind(this);
-      this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
-      this.contextMenuBind = this._contextMenu.bind(this);
-      this.touchSwipeBind = this._touchSwipe.bind(this);
-      window.addEventListener('mousemove', this.showControlsBind);
-      window.addEventListener('mousedown', this.mouseDownBind);
-      window.addEventListener('wheel', this.mouseWheelBind);
-      window.addEventListener('keydown', this.resetMouseScrollStateBind);
-      window.addEventListener('contextmenu', this.contextMenuBind);
-      window.addEventListener('touchstart', this.touchSwipeBind);
-      window.addEventListener('touchmove', this.touchSwipeBind);
-      window.addEventListener('touchend', this.touchSwipeBind);
-    }
-  }, {
-    key: "_removeWindowListeners",
-    value: function _removeWindowListeners() {
-      window.removeEventListener('mousemove', this.showControlsBind);
-      window.removeEventListener('mousedown', this.mouseDownBind);
-      window.removeEventListener('wheel', this.mouseWheelBind);
-      window.removeEventListener('keydown', this.resetMouseScrollStateBind);
-      window.removeEventListener('contextmenu', this.contextMenuBind);
-      window.removeEventListener('touchstart', this.touchSwipeBind);
-      window.removeEventListener('touchmove', this.touchSwipeBind);
-      window.removeEventListener('touchend', this.touchSwipeBind);
-      delete this.showControlsBind;
-      delete this.mouseDownBind;
-      delete this.mouseWheelBind;
-      delete this.resetMouseScrollStateBind;
-      delete this.contextMenuBind;
-      delete this.touchSwipeBind;
-    }
-  }, {
-    key: "_fullscreenChange",
-    value: function _fullscreenChange() {
-      if (this.isFullscreen) {
-        this._enter();
-      } else {
-        this._exit();
-      }
-    }
-  }, {
-    key: "_addFullscreenChangeListeners",
-    value: function _addFullscreenChangeListeners() {
-      this.fullscreenChangeBind = this._fullscreenChange.bind(this);
-      window.addEventListener('fullscreenchange', this.fullscreenChangeBind);
-      window.addEventListener('mozfullscreenchange', this.fullscreenChangeBind);
-      window.addEventListener('webkitfullscreenchange', this.fullscreenChangeBind);
-      window.addEventListener('MSFullscreenChange', this.fullscreenChangeBind);
-    }
-  }, {
-    key: "_removeFullscreenChangeListeners",
-    value: function _removeFullscreenChangeListeners() {
-      window.removeEventListener('fullscreenchange', this.fullscreenChangeBind);
-      window.removeEventListener('mozfullscreenchange', this.fullscreenChangeBind);
-      window.removeEventListener('webkitfullscreenchange', this.fullscreenChangeBind);
-      window.removeEventListener('MSFullscreenChange', this.fullscreenChangeBind);
-      delete this.fullscreenChangeBind;
-    }
-  }, {
-    key: "isFullscreen",
-    get: function get() {
-      return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || 
document.msFullscreenElement);
-    }
-  }]);
-
-  return PDFPresentationMode;
-}();
+  }
+
+  _addWindowListeners() {
+    this.showControlsBind = this._showControls.bind(this);
+    this.mouseDownBind = this._mouseDown.bind(this);
+    this.mouseWheelBind = this._mouseWheel.bind(this);
+    this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
+    this.contextMenuBind = this._contextMenu.bind(this);
+    this.touchSwipeBind = this._touchSwipe.bind(this);
+    window.addEventListener("mousemove", this.showControlsBind);
+    window.addEventListener("mousedown", this.mouseDownBind);
+    window.addEventListener("wheel", this.mouseWheelBind);
+    window.addEventListener("keydown", this.resetMouseScrollStateBind);
+    window.addEventListener("contextmenu", this.contextMenuBind);
+    window.addEventListener("touchstart", this.touchSwipeBind);
+    window.addEventListener("touchmove", this.touchSwipeBind);
+    window.addEventListener("touchend", this.touchSwipeBind);
+  }
+
+  _removeWindowListeners() {
+    window.removeEventListener("mousemove", this.showControlsBind);
+    window.removeEventListener("mousedown", this.mouseDownBind);
+    window.removeEventListener("wheel", this.mouseWheelBind);
+    window.removeEventListener("keydown", this.resetMouseScrollStateBind);
+    window.removeEventListener("contextmenu", this.contextMenuBind);
+    window.removeEventListener("touchstart", this.touchSwipeBind);
+    window.removeEventListener("touchmove", this.touchSwipeBind);
+    window.removeEventListener("touchend", this.touchSwipeBind);
+    delete this.showControlsBind;
+    delete this.mouseDownBind;
+    delete this.mouseWheelBind;
+    delete this.resetMouseScrollStateBind;
+    delete this.contextMenuBind;
+    delete this.touchSwipeBind;
+  }
+
+  _fullscreenChange() {
+    if (this.isFullscreen) {
+      this._enter();
+    } else {
+      this._exit();
+    }
+  }
+
+  _addFullscreenChangeListeners() {
+    this.fullscreenChangeBind = this._fullscreenChange.bind(this);
+    window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
+    window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind);
+    window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
+    window.addEventListener("MSFullscreenChange", this.fullscreenChangeBind);
+  }
+
+  _removeFullscreenChangeListeners() {
+    window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
+    window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind);
+    window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
+    window.removeEventListener("MSFullscreenChange", this.fullscreenChangeBind);
+    delete this.fullscreenChangeBind;
+  }
+
+}
 
 exports.PDFPresentationMode = PDFPresentationMode;
 
 /***/ }),
-/* 24 */
+/* 21 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -9332,28 +7845,14 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFSidebarResizer = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+var _ui_utils = __webpack_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var SIDEBAR_WIDTH_VAR = '--sidebar-width';
-var SIDEBAR_MIN_WIDTH = 200;
-var SIDEBAR_RESIZING_CLASS = 'sidebarResizing';
-
-var PDFSidebarResizer =
-/*#__PURE__*/
-function () {
-  function PDFSidebarResizer(options, eventBus) {
-    var _this = this;
-
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PDFSidebarResizer);
+const SIDEBAR_WIDTH_VAR = "--sidebar-width";
+const SIDEBAR_MIN_WIDTH = 200;
+const SIDEBAR_RESIZING_CLASS = "sidebarResizing";
 
+class PDFSidebarResizer {
+  constructor(options, eventBus, l10n = _ui_utils.NullL10n) {
     this.enabled = false;
     this.isRTL = false;
     this.sidebarOpen = false;
@@ -9366,138 +7865,125 @@ function () {
     this.eventBus = eventBus;
     this.l10n = l10n;
 
-    if (typeof CSS === 'undefined' || typeof CSS.supports !== 'function' || !CSS.supports(SIDEBAR_WIDTH_VAR, 
"calc(-1 * ".concat(SIDEBAR_MIN_WIDTH, "px)"))) {
-      console.warn('PDFSidebarResizer: ' + 'The browser does not support resizing of the sidebar.');
+    if (typeof CSS === "undefined" || typeof CSS.supports !== "function" || !CSS.supports(SIDEBAR_WIDTH_VAR, 
`calc(-1 * ${SIDEBAR_MIN_WIDTH}px)`)) {
+      console.warn("PDFSidebarResizer: " + "The browser does not support resizing of the sidebar.");
       return;
     }
 
     this.enabled = true;
-    this.resizer.classList.remove('hidden');
-    this.l10n.getDirection().then(function (dir) {
-      _this.isRTL = dir === 'rtl';
+    this.resizer.classList.remove("hidden");
+    this.l10n.getDirection().then(dir => {
+      this.isRTL = dir === "rtl";
     });
 
     this._addEventListeners();
   }
 
-  _createClass(PDFSidebarResizer, [{
-    key: "_updateWidth",
-    value: function _updateWidth() {
-      var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
+  get outerContainerWidth() {
+    if (!this._outerContainerWidth) {
+      this._outerContainerWidth = this.outerContainer.clientWidth;
+    }
 
-      if (!this.enabled) {
-        return false;
-      }
+    return this._outerContainerWidth;
+  }
 
-      var maxWidth = Math.floor(this.outerContainerWidth / 2);
+  _updateWidth(width = 0) {
+    if (!this.enabled) {
+      return false;
+    }
 
-      if (width > maxWidth) {
-        width = maxWidth;
-      }
+    const newWidth = (0, _ui_utils.clamp)(width, SIDEBAR_MIN_WIDTH, Math.floor(this.outerContainerWidth / 
2));
 
-      if (width < SIDEBAR_MIN_WIDTH) {
-        width = SIDEBAR_MIN_WIDTH;
-      }
+    if (newWidth === this._width) {
+      return false;
+    }
 
-      if (width === this._width) {
-        return false;
+    this._width = newWidth;
+    this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, `${newWidth}px`);
+    return true;
+  }
+
+  _mouseMove(evt) {
+    let width = evt.clientX;
+
+    if (this.isRTL) {
+      width = this.outerContainerWidth - width;
+    }
+
+    this._updateWidth(width);
+  }
+
+  _mouseUp(evt) {
+    this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
+    this.eventBus.dispatch("resize", {
+      source: this
+    });
+    const _boundEvents = this._boundEvents;
+    window.removeEventListener("mousemove", _boundEvents.mouseMove);
+    window.removeEventListener("mouseup", _boundEvents.mouseUp);
+  }
+
+  _addEventListeners() {
+    if (!this.enabled) {
+      return;
+    }
+
+    const _boundEvents = this._boundEvents;
+    _boundEvents.mouseMove = this._mouseMove.bind(this);
+    _boundEvents.mouseUp = this._mouseUp.bind(this);
+    this.resizer.addEventListener("mousedown", evt => {
+      if (evt.button !== 0) {
+        return;
       }
 
-      this._width = width;
-      this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px"));
-      return true;
-    }
-  }, {
-    key: "_mouseMove",
-    value: function _mouseMove(evt) {
-      var width = evt.clientX;
+      this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
+      window.addEventListener("mousemove", _boundEvents.mouseMove);
+      window.addEventListener("mouseup", _boundEvents.mouseUp);
+    });
+
+    this.eventBus._on("sidebarviewchanged", evt => {
+      this.sidebarOpen = !!(evt && evt.view);
+    });
 
-      if (this.isRTL) {
-        width = this.outerContainerWidth - width;
+    this.eventBus._on("resize", evt => {
+      if (!evt || evt.source !== window) {
+        return;
       }
 
-      this._updateWidth(width);
-    }
-  }, {
-    key: "_mouseUp",
-    value: function _mouseUp(evt) {
-      this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
-      this.eventBus.dispatch('resize', {
-        source: this
-      });
-      var _boundEvents = this._boundEvents;
-      window.removeEventListener('mousemove', _boundEvents.mouseMove);
-      window.removeEventListener('mouseup', _boundEvents.mouseUp);
-    }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this2 = this;
+      this._outerContainerWidth = null;
 
-      if (!this.enabled) {
+      if (!this._width) {
         return;
       }
 
-      var _boundEvents = this._boundEvents;
-      _boundEvents.mouseMove = this._mouseMove.bind(this);
-      _boundEvents.mouseUp = this._mouseUp.bind(this);
-      this.resizer.addEventListener('mousedown', function (evt) {
-        if (evt.button !== 0) {
-          return;
-        }
-
-        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
+      if (!this.sidebarOpen) {
+        this._updateWidth(this._width);
 
-        window.addEventListener('mousemove', _boundEvents.mouseMove);
-        window.addEventListener('mouseup', _boundEvents.mouseUp);
-      });
-      this.eventBus.on('sidebarviewchanged', function (evt) {
-        _this2.sidebarOpen = !!(evt && evt.view);
-      });
-      this.eventBus.on('resize', function (evt) {
-        if (evt && evt.source === window) {
-          _this2._outerContainerWidth = null;
+        return;
+      }
 
-          if (_this2._width) {
-            if (_this2.sidebarOpen) {
-              _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
+      this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
 
-              var updated = _this2._updateWidth(_this2._width);
+      const updated = this._updateWidth(this._width);
 
-              Promise.resolve().then(function () {
-                _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
+      Promise.resolve().then(() => {
+        this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
 
-                if (updated) {
-                  _this2.eventBus.dispatch('resize', {
-                    source: _this2
-                  });
-                }
-              });
-            } else {
-              _this2._updateWidth(_this2._width);
-            }
-          }
+        if (updated) {
+          this.eventBus.dispatch("resize", {
+            source: this
+          });
         }
       });
-    }
-  }, {
-    key: "outerContainerWidth",
-    get: function get() {
-      if (!this._outerContainerWidth) {
-        this._outerContainerWidth = this.outerContainer.clientWidth;
-      }
-
-      return this._outerContainerWidth;
-    }
-  }]);
+    });
+  }
 
-  return PDFSidebarResizer;
-}();
+}
 
 exports.PDFSidebarResizer = PDFSidebarResizer;
 
 /***/ }),
-/* 25 */
+/* 22 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -9508,31 +7994,20 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFThumbnailViewer = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_thumbnail_view = __webpack_require__(26);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _ui_utils = __webpack_require__(2);
 
-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); } }
+var _pdf_thumbnail_view = __webpack_require__(23);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var THUMBNAIL_SCROLL_MARGIN = -19;
-var THUMBNAIL_SELECTED_CLASS = 'selected';
-
-var PDFThumbnailViewer =
-/*#__PURE__*/
-function () {
-  function PDFThumbnailViewer(_ref) {
-    var container = _ref.container,
-        linkService = _ref.linkService,
-        renderingQueue = _ref.renderingQueue,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, PDFThumbnailViewer);
+const THUMBNAIL_SCROLL_MARGIN = -19;
+const THUMBNAIL_SELECTED_CLASS = "selected";
 
+class PDFThumbnailViewer {
+  constructor({
+    container,
+    linkService,
+    renderingQueue,
+    l10n = _ui_utils.NullL10n
+  }) {
     this.container = container;
     this.linkService = linkService;
     this.renderingQueue = renderingQueue;
@@ -9542,239 +8017,230 @@ function () {
     this._resetView();
   }
 
-  _createClass(PDFThumbnailViewer, [{
-    key: "_scrollUpdated",
-    value: function _scrollUpdated() {
-      this.renderingQueue.renderHighestPriority();
-    }
-  }, {
-    key: "getThumbnail",
-    value: function getThumbnail(index) {
-      return this._thumbnails[index];
-    }
-  }, {
-    key: "_getVisibleThumbs",
-    value: function _getVisibleThumbs() {
-      return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
+  _scrollUpdated() {
+    this.renderingQueue.renderHighestPriority();
+  }
+
+  getThumbnail(index) {
+    return this._thumbnails[index];
+  }
+
+  _getVisibleThumbs() {
+    return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
+  }
+
+  scrollThumbnailIntoView(pageNumber) {
+    if (!this.pdfDocument) {
+      return;
     }
-  }, {
-    key: "scrollThumbnailIntoView",
-    value: function scrollThumbnailIntoView(pageNumber) {
-      if (!this.pdfDocument) {
-        return;
-      }
 
-      var thumbnailView = this._thumbnails[pageNumber - 1];
+    const thumbnailView = this._thumbnails[pageNumber - 1];
 
-      if (!thumbnailView) {
-        console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
-        return;
-      }
+    if (!thumbnailView) {
+      console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
+      return;
+    }
 
-      if (pageNumber !== this._currentPageNumber) {
-        var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
-        prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
-        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
-      }
+    if (pageNumber !== this._currentPageNumber) {
+      const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
+      prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
+      thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
+    }
 
-      var visibleThumbs = this._getVisibleThumbs();
+    const visibleThumbs = this._getVisibleThumbs();
 
-      var numVisibleThumbs = visibleThumbs.views.length;
+    const numVisibleThumbs = visibleThumbs.views.length;
 
-      if (numVisibleThumbs > 0) {
-        var first = visibleThumbs.first.id;
-        var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
-        var shouldScroll = false;
+    if (numVisibleThumbs > 0) {
+      const first = visibleThumbs.first.id;
+      const last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
+      let shouldScroll = false;
 
-        if (pageNumber <= first || pageNumber >= last) {
-          shouldScroll = true;
-        } else {
-          visibleThumbs.views.some(function (view) {
-            if (view.id !== pageNumber) {
-              return false;
-            }
+      if (pageNumber <= first || pageNumber >= last) {
+        shouldScroll = true;
+      } else {
+        visibleThumbs.views.some(function (view) {
+          if (view.id !== pageNumber) {
+            return false;
+          }
 
-            shouldScroll = view.percent < 100;
-            return true;
-          });
-        }
+          shouldScroll = view.percent < 100;
+          return true;
+        });
+      }
 
-        if (shouldScroll) {
-          (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
-            top: THUMBNAIL_SCROLL_MARGIN
-          });
-        }
+      if (shouldScroll) {
+        (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
+          top: THUMBNAIL_SCROLL_MARGIN
+        });
       }
+    }
+
+    this._currentPageNumber = pageNumber;
+  }
+
+  get pagesRotation() {
+    return this._pagesRotation;
+  }
 
-      this._currentPageNumber = pageNumber;
+  set pagesRotation(rotation) {
+    if (!(0, _ui_utils.isValidRotation)(rotation)) {
+      throw new Error("Invalid thumbnails rotation angle.");
     }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      _pdf_thumbnail_view.PDFThumbnailView.cleanup();
+
+    if (!this.pdfDocument) {
+      return;
     }
-  }, {
-    key: "_resetView",
-    value: function _resetView() {
-      this._thumbnails = [];
-      this._currentPageNumber = 1;
-      this._pageLabels = null;
-      this._pagesRotation = 0;
-      this._pagesRequests = [];
-      this.container.textContent = '';
+
+    if (this._pagesRotation === rotation) {
+      return;
     }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var _this = this;
 
-      if (this.pdfDocument) {
-        this._cancelRendering();
+    this._pagesRotation = rotation;
 
-        this._resetView();
-      }
+    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
+      this._thumbnails[i].update(rotation);
+    }
+  }
 
-      this.pdfDocument = pdfDocument;
+  cleanup() {
+    _pdf_thumbnail_view.PDFThumbnailView.cleanup();
+  }
 
-      if (!pdfDocument) {
-        return;
-      }
+  _resetView() {
+    this._thumbnails = [];
+    this._currentPageNumber = 1;
+    this._pageLabels = null;
+    this._pagesRotation = 0;
+    this._pagesRequests = new WeakMap();
+    this.container.textContent = "";
+  }
 
-      pdfDocument.getPage(1).then(function (firstPage) {
-        var pagesCount = pdfDocument.numPages;
-        var viewport = firstPage.getViewport({
-          scale: 1
-        });
+  setDocument(pdfDocument) {
+    if (this.pdfDocument) {
+      this._cancelRendering();
 
-        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
-          var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
-            container: _this.container,
-            id: pageNum,
-            defaultViewport: viewport.clone(),
-            linkService: _this.linkService,
-            renderingQueue: _this.renderingQueue,
-            disableCanvasToImageConversion: false,
-            l10n: _this.l10n
-          });
+      this._resetView();
+    }
 
-          _this._thumbnails.push(thumbnail);
-        }
+    this.pdfDocument = pdfDocument;
 
-        var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1];
-        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
-      })["catch"](function (reason) {
-        console.error('Unable to initialize thumbnail viewer', reason);
-      });
-    }
-  }, {
-    key: "_cancelRendering",
-    value: function _cancelRendering() {
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        if (this._thumbnails[i]) {
-          this._thumbnails[i].cancelRendering();
-        }
-      }
+    if (!pdfDocument) {
+      return;
     }
-  }, {
-    key: "setPageLabels",
-    value: function setPageLabels(labels) {
-      if (!this.pdfDocument) {
-        return;
-      }
 
-      if (!labels) {
-        this._pageLabels = null;
-      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
-        this._pageLabels = null;
-        console.error('PDFThumbnailViewer_setPageLabels: Invalid page labels.');
-      } else {
-        this._pageLabels = labels;
-      }
+    pdfDocument.getPage(1).then(firstPdfPage => {
+      const pagesCount = pdfDocument.numPages;
+      const viewport = firstPdfPage.getViewport({
+        scale: 1
+      });
 
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        var label = this._pageLabels && this._pageLabels[i];
+      for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
+        const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
+          container: this.container,
+          id: pageNum,
+          defaultViewport: viewport.clone(),
+          linkService: this.linkService,
+          renderingQueue: this.renderingQueue,
+          disableCanvasToImageConversion: false,
+          l10n: this.l10n
+        });
 
-        this._thumbnails[i].setPageLabel(label);
+        this._thumbnails.push(thumbnail);
       }
-    }
-  }, {
-    key: "_ensurePdfPageLoaded",
-    value: function _ensurePdfPageLoaded(thumbView) {
-      var _this2 = this;
 
-      if (thumbView.pdfPage) {
-        return Promise.resolve(thumbView.pdfPage);
+      const firstThumbnailView = this._thumbnails[0];
+
+      if (firstThumbnailView) {
+        firstThumbnailView.setPdfPage(firstPdfPage);
       }
 
-      var pageNumber = thumbView.id;
+      const thumbnailView = this._thumbnails[this._currentPageNumber - 1];
+      thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
+    }).catch(reason => {
+      console.error("Unable to initialize thumbnail viewer", reason);
+    });
+  }
 
-      if (this._pagesRequests[pageNumber]) {
-        return this._pagesRequests[pageNumber];
+  _cancelRendering() {
+    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
+      if (this._thumbnails[i]) {
+        this._thumbnails[i].cancelRendering();
       }
+    }
+  }
 
-      var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {
-        thumbView.setPdfPage(pdfPage);
-        _this2._pagesRequests[pageNumber] = null;
-        return pdfPage;
-      })["catch"](function (reason) {
-        console.error('Unable to get page for thumb view', reason);
-        _this2._pagesRequests[pageNumber] = null;
-      });
-      this._pagesRequests[pageNumber] = promise;
-      return promise;
+  setPageLabels(labels) {
+    if (!this.pdfDocument) {
+      return;
     }
-  }, {
-    key: "forceRendering",
-    value: function forceRendering() {
-      var _this3 = this;
 
-      var visibleThumbs = this._getVisibleThumbs();
+    if (!labels) {
+      this._pageLabels = null;
+    } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
+      this._pageLabels = null;
+      console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
+    } else {
+      this._pageLabels = labels;
+    }
 
-      var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, 
this.scroll.down);
+    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {
+      const label = this._pageLabels && this._pageLabels[i];
 
-      if (thumbView) {
-        this._ensurePdfPageLoaded(thumbView).then(function () {
-          _this3.renderingQueue.renderView(thumbView);
-        });
+      this._thumbnails[i].setPageLabel(label);
+    }
+  }
 
-        return true;
-      }
+  _ensurePdfPageLoaded(thumbView) {
+    if (thumbView.pdfPage) {
+      return Promise.resolve(thumbView.pdfPage);
+    }
 
-      return false;
+    if (this._pagesRequests.has(thumbView)) {
+      return this._pagesRequests.get(thumbView);
     }
-  }, {
-    key: "pagesRotation",
-    get: function get() {
-      return this._pagesRotation;
-    },
-    set: function set(rotation) {
-      if (!(0, _ui_utils.isValidRotation)(rotation)) {
-        throw new Error('Invalid thumbnails rotation angle.');
-      }
 
-      if (!this.pdfDocument) {
-        return;
+    const promise = this.pdfDocument.getPage(thumbView.id).then(pdfPage => {
+      if (!thumbView.pdfPage) {
+        thumbView.setPdfPage(pdfPage);
       }
 
-      if (this._pagesRotation === rotation) {
-        return;
-      }
+      this._pagesRequests.delete(thumbView);
 
-      this._pagesRotation = rotation;
+      return pdfPage;
+    }).catch(reason => {
+      console.error("Unable to get page for thumb view", reason);
 
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        this._thumbnails[i].update(rotation);
-      }
+      this._pagesRequests.delete(thumbView);
+    });
+
+    this._pagesRequests.set(thumbView, promise);
+
+    return promise;
+  }
+
+  forceRendering() {
+    const visibleThumbs = this._getVisibleThumbs();
+
+    const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, 
this.scroll.down);
+
+    if (thumbView) {
+      this._ensurePdfPageLoaded(thumbView).then(() => {
+        this.renderingQueue.renderView(thumbView);
+      });
+
+      return true;
     }
-  }]);
 
-  return PDFThumbnailViewer;
-}();
+    return false;
+  }
+
+}
 
 exports.PDFThumbnailViewer = PDFThumbnailViewer;
 
 /***/ }),
-/* 26 */
+/* 23 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -9785,47 +8251,42 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFThumbnailView = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _pdfjsLib = __webpack_require__(4);
 
-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); } }
+var _ui_utils = __webpack_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _pdf_rendering_queue = __webpack_require__(8);
 
-var MAX_NUM_SCALING_STEPS = 3;
-var THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
-var THUMBNAIL_WIDTH = 98;
+const MAX_NUM_SCALING_STEPS = 3;
+const THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
+const THUMBNAIL_WIDTH = 98;
 
-var TempImageFactory = function TempImageFactoryClosure() {
-  var tempCanvasCache = null;
+const TempImageFactory = function TempImageFactoryClosure() {
+  let tempCanvasCache = null;
   return {
-    getCanvas: function getCanvas(width, height) {
-      var tempCanvas = tempCanvasCache;
+    getCanvas(width, height) {
+      let tempCanvas = tempCanvasCache;
 
       if (!tempCanvas) {
-        tempCanvas = document.createElement('canvas');
+        tempCanvas = document.createElement("canvas");
         tempCanvasCache = tempCanvas;
       }
 
       tempCanvas.width = width;
       tempCanvas.height = height;
       tempCanvas.mozOpaque = true;
-      var ctx = tempCanvas.getContext('2d', {
+      const ctx = tempCanvas.getContext("2d", {
         alpha: false
       });
       ctx.save();
-      ctx.fillStyle = 'rgb(255, 255, 255)';
+      ctx.fillStyle = "rgb(255, 255, 255)";
       ctx.fillRect(0, 0, width, height);
       ctx.restore();
       return tempCanvas;
     },
-    destroyCanvas: function destroyCanvas() {
-      var tempCanvas = tempCanvasCache;
+
+    destroyCanvas() {
+      const tempCanvas = tempCanvasCache;
 
       if (tempCanvas) {
         tempCanvas.width = 0;
@@ -9834,27 +8295,22 @@ var TempImageFactory = function TempImageFactoryClosure() {
 
       tempCanvasCache = null;
     }
+
   };
 }();
 
-var PDFThumbnailView =
-/*#__PURE__*/
-function () {
-  function PDFThumbnailView(_ref) {
-    var container = _ref.container,
-        id = _ref.id,
-        defaultViewport = _ref.defaultViewport,
-        linkService = _ref.linkService,
-        renderingQueue = _ref.renderingQueue,
-        _ref$disableCanvasToI = _ref.disableCanvasToImageConversion,
-        disableCanvasToImageConversion = _ref$disableCanvasToI === void 0 ? false : _ref$disableCanvasToI,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, PDFThumbnailView);
-
+class PDFThumbnailView {
+  constructor({
+    container,
+    id,
+    defaultViewport,
+    linkService,
+    renderingQueue,
+    disableCanvasToImageConversion = false,
+    l10n = _ui_utils.NullL10n
+  }) {
     this.id = id;
-    this.renderingId = 'thumbnail' + id;
+    this.renderingId = "thumbnail" + id;
     this.pageLabel = null;
     this.pdfPage = null;
     this.rotation = 0;
@@ -9873,11 +8329,10 @@ function () {
     this.canvasHeight = this.canvasWidth / this.pageRatio | 0;
     this.scale = this.canvasWidth / this.pageWidth;
     this.l10n = l10n;
-    var anchor = document.createElement('a');
-    anchor.href = linkService.getAnchorUrl('#page=' + id);
-    this.l10n.get('thumb_page_title', {
-      page: id
-    }, 'Page {{page}}').then(function (msg) {
+    const anchor = document.createElement("a");
+    anchor.href = linkService.getAnchorUrl("#page=" + id);
+
+    this._thumbPageTitle.then(msg => {
       anchor.title = msg;
     });
 
@@ -9887,325 +8342,402 @@ function () {
     };
 
     this.anchor = anchor;
-    var div = document.createElement('div');
-    div.className = 'thumbnail';
-    div.setAttribute('data-page-number', this.id);
+    const div = document.createElement("div");
+    div.className = "thumbnail";
+    div.setAttribute("data-page-number", this.id);
     this.div = div;
-    var ring = document.createElement('div');
-    ring.className = 'thumbnailSelectionRing';
-    var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
-    ring.style.width = this.canvasWidth + borderAdjustment + 'px';
-    ring.style.height = this.canvasHeight + borderAdjustment + 'px';
+    const ring = document.createElement("div");
+    ring.className = "thumbnailSelectionRing";
+    const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
+    ring.style.width = this.canvasWidth + borderAdjustment + "px";
+    ring.style.height = this.canvasHeight + borderAdjustment + "px";
     this.ring = ring;
     div.appendChild(ring);
     anchor.appendChild(div);
     container.appendChild(anchor);
   }
 
-  _createClass(PDFThumbnailView, [{
-    key: "setPdfPage",
-    value: function setPdfPage(pdfPage) {
-      this.pdfPage = pdfPage;
-      this.pdfPageRotate = pdfPage.rotate;
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = pdfPage.getViewport({
-        scale: 1,
-        rotation: totalRotation
-      });
-      this.reset();
+  setPdfPage(pdfPage) {
+    this.pdfPage = pdfPage;
+    this.pdfPageRotate = pdfPage.rotate;
+    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
+    this.viewport = pdfPage.getViewport({
+      scale: 1,
+      rotation: totalRotation
+    });
+    this.reset();
+  }
+
+  reset() {
+    this.cancelRendering();
+    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
+    this.pageWidth = this.viewport.width;
+    this.pageHeight = this.viewport.height;
+    this.pageRatio = this.pageWidth / this.pageHeight;
+    this.canvasHeight = this.canvasWidth / this.pageRatio | 0;
+    this.scale = this.canvasWidth / this.pageWidth;
+    this.div.removeAttribute("data-loaded");
+    const ring = this.ring;
+    const childNodes = ring.childNodes;
+
+    for (let i = childNodes.length - 1; i >= 0; i--) {
+      ring.removeChild(childNodes[i]);
     }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.cancelRendering();
-      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
-      this.pageWidth = this.viewport.width;
-      this.pageHeight = this.viewport.height;
-      this.pageRatio = this.pageWidth / this.pageHeight;
-      this.canvasHeight = this.canvasWidth / this.pageRatio | 0;
-      this.scale = this.canvasWidth / this.pageWidth;
-      this.div.removeAttribute('data-loaded');
-      var ring = this.ring;
-      var childNodes = ring.childNodes;
 
-      for (var i = childNodes.length - 1; i >= 0; i--) {
-        ring.removeChild(childNodes[i]);
-      }
+    const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
+    ring.style.width = this.canvasWidth + borderAdjustment + "px";
+    ring.style.height = this.canvasHeight + borderAdjustment + "px";
 
-      var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
-      ring.style.width = this.canvasWidth + borderAdjustment + 'px';
-      ring.style.height = this.canvasHeight + borderAdjustment + 'px';
+    if (this.canvas) {
+      this.canvas.width = 0;
+      this.canvas.height = 0;
+      delete this.canvas;
+    }
 
-      if (this.canvas) {
-        this.canvas.width = 0;
-        this.canvas.height = 0;
-        delete this.canvas;
-      }
+    if (this.image) {
+      this.image.removeAttribute("src");
+      delete this.image;
+    }
+  }
 
-      if (this.image) {
-        this.image.removeAttribute('src');
-        delete this.image;
-      }
+  update(rotation) {
+    if (typeof rotation !== "undefined") {
+      this.rotation = rotation;
     }
-  }, {
-    key: "update",
-    value: function update(rotation) {
-      if (typeof rotation !== 'undefined') {
-        this.rotation = rotation;
-      }
 
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = this.viewport.clone({
-        scale: 1,
-        rotation: totalRotation
-      });
-      this.reset();
+    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
+    this.viewport = this.viewport.clone({
+      scale: 1,
+      rotation: totalRotation
+    });
+    this.reset();
+  }
+
+  cancelRendering() {
+    if (this.renderTask) {
+      this.renderTask.cancel();
+      this.renderTask = null;
     }
-  }, {
-    key: "cancelRendering",
-    value: function cancelRendering() {
-      if (this.renderTask) {
-        this.renderTask.cancel();
-        this.renderTask = null;
-      }
 
-      this.resume = null;
+    this.resume = null;
+  }
+
+  _getPageDrawContext(noCtxScale = false) {
+    const canvas = document.createElement("canvas");
+    this.canvas = canvas;
+    canvas.mozOpaque = true;
+    const ctx = canvas.getContext("2d", {
+      alpha: false
+    });
+    const outputScale = (0, _ui_utils.getOutputScale)(ctx);
+    canvas.width = this.canvasWidth * outputScale.sx | 0;
+    canvas.height = this.canvasHeight * outputScale.sy | 0;
+    canvas.style.width = this.canvasWidth + "px";
+    canvas.style.height = this.canvasHeight + "px";
+
+    if (!noCtxScale && outputScale.scaled) {
+      ctx.scale(outputScale.sx, outputScale.sy);
     }
-  }, {
-    key: "_getPageDrawContext",
-    value: function _getPageDrawContext() {
-      var noCtxScale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var canvas = document.createElement('canvas');
-      this.canvas = canvas;
-      canvas.mozOpaque = true;
-      var ctx = canvas.getContext('2d', {
-        alpha: false
+
+    return ctx;
+  }
+
+  _convertCanvasToImage() {
+    if (!this.canvas) {
+      return;
+    }
+
+    if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
+      return;
+    }
+
+    const className = "thumbnailImage";
+
+    if (this.disableCanvasToImageConversion) {
+      this.canvas.className = className;
+
+      this._thumbPageCanvas.then(msg => {
+        this.canvas.setAttribute("aria-label", msg);
       });
-      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
-      canvas.width = this.canvasWidth * outputScale.sx | 0;
-      canvas.height = this.canvasHeight * outputScale.sy | 0;
-      canvas.style.width = this.canvasWidth + 'px';
-      canvas.style.height = this.canvasHeight + 'px';
 
-      if (!noCtxScale && outputScale.scaled) {
-        ctx.scale(outputScale.sx, outputScale.sy);
-      }
+      this.div.setAttribute("data-loaded", true);
+      this.ring.appendChild(this.canvas);
+      return;
+    }
+
+    const image = document.createElement("img");
+    image.className = className;
+
+    this._thumbPageCanvas.then(msg => {
+      image.setAttribute("aria-label", msg);
+    });
+
+    image.style.width = this.canvasWidth + "px";
+    image.style.height = this.canvasHeight + "px";
+    image.src = this.canvas.toDataURL();
+    this.image = image;
+    this.div.setAttribute("data-loaded", true);
+    this.ring.appendChild(image);
+    this.canvas.width = 0;
+    this.canvas.height = 0;
+    delete this.canvas;
+  }
 
-      return ctx;
+  draw() {
+    if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
+      console.error("Must be in new state before drawing");
+      return Promise.resolve(undefined);
     }
-  }, {
-    key: "_convertCanvasToImage",
-    value: function _convertCanvasToImage() {
-      var _this = this;
 
-      if (!this.canvas) {
-        return;
+    const {
+      pdfPage
+    } = this;
+
+    if (!pdfPage) {
+      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+      return Promise.reject(new Error("pdfPage is not loaded"));
+    }
+
+    this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
+    const renderCapability = (0, _pdfjsLib.createPromiseCapability)();
+
+    const finishRenderTask = error => {
+      if (renderTask === this.renderTask) {
+        this.renderTask = null;
       }
 
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
+      if (error instanceof _pdfjsLib.RenderingCancelledException) {
+        renderCapability.resolve(undefined);
         return;
       }
 
-      var id = this.renderingId;
-      var className = 'thumbnailImage';
+      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+
+      this._convertCanvasToImage();
+
+      if (!error) {
+        renderCapability.resolve(undefined);
+      } else {
+        renderCapability.reject(error);
+      }
+    };
+
+    const ctx = this._getPageDrawContext();
+
+    const drawViewport = this.viewport.clone({
+      scale: this.scale
+    });
+
+    const renderContinueCallback = cont => {
+      if (!this.renderingQueue.isHighestPriority(this)) {
+        this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
+
+        this.resume = () => {
+          this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
+          cont();
+        };
 
-      if (this.disableCanvasToImageConversion) {
-        this.canvas.id = id;
-        this.canvas.className = className;
-        this.l10n.get('thumb_page_canvas', {
-          page: this.pageId
-        }, 'Thumbnail of Page {{page}}').then(function (msg) {
-          _this.canvas.setAttribute('aria-label', msg);
-        });
-        this.div.setAttribute('data-loaded', true);
-        this.ring.appendChild(this.canvas);
         return;
       }
 
-      var image = document.createElement('img');
-      image.id = id;
-      image.className = className;
-      this.l10n.get('thumb_page_canvas', {
-        page: this.pageId
-      }, 'Thumbnail of Page {{page}}').then(function (msg) {
-        image.setAttribute('aria-label', msg);
-      });
-      image.style.width = this.canvasWidth + 'px';
-      image.style.height = this.canvasHeight + 'px';
-      image.src = this.canvas.toDataURL();
-      this.image = image;
-      this.div.setAttribute('data-loaded', true);
-      this.ring.appendChild(image);
-      this.canvas.width = 0;
-      this.canvas.height = 0;
-      delete this.canvas;
+      cont();
+    };
+
+    const renderContext = {
+      canvasContext: ctx,
+      viewport: drawViewport
+    };
+    const renderTask = this.renderTask = pdfPage.render(renderContext);
+    renderTask.onContinue = renderContinueCallback;
+    renderTask.promise.then(function () {
+      finishRenderTask(null);
+    }, function (error) {
+      finishRenderTask(error);
+    });
+    return renderCapability.promise;
+  }
+
+  setImage(pageView) {
+    if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
+      return;
+    }
+
+    const img = pageView.canvas;
+
+    if (!img) {
+      return;
     }
-  }, {
-    key: "draw",
-    value: function draw() {
-      var _this2 = this;
 
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        console.error('Must be in new state before drawing');
-        return Promise.resolve(undefined);
-      }
+    if (!this.pdfPage) {
+      this.setPdfPage(pageView.pdfPage);
+    }
 
-      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
+    this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
 
-      var finishRenderTask = function finishRenderTask(error) {
-        if (renderTask === _this2.renderTask) {
-          _this2.renderTask = null;
-        }
+    const ctx = this._getPageDrawContext(true);
 
-        if (error instanceof _pdfjsLib.RenderingCancelledException) {
-          renderCapability.resolve(undefined);
-          return;
-        }
+    const canvas = ctx.canvas;
 
-        _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+    if (img.width <= 2 * canvas.width) {
+      ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
 
-        _this2._convertCanvasToImage();
+      this._convertCanvasToImage();
 
-        if (!error) {
-          renderCapability.resolve(undefined);
-        } else {
-          renderCapability.reject(error);
-        }
-      };
+      return;
+    }
 
-      var ctx = this._getPageDrawContext();
+    let reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
+    let reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
+    const reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight);
+    const reducedImageCtx = reducedImage.getContext("2d");
 
-      var drawViewport = this.viewport.clone({
-        scale: this.scale
-      });
+    while (reducedWidth > img.width || reducedHeight > img.height) {
+      reducedWidth >>= 1;
+      reducedHeight >>= 1;
+    }
 
-      var renderContinueCallback = function renderContinueCallback(cont) {
-        if (!_this2.renderingQueue.isHighestPriority(_this2)) {
-          _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
+    reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
 
-          _this2.resume = function () {
-            _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-            cont();
-          };
+    while (reducedWidth > 2 * canvas.width) {
+      reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, 
reducedHeight >> 1);
+      reducedWidth >>= 1;
+      reducedHeight >>= 1;
+    }
 
-          return;
-        }
+    ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
 
-        cont();
-      };
+    this._convertCanvasToImage();
+  }
 
-      var renderContext = {
-        canvasContext: ctx,
-        viewport: drawViewport
-      };
-      var renderTask = this.renderTask = this.pdfPage.render(renderContext);
-      renderTask.onContinue = renderContinueCallback;
-      renderTask.promise.then(function () {
-        finishRenderTask(null);
-      }, function (error) {
-        finishRenderTask(error);
-      });
-      return renderCapability.promise;
+  get _thumbPageTitle() {
+    return this.l10n.get("thumb_page_title", {
+      page: this.pageLabel !== null ? this.pageLabel : this.id
+    }, "Page {{page}}");
+  }
+
+  get _thumbPageCanvas() {
+    return this.l10n.get("thumb_page_canvas", {
+      page: this.pageLabel !== null ? this.pageLabel : this.id
+    }, "Thumbnail of Page {{page}}");
+  }
+
+  setPageLabel(label) {
+    this.pageLabel = typeof label === "string" ? label : null;
+
+    this._thumbPageTitle.then(msg => {
+      this.anchor.title = msg;
+    });
+
+    if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
+      return;
     }
-  }, {
-    key: "setImage",
-    value: function setImage(pageView) {
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        return;
+
+    this._thumbPageCanvas.then(msg => {
+      if (this.image) {
+        this.image.setAttribute("aria-label", msg);
+      } else if (this.disableCanvasToImageConversion && this.canvas) {
+        this.canvas.setAttribute("aria-label", msg);
       }
+    });
+  }
 
-      var img = pageView.canvas;
+  static cleanup() {
+    TempImageFactory.destroyCanvas();
+  }
 
-      if (!img) {
-        return;
-      }
+}
 
-      if (!this.pdfPage) {
-        this.setPdfPage(pageView.pdfPage);
-      }
+exports.PDFThumbnailView = PDFThumbnailView;
 
-      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+/***/ }),
+/* 24 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
 
-      var ctx = this._getPageDrawContext(true);
 
-      var canvas = ctx.canvas;
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.PDFViewer = void 0;
 
-      if (img.width <= 2 * canvas.width) {
-        ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
+var _base_viewer = __webpack_require__(25);
 
-        this._convertCanvasToImage();
+var _pdfjsLib = __webpack_require__(4);
 
-        return;
-      }
+class PDFViewer extends _base_viewer.BaseViewer {
+  get _setDocumentViewerElement() {
+    return (0, _pdfjsLib.shadow)(this, "_setDocumentViewerElement", this.viewer);
+  }
 
-      var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
-      var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
-      var reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight);
-      var reducedImageCtx = reducedImage.getContext('2d');
+  _scrollIntoView({
+    pageDiv,
+    pageSpot = null,
+    pageNumber = null
+  }) {
+    if (!pageSpot && !this.isInPresentationMode) {
+      const left = pageDiv.offsetLeft + pageDiv.clientLeft;
+      const right = left + pageDiv.clientWidth;
+      const {
+        scrollLeft,
+        clientWidth
+      } = this.container;
 
-      while (reducedWidth > img.width || reducedHeight > img.height) {
-        reducedWidth >>= 1;
-        reducedHeight >>= 1;
+      if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
+        pageSpot = {
+          left: 0,
+          top: 0
+        };
       }
+    }
 
-      reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
+    super._scrollIntoView({
+      pageDiv,
+      pageSpot,
+      pageNumber
+    });
+  }
 
-      while (reducedWidth > 2 * canvas.width) {
-        reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, 
reducedHeight >> 1);
-        reducedWidth >>= 1;
-        reducedHeight >>= 1;
-      }
+  _getVisiblePages() {
+    if (this.isInPresentationMode) {
+      return this._getCurrentVisiblePage();
+    }
 
-      ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
+    return super._getVisiblePages();
+  }
 
-      this._convertCanvasToImage();
+  _updateHelper(visiblePages) {
+    if (this.isInPresentationMode) {
+      return;
     }
-  }, {
-    key: "setPageLabel",
-    value: function setPageLabel(label) {
-      var _this3 = this;
 
-      this.pageLabel = typeof label === 'string' ? label : null;
-      this.l10n.get('thumb_page_title', {
-        page: this.pageId
-      }, 'Page {{page}}').then(function (msg) {
-        _this3.anchor.title = msg;
-      });
+    let currentId = this._currentPageNumber;
+    let stillFullyVisible = false;
 
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
-        return;
+    for (const page of visiblePages) {
+      if (page.percent < 100) {
+        break;
       }
 
-      this.l10n.get('thumb_page_canvas', {
-        page: this.pageId
-      }, 'Thumbnail of Page {{page}}').then(function (ariaLabel) {
-        if (_this3.image) {
-          _this3.image.setAttribute('aria-label', ariaLabel);
-        } else if (_this3.disableCanvasToImageConversion && _this3.canvas) {
-          _this3.canvas.setAttribute('aria-label', ariaLabel);
-        }
-      });
-    }
-  }, {
-    key: "pageId",
-    get: function get() {
-      return this.pageLabel !== null ? this.pageLabel : this.id;
+      if (page.id === currentId) {
+        stillFullyVisible = true;
+        break;
+      }
     }
-  }], [{
-    key: "cleanup",
-    value: function cleanup() {
-      TempImageFactory.destroyCanvas();
+
+    if (!stillFullyVisible) {
+      currentId = visiblePages[0].id;
     }
-  }]);
 
-  return PDFThumbnailView;
-}();
+    this._setCurrentPageNumber(currentId);
+  }
 
-exports.PDFThumbnailView = PDFThumbnailView;
+}
+
+exports.PDFViewer = PDFViewer;
 
 /***/ }),
-/* 27 */
+/* 25 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -10214,1303 +8746,1110 @@ exports.PDFThumbnailView = PDFThumbnailView;
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.PDFViewer = void 0;
+exports.BaseViewer = void 0;
+
+var _ui_utils = __webpack_require__(2);
+
+var _pdf_rendering_queue = __webpack_require__(8);
+
+var _annotation_layer_builder = __webpack_require__(26);
 
-var _base_viewer = __webpack_require__(28);
+var _pdfjsLib = __webpack_require__(4);
 
-var _pdfjsLib = __webpack_require__(7);
+var _pdf_page_view = __webpack_require__(27);
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+var _pdf_link_service = __webpack_require__(18);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _text_layer_builder = __webpack_require__(28);
 
-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); } }
+const DEFAULT_CACHE_SIZE = 10;
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+function PDFPageViewBuffer(size) {
+  const data = [];
 
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } return _assertThisInitialized(self); }
+  this.push = function (view) {
+    const i = data.indexOf(view);
 
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been 
initialised - super() hasn't been called"); } return self; }
+    if (i >= 0) {
+      data.splice(i, 1);
+    }
 
-function _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
+    data.push(view);
 
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) 
{ object = _getPrototypeOf(object); if (object === null) break; } return object; }
+    if (data.length > size) {
+      data.shift().destroy();
+    }
+  };
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+  this.resize = function (newSize, pagesToKeep) {
+    size = newSize;
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+    if (pagesToKeep) {
+      const pageIdsToKeep = new Set();
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+      for (let i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
+        pageIdsToKeep.add(pagesToKeep[i].id);
+      }
 
-var PDFViewer =
-/*#__PURE__*/
-function (_BaseViewer) {
-  _inherits(PDFViewer, _BaseViewer);
+      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
+        return pageIdsToKeep.has(page.id);
+      });
+    }
 
-  function PDFViewer() {
-    _classCallCheck(this, PDFViewer);
+    while (data.length > size) {
+      data.shift().destroy();
+    }
+  };
+}
 
-    return _possibleConstructorReturn(this, _getPrototypeOf(PDFViewer).apply(this, arguments));
+function isSameScale(oldScale, newScale) {
+  if (newScale === oldScale) {
+    return true;
   }
 
-  _createClass(PDFViewer, [{
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
+  if (Math.abs(newScale - oldScale) < 1e-15) {
+    return true;
+  }
 
-      if (!pageSpot && !this.isInPresentationMode) {
-        var left = pageDiv.offsetLeft + pageDiv.clientLeft;
-        var right = left + pageDiv.clientWidth;
-        var _this$container = this.container,
-            scrollLeft = _this$container.scrollLeft,
-            clientWidth = _this$container.clientWidth;
+  return false;
+}
 
-        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
-          pageSpot = {
-            left: 0,
-            top: 0
-          };
-        }
-      }
+class BaseViewer {
+  constructor(options) {
+    if (this.constructor === BaseViewer) {
+      throw new Error("Cannot initialize BaseViewer.");
+    }
 
-      _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
-        pageDiv: pageDiv,
-        pageSpot: pageSpot,
-        pageNumber: pageNumber
-      });
+    this._name = this.constructor.name;
+    this.container = options.container;
+    this.viewer = options.viewer || options.container.firstElementChild;
+    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();
+    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
+    this.downloadManager = options.downloadManager || null;
+    this.findController = options.findController || null;
+    this.removePageBorders = options.removePageBorders || false;
+    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : 
_ui_utils.TextLayerMode.ENABLE;
+    this.imageResourcesPath = options.imageResourcesPath || "";
+    this.renderInteractiveForms = options.renderInteractiveForms || false;
+    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
+    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
+    this.enableWebGL = options.enableWebGL || false;
+    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
+    this.maxCanvasPixels = options.maxCanvasPixels;
+    this.l10n = options.l10n || _ui_utils.NullL10n;
+    this.defaultRenderingQueue = !options.renderingQueue;
+
+    if (this.defaultRenderingQueue) {
+      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
+      this.renderingQueue.setViewer(this);
+    } else {
+      this.renderingQueue = options.renderingQueue;
     }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      if (this.isInPresentationMode) {
-        return this._getCurrentVisiblePage();
-      }
 
-      return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
+    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");
     }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {
-      if (this.isInPresentationMode) {
-        return;
-      }
 
-      var currentId = this._currentPageNumber;
-      var stillFullyVisible = false;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
+    Promise.resolve().then(() => {
+      this.eventBus.dispatch("baseviewerinit", {
+        source: this
+      });
+    });
+  }
+
+  get pagesCount() {
+    return this._pages.length;
+  }
 
-      try {
-        for (var _iterator = visiblePages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = 
_iterator.next()).done); _iteratorNormalCompletion = true) {
-          var page = _step.value;
+  getPageView(index) {
+    return this._pages[index];
+  }
 
-          if (page.percent < 100) {
-            break;
-          }
+  get pageViewsReady() {
+    if (!this._pagesCapability.settled) {
+      return false;
+    }
 
-          if (page.id === currentId) {
-            stillFullyVisible = true;
-            break;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
+    return this._pages.every(function (pageView) {
+      return pageView && pageView.pdfPage;
+    });
+  }
 
-      if (!stillFullyVisible) {
-        currentId = visiblePages[0].id;
-      }
+  get currentPageNumber() {
+    return this._currentPageNumber;
+  }
 
-      this._setCurrentPageNumber(currentId);
+  set currentPageNumber(val) {
+    if (!Number.isInteger(val)) {
+      throw new Error("Invalid page number.");
     }
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, '_setDocumentViewerElement', this.viewer);
+
+    if (!this.pdfDocument) {
+      return;
     }
-  }]);
 
-  return PDFViewer;
-}(_base_viewer.BaseViewer);
+    if (!this._setCurrentPageNumber(val, true)) {
+      console.error(`${this._name}.currentPageNumber: "${val}" is not a valid page.`);
+    }
+  }
 
-exports.PDFViewer = PDFViewer;
+  _setCurrentPageNumber(val, resetCurrentPageView = false) {
+    if (this._currentPageNumber === val) {
+      if (resetCurrentPageView) {
+        this._resetCurrentPageView();
+      }
 
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __webpack_require__) {
+      return true;
+    }
 
-"use strict";
+    if (!(0 < val && val <= this.pagesCount)) {
+      return false;
+    }
 
+    this._currentPageNumber = val;
+    this.eventBus.dispatch("pagechanging", {
+      source: this,
+      pageNumber: val,
+      pageLabel: this._pageLabels && this._pageLabels[val - 1]
+    });
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.BaseViewer = void 0;
+    if (resetCurrentPageView) {
+      this._resetCurrentPageView();
+    }
 
-var _ui_utils = __webpack_require__(5);
+    return true;
+  }
 
-var _pdf_rendering_queue = __webpack_require__(11);
+  get currentPageLabel() {
+    return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
+  }
 
-var _annotation_layer_builder = __webpack_require__(29);
+  set currentPageLabel(val) {
+    if (!this.pdfDocument) {
+      return;
+    }
 
-var _pdfjsLib = __webpack_require__(7);
+    let page = val | 0;
 
-var _pdf_page_view = __webpack_require__(30);
+    if (this._pageLabels) {
+      const i = this._pageLabels.indexOf(val);
 
-var _pdf_link_service = __webpack_require__(21);
+      if (i >= 0) {
+        page = i + 1;
+      }
+    }
 
-var _text_layer_builder = __webpack_require__(31);
+    if (!this._setCurrentPageNumber(page, true)) {
+      console.error(`${this._name}.currentPageLabel: "${val}" is not a valid page.`);
+    }
+  }
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+  get currentScale() {
+    return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
+  }
 
-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); } }
+  set currentScale(val) {
+    if (isNaN(val)) {
+      throw new Error("Invalid numeric scale.");
+    }
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+    if (!this.pdfDocument) {
+      return;
+    }
 
-var DEFAULT_CACHE_SIZE = 10;
+    this._setScale(val, false);
+  }
 
-function PDFPageViewBuffer(size) {
-  var data = [];
+  get currentScaleValue() {
+    return this._currentScaleValue;
+  }
 
-  this.push = function (view) {
-    var i = data.indexOf(view);
+  set currentScaleValue(val) {
+    if (!this.pdfDocument) {
+      return;
+    }
 
-    if (i >= 0) {
-      data.splice(i, 1);
+    this._setScale(val, false);
+  }
+
+  get pagesRotation() {
+    return this._pagesRotation;
+  }
+
+  set pagesRotation(rotation) {
+    if (!(0, _ui_utils.isValidRotation)(rotation)) {
+      throw new Error("Invalid pages rotation angle.");
     }
 
-    data.push(view);
+    if (!this.pdfDocument) {
+      return;
+    }
 
-    if (data.length > size) {
-      data.shift().destroy();
+    if (this._pagesRotation === rotation) {
+      return;
     }
-  };
 
-  this.resize = function (newSize, pagesToKeep) {
-    size = newSize;
+    this._pagesRotation = rotation;
+    const pageNumber = this._currentPageNumber;
 
-    if (pagesToKeep) {
-      var pageIdsToKeep = new Set();
+    for (let i = 0, ii = this._pages.length; i < ii; i++) {
+      const pageView = this._pages[i];
+      pageView.update(pageView.scale, rotation);
+    }
 
-      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
-        pageIdsToKeep.add(pagesToKeep[i].id);
-      }
+    if (this._currentScaleValue) {
+      this._setScale(this._currentScaleValue, true);
+    }
 
-      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
-        return pageIdsToKeep.has(page.id);
-      });
+    this.eventBus.dispatch("rotationchanging", {
+      source: this,
+      pagesRotation: rotation,
+      pageNumber
+    });
+
+    if (this.defaultRenderingQueue) {
+      this.update();
     }
+  }
 
-    while (data.length > size) {
-      data.shift().destroy();
-    }
-  };
-}
+  get firstPagePromise() {
+    return this.pdfDocument ? this._firstPageCapability.promise : null;
+  }
 
-function isSameScale(oldScale, newScale) {
-  if (newScale === oldScale) {
-    return true;
+  get onePageRendered() {
+    return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
   }
 
-  if (Math.abs(newScale - oldScale) < 1e-15) {
-    return true;
+  get pagesPromise() {
+    return this.pdfDocument ? this._pagesCapability.promise : null;
   }
 
-  return false;
-}
+  get _setDocumentViewerElement() {
+    throw new Error("Not implemented: _setDocumentViewerElement");
+  }
 
-var BaseViewer =
-/*#__PURE__*/
-function () {
-  function BaseViewer(options) {
-    var _this = this;
+  setDocument(pdfDocument) {
+    if (this.pdfDocument) {
+      this._cancelRendering();
 
-    _classCallCheck(this, BaseViewer);
+      this._resetView();
 
-    if (this.constructor === BaseViewer) {
-      throw new Error('Cannot initialize BaseViewer.');
+      if (this.findController) {
+        this.findController.setDocument(null);
+      }
     }
 
-    this._name = this.constructor.name;
-    this.container = options.container;
-    this.viewer = options.viewer || options.container.firstElementChild;
-    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
-    this.downloadManager = options.downloadManager || null;
-    this.findController = options.findController || null;
-    this.removePageBorders = options.removePageBorders || false;
-    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : 
_ui_utils.TextLayerMode.ENABLE;
-    this.imageResourcesPath = options.imageResourcesPath || '';
-    this.renderInteractiveForms = options.renderInteractiveForms || false;
-    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
-    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
-    this.enableWebGL = options.enableWebGL || false;
-    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
-    this.maxCanvasPixels = options.maxCanvasPixels;
-    this.l10n = options.l10n || _ui_utils.NullL10n;
-    this.defaultRenderingQueue = !options.renderingQueue;
+    this.pdfDocument = pdfDocument;
 
-    if (this.defaultRenderingQueue) {
-      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
-      this.renderingQueue.setViewer(this);
-    } else {
-      this.renderingQueue = options.renderingQueue;
+    if (!pdfDocument) {
+      return;
     }
 
-    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');
-    }
+    const pagesCount = pdfDocument.numPages;
+    const firstPagePromise = pdfDocument.getPage(1);
 
-    Promise.resolve().then(function () {
-      _this.eventBus.dispatch('baseviewerinit', {
-        source: _this
+    this._pagesCapability.promise.then(() => {
+      this.eventBus.dispatch("pagesloaded", {
+        source: this,
+        pagesCount
       });
     });
-  }
-
-  _createClass(BaseViewer, [{
-    key: "getPageView",
-    value: function getPageView(index) {
-      return this._pages[index];
-    }
-  }, {
-    key: "_setCurrentPageNumber",
-    value: function _setCurrentPageNumber(val) {
-      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
 
-      if (this._currentPageNumber === val) {
-        if (resetCurrentPageView) {
-          this._resetCurrentPageView();
-        }
+    this._onBeforeDraw = evt => {
+      const pageView = this._pages[evt.pageNumber - 1];
 
-        return true;
+      if (!pageView) {
+        return;
       }
 
-      if (!(0 < val && val <= this.pagesCount)) {
-        return false;
-      }
+      this._buffer.push(pageView);
+    };
 
-      this._currentPageNumber = val;
-      this.eventBus.dispatch('pagechanging', {
-        source: this,
-        pageNumber: val,
-        pageLabel: this._pageLabels && this._pageLabels[val - 1]
-      });
+    this.eventBus._on("pagerender", this._onBeforeDraw);
 
-      if (resetCurrentPageView) {
-        this._resetCurrentPageView();
+    this._onAfterDraw = evt => {
+      if (evt.cssTransform || this._onePageRenderedCapability.settled) {
+        return;
       }
 
-      return true;
-    }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var _this2 = this;
+      this._onePageRenderedCapability.resolve();
+
+      this.eventBus._off("pagerendered", this._onAfterDraw);
 
-      if (this.pdfDocument) {
-        this._cancelRendering();
+      this._onAfterDraw = null;
+    };
 
-        this._resetView();
+    this.eventBus._on("pagerendered", this._onAfterDraw);
+
+    firstPagePromise.then(firstPdfPage => {
+      this._firstPageCapability.resolve(firstPdfPage);
+
+      const scale = this.currentScale;
+      const viewport = firstPdfPage.getViewport({
+        scale: scale * _ui_utils.CSS_UNITS
+      });
+      const textLayerFactory = this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? this : null;
+
+      for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {
+        const pageView = new _pdf_page_view.PDFPageView({
+          container: this._setDocumentViewerElement,
+          eventBus: this.eventBus,
+          id: pageNum,
+          scale,
+          defaultViewport: viewport.clone(),
+          renderingQueue: this.renderingQueue,
+          textLayerFactory,
+          textLayerMode: this.textLayerMode,
+          annotationLayerFactory: this,
+          imageResourcesPath: this.imageResourcesPath,
+          renderInteractiveForms: this.renderInteractiveForms,
+          renderer: this.renderer,
+          enableWebGL: this.enableWebGL,
+          useOnlyCssZoom: this.useOnlyCssZoom,
+          maxCanvasPixels: this.maxCanvasPixels,
+          l10n: this.l10n
+        });
 
-        if (this.findController) {
-          this.findController.setDocument(null);
-        }
+        this._pages.push(pageView);
       }
 
-      this.pdfDocument = pdfDocument;
+      const firstPageView = this._pages[0];
 
-      if (!pdfDocument) {
-        return;
+      if (firstPageView) {
+        firstPageView.setPdfPage(firstPdfPage);
+        this.linkService.cachePageRef(1, firstPdfPage.ref);
       }
 
-      var pagesCount = pdfDocument.numPages;
-      var pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this.pagesPromise = pagesCapability.promise;
-      pagesCapability.promise.then(function () {
-        _this2._pageViewsReady = true;
+      if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {
+        this._updateSpreadMode();
+      }
 
-        _this2.eventBus.dispatch('pagesloaded', {
-          source: _this2,
-          pagesCount: pagesCount
-        });
-      });
-      var onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this.onePageRendered = onePageRenderedCapability.promise;
-      var firstPagePromise = pdfDocument.getPage(1);
-      this.firstPagePromise = firstPagePromise;
+      this._onePageRenderedCapability.promise.then(() => {
+        if (this.findController) {
+          this.findController.setDocument(pdfDocument);
+        }
 
-      this._onBeforeDraw = function (evt) {
-        var pageView = _this2._pages[evt.pageNumber - 1];
+        if (pdfDocument.loadingParams["disableAutoFetch"] || pagesCount > 7500) {
+          this._pagesCapability.resolve();
 
-        if (!pageView) {
           return;
         }
 
-        _this2._buffer.push(pageView);
-      };
+        let getPagesLeft = pagesCount - 1;
 
-      this.eventBus.on('pagerender', this._onBeforeDraw);
+        if (getPagesLeft <= 0) {
+          this._pagesCapability.resolve();
 
-      this._onAfterDraw = function (evt) {
-        if (evt.cssTransform || onePageRenderedCapability.settled) {
           return;
         }
 
-        onePageRenderedCapability.resolve();
-
-        _this2.eventBus.off('pagerendered', _this2._onAfterDraw);
+        for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {
+          pdfDocument.getPage(pageNum).then(pdfPage => {
+            const pageView = this._pages[pageNum - 1];
 
-        _this2._onAfterDraw = null;
-      };
-
-      this.eventBus.on('pagerendered', this._onAfterDraw);
-      firstPagePromise.then(function (pdfPage) {
-        var scale = _this2.currentScale;
-        var viewport = pdfPage.getViewport({
-          scale: scale * _ui_utils.CSS_UNITS
-        });
+            if (!pageView.pdfPage) {
+              pageView.setPdfPage(pdfPage);
+            }
 
-        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
-          var textLayerFactory = null;
+            this.linkService.cachePageRef(pageNum, pdfPage.ref);
 
-          if (_this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE) {
-            textLayerFactory = _this2;
-          }
+            if (--getPagesLeft === 0) {
+              this._pagesCapability.resolve();
+            }
+          }, reason => {
+            console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);
 
-          var pageView = new _pdf_page_view.PDFPageView({
-            container: _this2._setDocumentViewerElement,
-            eventBus: _this2.eventBus,
-            id: pageNum,
-            scale: scale,
-            defaultViewport: viewport.clone(),
-            renderingQueue: _this2.renderingQueue,
-            textLayerFactory: textLayerFactory,
-            textLayerMode: _this2.textLayerMode,
-            annotationLayerFactory: _this2,
-            imageResourcesPath: _this2.imageResourcesPath,
-            renderInteractiveForms: _this2.renderInteractiveForms,
-            renderer: _this2.renderer,
-            enableWebGL: _this2.enableWebGL,
-            useOnlyCssZoom: _this2.useOnlyCssZoom,
-            maxCanvasPixels: _this2.maxCanvasPixels,
-            l10n: _this2.l10n
+            if (--getPagesLeft === 0) {
+              this._pagesCapability.resolve();
+            }
           });
-
-          _this2._pages.push(pageView);
         }
+      });
 
-        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
-          _this2._updateSpreadMode();
-        }
-
-        onePageRenderedCapability.promise.then(function () {
-          if (_this2.findController) {
-            _this2.findController.setDocument(pdfDocument);
-          }
-
-          if (pdfDocument.loadingParams['disableAutoFetch']) {
-            pagesCapability.resolve();
-            return;
-          }
+      this.eventBus.dispatch("pagesinit", {
+        source: this
+      });
 
-          var getPagesLeft = pagesCount;
+      if (this.defaultRenderingQueue) {
+        this.update();
+      }
+    }).catch(reason => {
+      console.error("Unable to initialize viewer", reason);
+    });
+  }
 
-          var _loop = function _loop(_pageNum) {
-            pdfDocument.getPage(_pageNum).then(function (pdfPage) {
-              var pageView = _this2._pages[_pageNum - 1];
+  setPageLabels(labels) {
+    if (!this.pdfDocument) {
+      return;
+    }
 
-              if (!pageView.pdfPage) {
-                pageView.setPdfPage(pdfPage);
-              }
+    if (!labels) {
+      this._pageLabels = null;
+    } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
+      this._pageLabels = null;
+      console.error(`${this._name}.setPageLabels: Invalid page labels.`);
+    } else {
+      this._pageLabels = labels;
+    }
 
-              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);
+    for (let i = 0, ii = this._pages.length; i < ii; i++) {
+      const pageView = this._pages[i];
+      const label = this._pageLabels && this._pageLabels[i];
+      pageView.setPageLabel(label);
+    }
+  }
 
-              if (--getPagesLeft === 0) {
-                pagesCapability.resolve();
-              }
-            }, function (reason) {
-              console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);
+  _resetView() {
+    this._pages = [];
+    this._currentPageNumber = 1;
+    this._currentScale = _ui_utils.UNKNOWN_SCALE;
+    this._currentScaleValue = null;
+    this._pageLabels = null;
+    this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
+    this._location = null;
+    this._pagesRotation = 0;
+    this._pagesRequests = new WeakMap();
+    this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
+    this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
+    this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
+    this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
+    this._spreadMode = _ui_utils.SpreadMode.NONE;
 
-              if (--getPagesLeft === 0) {
-                pagesCapability.resolve();
-              }
-            });
-          };
+    if (this._onBeforeDraw) {
+      this.eventBus._off("pagerender", this._onBeforeDraw);
 
-          for (var _pageNum = 1; _pageNum <= pagesCount; ++_pageNum) {
-            _loop(_pageNum);
-          }
-        });
+      this._onBeforeDraw = null;
+    }
 
-        _this2.eventBus.dispatch('pagesinit', {
-          source: _this2
-        });
+    if (this._onAfterDraw) {
+      this.eventBus._off("pagerendered", this._onAfterDraw);
 
-        if (_this2.defaultRenderingQueue) {
-          _this2.update();
-        }
-      })["catch"](function (reason) {
-        console.error('Unable to initialize viewer', reason);
-      });
+      this._onAfterDraw = null;
     }
-  }, {
-    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("".concat(this._name, ".setPageLabels: Invalid page labels."));
-      } else {
-        this._pageLabels = labels;
-      }
+    this.viewer.textContent = "";
 
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        var pageView = this._pages[i];
-        var label = this._pageLabels && this._pageLabels[i];
-        pageView.setPageLabel(label);
-      }
+    this._updateScrollMode();
+  }
+
+  _scrollUpdate() {
+    if (this.pagesCount === 0) {
+      return;
     }
-  }, {
-    key: "_resetView",
-    value: function _resetView() {
-      this._pages = [];
-      this._currentPageNumber = 1;
-      this._currentScale = _ui_utils.UNKNOWN_SCALE;
-      this._currentScaleValue = null;
-      this._pageLabels = null;
-      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
-      this._location = null;
-      this._pagesRotation = 0;
-      this._pagesRequests = [];
-      this._pageViewsReady = false;
-      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
-      this._spreadMode = _ui_utils.SpreadMode.NONE;
 
-      if (this._onBeforeDraw) {
-        this.eventBus.off('pagerender', this._onBeforeDraw);
-        this._onBeforeDraw = null;
-      }
+    this.update();
+  }
 
-      if (this._onAfterDraw) {
-        this.eventBus.off('pagerendered', this._onAfterDraw);
-        this._onAfterDraw = null;
-      }
+  _scrollIntoView({
+    pageDiv,
+    pageSpot = null,
+    pageNumber = null
+  }) {
+    (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
+  }
 
-      this.viewer.textContent = '';
+  _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {
+    this._currentScaleValue = newValue.toString();
 
-      this._updateScrollMode();
-    }
-  }, {
-    key: "_scrollUpdate",
-    value: function _scrollUpdate() {
-      if (this.pagesCount === 0) {
-        return;
+    if (isSameScale(this._currentScale, newScale)) {
+      if (preset) {
+        this.eventBus.dispatch("scalechanging", {
+          source: this,
+          scale: newScale,
+          presetValue: newValue
+        });
       }
 
-      this.update();
+      return;
     }
-  }, {
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
-      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
-    }
-  }, {
-    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 (isSameScale(this._currentScale, newScale)) {
-        if (preset) {
-          this.eventBus.dispatch('scalechanging', {
-            source: this,
-            scale: newScale,
-            presetValue: newValue
-          });
-        }
-
-        return;
-      }
-
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        this._pages[i].update(newScale);
-      }
 
-      this._currentScale = newScale;
+    for (let i = 0, ii = this._pages.length; i < ii; i++) {
+      this._pages[i].update(newScale);
+    }
 
-      if (!noScroll) {
-        var page = this._currentPageNumber,
-            dest;
+    this._currentScale = newScale;
 
-        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
-          page = this._location.pageNumber;
-          dest = [null, {
-            name: 'XYZ'
-          }, this._location.left, this._location.top, null];
-        }
+    if (!noScroll) {
+      let page = this._currentPageNumber,
+          dest;
 
-        this.scrollPageIntoView({
-          pageNumber: page,
-          destArray: dest,
-          allowNegativeOffset: true
-        });
+      if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
+        page = this._location.pageNumber;
+        dest = [null, {
+          name: "XYZ"
+        }, this._location.left, this._location.top, null];
       }
 
-      this.eventBus.dispatch('scalechanging', {
-        source: this,
-        scale: newScale,
-        presetValue: preset ? newValue : undefined
+      this.scrollPageIntoView({
+        pageNumber: page,
+        destArray: dest,
+        allowNegativeOffset: true
       });
+    }
 
-      if (this.defaultRenderingQueue) {
-        this.update();
-      }
+    this.eventBus.dispatch("scalechanging", {
+      source: this,
+      scale: newScale,
+      presetValue: preset ? newValue : undefined
+    });
+
+    if (this.defaultRenderingQueue) {
+      this.update();
     }
-  }, {
-    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];
+  _setScale(value, noScroll = false) {
+    let scale = parseFloat(value);
 
-        if (!currentPage) {
-          return;
-        }
+    if (scale > 0) {
+      this._setScaleUpdatePages(scale, value, noScroll, false);
+    } else {
+      const currentPage = this._pages[this._currentPageNumber - 1];
 
-        var noPadding = this.isInPresentationMode || this.removePageBorders;
-        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
-        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;
+      if (!currentPage) {
+        return;
+      }
 
-        if (!noPadding && this._isScrollModeHorizontal) {
-          var _ref2 = [vPadding, hPadding];
-          hPadding = _ref2[0];
-          vPadding = _ref2[1];
-        }
+      const noPadding = this.isInPresentationMode || this.removePageBorders;
+      let hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
+      let vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;
 
-        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
-        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * 
currentPage.scale;
+      if (!noPadding && this._isScrollModeHorizontal) {
+        [hPadding, vPadding] = [vPadding, hPadding];
+      }
 
-        switch (value) {
-          case 'page-actual':
-            scale = 1;
-            break;
+      const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
+      const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * 
currentPage.scale;
 
-          case 'page-width':
-            scale = pageWidthScale;
-            break;
+      switch (value) {
+        case "page-actual":
+          scale = 1;
+          break;
 
-          case 'page-height':
-            scale = pageHeightScale;
-            break;
+        case "page-width":
+          scale = pageWidthScale;
+          break;
 
-          case 'page-fit':
-            scale = Math.min(pageWidthScale, pageHeightScale);
-            break;
+        case "page-height":
+          scale = 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;
+        case "page-fit":
+          scale = Math.min(pageWidthScale, pageHeightScale);
+          break;
 
-          default:
-            console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom 
value."));
-            return;
-        }
+        case "auto":
+          const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : 
Math.min(pageHeightScale, pageWidthScale);
+          scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
+          break;
 
-        this._setScaleUpdatePages(scale, value, noScroll, true);
-      }
-    }
-  }, {
-    key: "_resetCurrentPageView",
-    value: function _resetCurrentPageView() {
-      if (this.isInPresentationMode) {
-        this._setScale(this._currentScaleValue, true);
+        default:
+          console.error(`${this._name}._setScale: "${value}" is an unknown zoom value.`);
+          return;
       }
 
-      var pageView = this._pages[this._currentPageNumber - 1];
+      this._setScaleUpdatePages(scale, value, noScroll, true);
+    }
+  }
 
-      this._scrollIntoView({
-        pageDiv: pageView.div
-      });
+  _resetCurrentPageView() {
+    if (this.isInPresentationMode) {
+      this._setScale(this._currentScaleValue, true);
     }
-  }, {
-    key: "scrollPageIntoView",
-    value: function scrollPageIntoView(_ref3) {
-      var pageNumber = _ref3.pageNumber,
-          _ref3$destArray = _ref3.destArray,
-          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
-          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,
-          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf;
 
-      if (!this.pdfDocument) {
-        return;
-      }
+    const pageView = this._pages[this._currentPageNumber - 1];
+
+    this._scrollIntoView({
+      pageDiv: pageView.div
+    });
+  }
 
-      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
+  scrollPageIntoView({
+    pageNumber,
+    destArray = null,
+    allowNegativeOffset = false,
+    ignoreDestinationZoom = false
+  }) {
+    if (!this.pdfDocument) {
+      return;
+    }
 
-      if (!pageView) {
-        console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a 
valid pageNumber parameter."));
-        return;
-      }
+    const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
 
-      if (this.isInPresentationMode || !destArray) {
-        this._setCurrentPageNumber(pageNumber, true);
+    if (!pageView) {
+      console.error(`${this._name}.scrollPageIntoView: ` + `"${pageNumber}" is not a valid pageNumber 
parameter.`);
+      return;
+    }
 
-        return;
-      }
+    if (this.isInPresentationMode || !destArray) {
+      this._setCurrentPageNumber(pageNumber, true);
 
-      var x = 0,
-          y = 0;
-      var width = 0,
-          height = 0,
-          widthScale,
-          heightScale;
-      var changeOrientation = pageView.rotation % 180 === 0 ? false : true;
-      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / 
_ui_utils.CSS_UNITS;
-      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / 
_ui_utils.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;
+      return;
+    }
 
-        case 'Fit':
-        case 'FitB':
-          scale = 'page-fit';
-          break;
+    let x = 0,
+        y = 0;
+    let width = 0,
+        height = 0,
+        widthScale,
+        heightScale;
+    const changeOrientation = pageView.rotation % 180 !== 0;
+    const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / 
_ui_utils.CSS_UNITS;
+    const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / 
_ui_utils.CSS_UNITS;
+    let 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 'FitH':
-        case 'FitBH':
-          y = destArray[2];
-          scale = 'page-width';
+      case "Fit":
+      case "FitB":
+        scale = "page-fit";
+        break;
 
-          if (y === null && this._location) {
-            x = this._location.left;
-            y = this._location.top;
-          }
+      case "FitH":
+      case "FitBH":
+        y = destArray[2];
+        scale = "page-width";
 
-          break;
+        if (y === null && this._location) {
+          x = this._location.left;
+          y = this._location.top;
+        }
 
-        case 'FitV':
-        case 'FitBV':
-          x = destArray[2];
-          width = pageWidth;
-          height = pageHeight;
-          scale = 'page-height';
-          break;
+        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 / _ui_utils.CSS_UNITS;
-          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
-          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
-          break;
+      case "FitV":
+      case "FitBV":
+        x = destArray[2];
+        width = pageWidth;
+        height = pageHeight;
+        scale = "page-height";
+        break;
 
-        default:
-          console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" 
is not a valid destination type."));
-          return;
-      }
+      case "FitR":
+        x = destArray[2];
+        y = destArray[3];
+        width = destArray[4] - x;
+        height = destArray[5] - y;
+        const hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
+        const vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
+        widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
+        heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
+        scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
+        break;
+
+      default:
+        console.error(`${this._name}.scrollPageIntoView: ` + `"${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]) {
-        this._scrollIntoView({
-          pageDiv: pageView.div,
-          pageNumber: pageNumber
-        });
-
-        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);
-      }
-
+    if (scale === "page-fit" && !destArray[4]) {
       this._scrollIntoView({
         pageDiv: pageView.div,
-        pageSpot: {
-          left: left,
-          top: top
-        },
-        pageNumber: pageNumber
+        pageNumber
       });
+
+      return;
     }
-  }, {
-    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 pdfOpenParams = '#page=' + pageNumber;
-      pdfOpenParams += '&zoom=' + normalizedScaleValue;
-      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]);
-      pdfOpenParams += ',' + intLeft + ',' + intTop;
-      this._location = {
-        pageNumber: pageNumber,
-        scale: normalizedScaleValue,
-        top: intTop,
-        left: intLeft,
-        rotation: this._pagesRotation,
-        pdfOpenParams: pdfOpenParams
-      };
+
+    const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), 
pageView.viewport.convertToViewportPoint(x + width, y + height)];
+    let left = Math.min(boundingRect[0][0], boundingRect[1][0]);
+    let top = Math.min(boundingRect[0][1], boundingRect[1][1]);
+
+    if (!allowNegativeOffset) {
+      left = Math.max(left, 0);
+      top = Math.max(top, 0);
     }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {
-      throw new Error('Not implemented: _updateHelper');
+
+    this._scrollIntoView({
+      pageDiv: pageView.div,
+      pageSpot: {
+        left,
+        top
+      },
+      pageNumber
+    });
+  }
+
+  _updateLocation(firstPage) {
+    const currentScale = this._currentScale;
+    const currentScaleValue = this._currentScaleValue;
+    const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 
10000) / 100 : currentScaleValue;
+    const pageNumber = firstPage.id;
+    let pdfOpenParams = "#page=" + pageNumber;
+    pdfOpenParams += "&zoom=" + normalizedScaleValue;
+    const currentPageView = this._pages[pageNumber - 1];
+    const container = this.container;
+    const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - 
firstPage.y);
+    const intLeft = Math.round(topLeft[0]);
+    const intTop = Math.round(topLeft[1]);
+    pdfOpenParams += "," + intLeft + "," + intTop;
+    this._location = {
+      pageNumber,
+      scale: normalizedScaleValue,
+      top: intTop,
+      left: intLeft,
+      rotation: this._pagesRotation,
+      pdfOpenParams
+    };
+  }
+
+  _updateHelper(visiblePages) {
+    throw new Error("Not implemented: _updateHelper");
+  }
+
+  update() {
+    const visible = this._getVisiblePages();
+
+    const visiblePages = visible.views,
+          numVisiblePages = visiblePages.length;
+
+    if (numVisiblePages === 0) {
+      return;
     }
-  }, {
-    key: "update",
-    value: function update() {
-      var visible = this._getVisiblePages();
 
-      var visiblePages = visible.views,
-          numVisiblePages = visiblePages.length;
+    const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
+
+    this._buffer.resize(newCacheSize, visiblePages);
+
+    this.renderingQueue.renderHighestPriority(visible);
+
+    this._updateHelper(visiblePages);
+
+    this._updateLocation(visible.first);
 
-      if (numVisiblePages === 0) {
-        return;
-      }
+    this.eventBus.dispatch("updateviewarea", {
+      source: this,
+      location: this._location
+    });
+  }
 
-      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
+  containsElement(element) {
+    return this.container.contains(element);
+  }
 
-      this._buffer.resize(newCacheSize, visiblePages);
+  focus() {
+    this.container.focus();
+  }
 
-      this.renderingQueue.renderHighestPriority(visible);
+  get _isScrollModeHorizontal() {
+    return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
+  }
 
-      this._updateHelper(visiblePages);
+  get isInPresentationMode() {
+    return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
+  }
 
-      this._updateLocation(visible.first);
+  get isChangingPresentationMode() {
+    return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
+  }
 
-      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: "_getCurrentVisiblePage",
-    value: function _getCurrentVisiblePage() {
-      if (!this.pagesCount) {
-        return {
-          views: []
-        };
-      }
+  get isHorizontalScrollbarEnabled() {
+    return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
+  }
 
-      var pageView = this._pages[this._currentPageNumber - 1];
-      var element = pageView.div;
-      var view = {
-        id: pageView.id,
-        x: element.offsetLeft + element.clientLeft,
-        y: element.offsetTop + element.clientTop,
-        view: pageView
-      };
+  get isVerticalScrollbarEnabled() {
+    return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
+  }
+
+  _getCurrentVisiblePage() {
+    if (!this.pagesCount) {
       return {
-        first: view,
-        last: view,
-        views: [view]
+        views: []
       };
     }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, 
this._isScrollModeHorizontal);
-    }
-  }, {
-    key: "isPageVisible",
-    value: function isPageVisible(pageNumber) {
-      if (!this.pdfDocument) {
-        return false;
-      }
 
-      if (this.pageNumber < 1 || pageNumber > this.pagesCount) {
-        console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is out of 
bounds."));
-        return false;
-      }
+    const pageView = this._pages[this._currentPageNumber - 1];
+    const element = pageView.div;
+    const view = {
+      id: pageView.id,
+      x: element.offsetLeft + element.clientLeft,
+      y: element.offsetTop + element.clientTop,
+      view: pageView
+    };
+    return {
+      first: view,
+      last: view,
+      views: [view]
+    };
+  }
 
-      return this._getVisiblePages().views.some(function (view) {
-        return view.id === pageNumber;
-      });
+  _getVisiblePages() {
+    return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, 
this._isScrollModeHorizontal);
+  }
+
+  isPageVisible(pageNumber) {
+    if (!this.pdfDocument) {
+      return false;
     }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        if (this._pages[i] && this._pages[i].renderingState !== 
_pdf_rendering_queue.RenderingStates.FINISHED) {
-          this._pages[i].reset();
-        }
-      }
+
+    if (pageNumber < 1 || pageNumber > this.pagesCount) {
+      console.error(`${this._name}.isPageVisible: "${pageNumber}" is out of bounds.`);
+      return false;
     }
-  }, {
-    key: "_cancelRendering",
-    value: function _cancelRendering() {
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        if (this._pages[i]) {
-          this._pages[i].cancelRendering();
-        }
+
+    return this._getVisiblePages().views.some(function (view) {
+      return view.id === pageNumber;
+    });
+  }
+
+  cleanup() {
+    for (let i = 0, ii = this._pages.length; i < ii; i++) {
+      if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) 
{
+        this._pages[i].reset();
       }
     }
-  }, {
-    key: "_ensurePdfPageLoaded",
-    value: function _ensurePdfPageLoaded(pageView) {
-      var _this3 = this;
+  }
 
-      if (pageView.pdfPage) {
-        return Promise.resolve(pageView.pdfPage);
+  _cancelRendering() {
+    for (let i = 0, ii = this._pages.length; i < ii; i++) {
+      if (this._pages[i]) {
+        this._pages[i].cancelRendering();
       }
+    }
+  }
+
+  _ensurePdfPageLoaded(pageView) {
+    if (pageView.pdfPage) {
+      return Promise.resolve(pageView.pdfPage);
+    }
 
-      var pageNumber = pageView.id;
+    if (this._pagesRequests.has(pageView)) {
+      return this._pagesRequests.get(pageView);
+    }
 
-      if (this._pagesRequests[pageNumber]) {
-        return this._pagesRequests[pageNumber];
+    const promise = this.pdfDocument.getPage(pageView.id).then(pdfPage => {
+      if (!pageView.pdfPage) {
+        pageView.setPdfPage(pdfPage);
       }
 
-      var promise = this.pdfDocument.getPage(pageNumber).then(function (pdfPage) {
-        if (!pageView.pdfPage) {
-          pageView.setPdfPage(pdfPage);
-        }
+      this._pagesRequests.delete(pageView);
 
-        _this3._pagesRequests[pageNumber] = null;
-        return pdfPage;
-      })["catch"](function (reason) {
-        console.error('Unable to get page for page view', reason);
-        _this3._pagesRequests[pageNumber] = null;
-      });
-      this._pagesRequests[pageNumber] = promise;
-      return promise;
-    }
-  }, {
-    key: "forceRendering",
-    value: function forceRendering(currentlyVisiblePages) {
-      var _this4 = this;
+      return pdfPage;
+    }).catch(reason => {
+      console.error("Unable to get page for page view", reason);
 
-      var visiblePages = currentlyVisiblePages || this._getVisiblePages();
+      this._pagesRequests.delete(pageView);
+    });
 
-      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
-      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);
+    this._pagesRequests.set(pageView, promise);
 
-      if (pageView) {
-        this._ensurePdfPageLoaded(pageView).then(function () {
-          _this4.renderingQueue.renderView(pageView);
-        });
+    return promise;
+  }
 
-        return true;
-      }
+  forceRendering(currentlyVisiblePages) {
+    const visiblePages = currentlyVisiblePages || this._getVisiblePages();
 
-      return false;
-    }
-  }, {
-    key: "createTextLayerBuilder",
-    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
-      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      return new _text_layer_builder.TextLayerBuilder({
-        textLayerDiv: textLayerDiv,
-        eventBus: this.eventBus,
-        pageIndex: pageIndex,
-        viewport: viewport,
-        findController: this.isInPresentationMode ? null : this.findController,
-        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
-      });
-    }
-  }, {
-    key: "createAnnotationLayerBuilder",
-    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
-      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
-      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
-      return new _annotation_layer_builder.AnnotationLayerBuilder({
-        pageDiv: pageDiv,
-        pdfPage: pdfPage,
-        imageResourcesPath: imageResourcesPath,
-        renderInteractiveForms: renderInteractiveForms,
-        linkService: this.linkService,
-        downloadManager: this.downloadManager,
-        l10n: l10n
-      });
-    }
-  }, {
-    key: "getPagesOverview",
-    value: function getPagesOverview() {
-      var pagesOverview = this._pages.map(function (pageView) {
-        var viewport = pageView.pdfPage.getViewport({
-          scale: 1
-        });
-        return {
-          width: viewport.width,
-          height: viewport.height,
-          rotation: viewport.rotation
-        };
+    const scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
+    const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);
+
+    if (pageView) {
+      this._ensurePdfPageLoaded(pageView).then(() => {
+        this.renderingQueue.renderView(pageView);
       });
 
-      if (!this.enablePrintAutoRotate) {
-        return pagesOverview;
-      }
+      return true;
+    }
 
-      var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);
-      return pagesOverview.map(function (size) {
-        if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {
-          return size;
-        }
+    return false;
+  }
 
-        return {
-          width: size.height,
-          height: size.width,
-          rotation: (size.rotation + 90) % 360
-        };
-      });
-    }
-  }, {
-    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);
+  createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus) {
+    return new _text_layer_builder.TextLayerBuilder({
+      textLayerDiv,
+      eventBus,
+      pageIndex,
+      viewport,
+      findController: this.isInPresentationMode ? null : this.findController,
+      enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
+    });
+  }
 
-      if (!this.pdfDocument || !pageNumber) {
-        return;
-      }
+  createAnnotationLayerBuilder(pageDiv, pdfPage, imageResourcesPath = "", renderInteractiveForms = false, 
l10n = _ui_utils.NullL10n) {
+    return new _annotation_layer_builder.AnnotationLayerBuilder({
+      pageDiv,
+      pdfPage,
+      imageResourcesPath,
+      renderInteractiveForms,
+      linkService: this.linkService,
+      downloadManager: this.downloadManager,
+      l10n
+    });
+  }
 
-      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
-        this._setScale(this._currentScaleValue, true);
-      }
+  get hasEqualPageSizes() {
+    const firstPageView = this._pages[0];
 
-      this._setCurrentPageNumber(pageNumber, true);
+    for (let i = 1, ii = this._pages.length; i < ii; ++i) {
+      const pageView = this._pages[i];
 
-      this.update();
+      if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
+        return false;
+      }
     }
-  }, {
-    key: "_updateSpreadMode",
-    value: function _updateSpreadMode() {
-      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
 
-      if (!this.pdfDocument) {
-        return;
-      }
+    return true;
+  }
 
-      var viewer = this.viewer,
-          pages = this._pages;
-      viewer.textContent = '';
+  getPagesOverview() {
+    const pagesOverview = this._pages.map(function (pageView) {
+      const viewport = pageView.pdfPage.getViewport({
+        scale: 1
+      });
+      return {
+        width: viewport.width,
+        height: viewport.height,
+        rotation: viewport.rotation
+      };
+    });
 
-      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
-        for (var i = 0, iMax = pages.length; i < iMax; ++i) {
-          viewer.appendChild(pages[i].div);
-        }
-      } else {
-        var parity = this._spreadMode - 1;
-        var spread = null;
-
-        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_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);
-          }
+    if (!this.enablePrintAutoRotate) {
+      return pagesOverview;
+    }
 
-          spread.appendChild(pages[_i].div);
-        }
+    const isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);
+    return pagesOverview.map(function (size) {
+      if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {
+        return size;
       }
 
-      if (!pageNumber) {
-        return;
-      }
+      return {
+        width: size.height,
+        height: size.width,
+        rotation: (size.rotation + 90) % 360
+      };
+    });
+  }
 
-      this._setCurrentPageNumber(pageNumber, true);
+  get scrollMode() {
+    return this._scrollMode;
+  }
 
-      this.update();
-    }
-  }, {
-    key: "pagesCount",
-    get: function get() {
-      return this._pages.length;
-    }
-  }, {
-    key: "pageViewsReady",
-    get: function get() {
-      return this._pageViewsReady;
+  set scrollMode(mode) {
+    if (this._scrollMode === mode) {
+      return;
     }
-  }, {
-    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("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid 
page."));
-      }
+    if (!(0, _ui_utils.isValidScrollMode)(mode)) {
+      throw new Error(`Invalid scroll mode: ${mode}`);
     }
-  }, {
-    key: "currentPageLabel",
-    get: function get() {
-      return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
-    },
-    set: function set(val) {
-      if (!this.pdfDocument) {
-        return;
-      }
 
-      var page = val | 0;
+    this._scrollMode = mode;
+    this.eventBus.dispatch("scrollmodechanged", {
+      source: this,
+      mode
+    });
 
-      if (this._pageLabels) {
-        var i = this._pageLabels.indexOf(val);
+    this._updateScrollMode(this._currentPageNumber);
+  }
 
-        if (i >= 0) {
-          page = i + 1;
-        }
-      }
+  _updateScrollMode(pageNumber = null) {
+    const 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._setCurrentPageNumber(page, true)) {
-        console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
-      }
+    if (!this.pdfDocument || !pageNumber) {
+      return;
     }
-  }, {
-    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);
+    if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
+      this._setScale(this._currentScaleValue, true);
     }
-  }, {
-    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.');
-      }
+    this._setCurrentPageNumber(pageNumber, true);
 
-      if (!this.pdfDocument) {
-        return;
-      }
+    this.update();
+  }
 
-      if (this._pagesRotation === rotation) {
-        return;
-      }
+  get spreadMode() {
+    return this._spreadMode;
+  }
 
-      this._pagesRotation = rotation;
-      var pageNumber = this._currentPageNumber;
+  set spreadMode(mode) {
+    if (this._spreadMode === mode) {
+      return;
+    }
 
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        var pageView = this._pages[i];
-        pageView.update(pageView.scale, rotation);
-      }
+    if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
+      throw new Error(`Invalid spread mode: ${mode}`);
+    }
 
-      if (this._currentScaleValue) {
-        this._setScale(this._currentScaleValue, true);
-      }
+    this._spreadMode = mode;
+    this.eventBus.dispatch("spreadmodechanged", {
+      source: this,
+      mode
+    });
 
-      this.eventBus.dispatch('rotationchanging', {
-        source: this,
-        pagesRotation: rotation,
-        pageNumber: pageNumber
-      });
+    this._updateSpreadMode(this._currentPageNumber);
+  }
 
-      if (this.defaultRenderingQueue) {
-        this.update();
-      }
-    }
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      throw new Error('Not implemented: _setDocumentViewerElement');
-    }
-  }, {
-    key: "_isScrollModeHorizontal",
-    get: function get() {
-      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
-    }
-  }, {
-    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;
+  _updateSpreadMode(pageNumber = null) {
+    if (!this.pdfDocument) {
+      return;
     }
-  }, {
-    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];
+    const viewer = this.viewer,
+          pages = this._pages;
+    viewer.textContent = "";
 
-        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
-          return false;
-        }
+    if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
+      for (let i = 0, iMax = pages.length; i < iMax; ++i) {
+        viewer.appendChild(pages[i].div);
       }
+    } else {
+      const parity = this._spreadMode - 1;
+      let spread = null;
 
-      return true;
-    }
-  }, {
-    key: "scrollMode",
-    get: function get() {
-      return this._scrollMode;
-    },
-    set: function set(mode) {
-      if (this._scrollMode === mode) {
-        return;
-      }
+      for (let i = 0, iMax = pages.length; i < iMax; ++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);
+        }
 
-      if (!(0, _ui_utils.isValidScrollMode)(mode)) {
-        throw new Error("Invalid scroll mode: ".concat(mode));
+        spread.appendChild(pages[i].div);
       }
-
-      this._scrollMode = mode;
-      this.eventBus.dispatch('scrollmodechanged', {
-        source: this,
-        mode: mode
-      });
-
-      this._updateScrollMode(this._currentPageNumber);
     }
-  }, {
-    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));
-      }
+    if (!pageNumber) {
+      return;
+    }
 
-      this._spreadMode = mode;
-      this.eventBus.dispatch('spreadmodechanged', {
-        source: this,
-        mode: mode
-      });
+    this._setCurrentPageNumber(pageNumber, true);
 
-      this._updateSpreadMode(this._currentPageNumber);
-    }
-  }]);
+    this.update();
+  }
 
-  return BaseViewer;
-}();
+}
 
 exports.BaseViewer = BaseViewer;
 
 /***/ }),
-/* 29 */
+/* 26 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -11521,35 +9860,22 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_link_service = __webpack_require__(21);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _pdfjsLib = __webpack_require__(4);
 
-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); } }
+var _ui_utils = __webpack_require__(2);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var AnnotationLayerBuilder =
-/*#__PURE__*/
-function () {
-  function AnnotationLayerBuilder(_ref) {
-    var pageDiv = _ref.pageDiv,
-        pdfPage = _ref.pdfPage,
-        linkService = _ref.linkService,
-        downloadManager = _ref.downloadManager,
-        _ref$imageResourcesPa = _ref.imageResourcesPath,
-        imageResourcesPath = _ref$imageResourcesPa === void 0 ? '' : _ref$imageResourcesPa,
-        _ref$renderInteractiv = _ref.renderInteractiveForms,
-        renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, AnnotationLayerBuilder);
+var _pdf_link_service = __webpack_require__(18);
 
+class AnnotationLayerBuilder {
+  constructor({
+    pageDiv,
+    pdfPage,
+    linkService,
+    downloadManager,
+    imageResourcesPath = "",
+    renderInteractiveForms = false,
+    l10n = _ui_utils.NullL10n
+  }) {
     this.pageDiv = pageDiv;
     this.pdfPage = pdfPage;
     this.linkService = linkService;
@@ -11561,104 +9887,80 @@ function () {
     this._cancelled = false;
   }
 
-  _createClass(AnnotationLayerBuilder, [{
-    key: "render",
-    value: function render(viewport) {
-      var _this = this;
+  render(viewport, intent = "display") {
+    this.pdfPage.getAnnotations({
+      intent
+    }).then(annotations => {
+      if (this._cancelled) {
+        return;
+      }
+
+      const parameters = {
+        viewport: viewport.clone({
+          dontFlip: true
+        }),
+        div: this.div,
+        annotations,
+        page: this.pdfPage,
+        imageResourcesPath: this.imageResourcesPath,
+        renderInteractiveForms: this.renderInteractiveForms,
+        linkService: this.linkService,
+        downloadManager: this.downloadManager
+      };
 
-      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display';
-      this.pdfPage.getAnnotations({
-        intent: intent
-      }).then(function (annotations) {
-        if (_this._cancelled) {
+      if (this.div) {
+        _pdfjsLib.AnnotationLayer.update(parameters);
+      } else {
+        if (annotations.length === 0) {
           return;
         }
 
-        var parameters = {
-          viewport: viewport.clone({
-            dontFlip: true
-          }),
-          div: _this.div,
-          annotations: annotations,
-          page: _this.pdfPage,
-          imageResourcesPath: _this.imageResourcesPath,
-          renderInteractiveForms: _this.renderInteractiveForms,
-          linkService: _this.linkService,
-          downloadManager: _this.downloadManager
-        };
-
-        if (_this.div) {
-          _pdfjsLib.AnnotationLayer.update(parameters);
-        } else {
-          if (annotations.length === 0) {
-            return;
-          }
-
-          _this.div = document.createElement('div');
-          _this.div.className = 'annotationLayer';
+        this.div = document.createElement("div");
+        this.div.className = "annotationLayer";
+        this.pageDiv.appendChild(this.div);
+        parameters.div = this.div;
 
-          _this.pageDiv.appendChild(_this.div);
+        _pdfjsLib.AnnotationLayer.render(parameters);
 
-          parameters.div = _this.div;
+        this.l10n.translate(this.div);
+      }
+    });
+  }
 
-          _pdfjsLib.AnnotationLayer.render(parameters);
+  cancel() {
+    this._cancelled = true;
+  }
 
-          _this.l10n.translate(_this.div);
-        }
-      });
-    }
-  }, {
-    key: "cancel",
-    value: function cancel() {
-      this._cancelled = true;
+  hide() {
+    if (!this.div) {
+      return;
     }
-  }, {
-    key: "hide",
-    value: function hide() {
-      if (!this.div) {
-        return;
-      }
 
-      this.div.setAttribute('hidden', 'true');
-    }
-  }]);
+    this.div.setAttribute("hidden", "true");
+  }
 
-  return AnnotationLayerBuilder;
-}();
+}
 
 exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
 
-var DefaultAnnotationLayerFactory =
-/*#__PURE__*/
-function () {
-  function DefaultAnnotationLayerFactory() {
-    _classCallCheck(this, DefaultAnnotationLayerFactory);
-  }
-
-  _createClass(DefaultAnnotationLayerFactory, [{
-    key: "createAnnotationLayerBuilder",
-    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
-      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
-      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
-      return new AnnotationLayerBuilder({
-        pageDiv: pageDiv,
-        pdfPage: pdfPage,
-        imageResourcesPath: imageResourcesPath,
-        renderInteractiveForms: renderInteractiveForms,
-        linkService: new _pdf_link_service.SimpleLinkService(),
-        l10n: l10n
-      });
-    }
-  }]);
+class DefaultAnnotationLayerFactory {
+  createAnnotationLayerBuilder(pageDiv, pdfPage, imageResourcesPath = "", renderInteractiveForms = false, 
l10n = _ui_utils.NullL10n) {
+    return new AnnotationLayerBuilder({
+      pageDiv,
+      pdfPage,
+      imageResourcesPath,
+      renderInteractiveForms,
+      linkService: new _pdf_link_service.SimpleLinkService(),
+      l10n
+    });
+  }
 
-  return DefaultAnnotationLayerFactory;
-}();
+}
 
 exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;
 
 /***/ }),
-/* 30 */
+/* 27 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -11669,40 +9971,22 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFPageView = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-var _viewer_compatibility = __webpack_require__(8);
+var _ui_utils = __webpack_require__(2);
 
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+var _pdfjsLib = __webpack_require__(4);
 
-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); } }
+var _pdf_rendering_queue = __webpack_require__(8);
 
-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 _viewer_compatibility = __webpack_require__(5);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+const MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;
 
-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); return Constructor; }
-
-var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;
-
-var PDFPageView =
-/*#__PURE__*/
-function () {
-  function PDFPageView(options) {
-    _classCallCheck(this, PDFPageView);
-
-    var container = options.container;
-    var defaultViewport = options.defaultViewport;
+class PDFPageView {
+  constructor(options) {
+    const container = options.container;
+    const defaultViewport = options.defaultViewport;
     this.id = options.id;
-    this.renderingId = 'page' + this.id;
+    this.renderingId = "page" + this.id;
     this.pdfPage = null;
     this.pageLabel = null;
     this.rotation = 0;
@@ -11711,7 +9995,7 @@ function () {
     this.pdfPageRotate = defaultViewport.rotation;
     this.hasRestrictedScaling = false;
     this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : 
_ui_utils.TextLayerMode.ENABLE;
-    this.imageResourcesPath = options.imageResourcesPath || '';
+    this.imageResourcesPath = options.imageResourcesPath || "";
     this.renderInteractiveForms = options.renderInteractiveForms || false;
     this.useOnlyCssZoom = options.useOnlyCssZoom || false;
     this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
@@ -11730,128 +10014,140 @@ function () {
     this.annotationLayer = null;
     this.textLayer = null;
     this.zoomLayer = 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);
+    const 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);
     this.div = div;
     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 * _ui_utils.CSS_UNITS,
-        rotation: totalRotation
-      });
-      this.stats = pdfPage.stats;
-      this.reset();
+  setPdfPage(pdfPage) {
+    this.pdfPage = pdfPage;
+    this.pdfPageRotate = pdfPage.rotate;
+    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
+    this.viewport = pdfPage.getViewport({
+      scale: this.scale * _ui_utils.CSS_UNITS,
+      rotation: totalRotation
+    });
+    this.stats = pdfPage.stats;
+    this.reset();
+  }
+
+  destroy() {
+    this.reset();
+
+    if (this.pdfPage) {
+      this.pdfPage.cleanup();
+    }
+  }
+
+  _resetZoomLayer(removeFromDOM = false) {
+    if (!this.zoomLayer) {
+      return;
     }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      this.reset();
 
-      if (this.pdfPage) {
-        this.pdfPage.cleanup();
-      }
+    const zoomLayerCanvas = this.zoomLayer.firstChild;
+    this.paintedViewportMap.delete(zoomLayerCanvas);
+    zoomLayerCanvas.width = 0;
+    zoomLayerCanvas.height = 0;
+
+    if (removeFromDOM) {
+      this.zoomLayer.remove();
     }
-  }, {
-    key: "_resetZoomLayer",
-    value: function _resetZoomLayer() {
-      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 
-      if (!this.zoomLayer) {
-        return;
-      }
+    this.zoomLayer = null;
+  }
+
+  reset(keepZoomLayer = false, keepAnnotations = false) {
+    this.cancelRendering(keepAnnotations);
+    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
+    const div = this.div;
+    div.style.width = Math.floor(this.viewport.width) + "px";
+    div.style.height = Math.floor(this.viewport.height) + "px";
+    const childNodes = div.childNodes;
+    const currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;
+    const currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || 
null;
 
-      var zoomLayerCanvas = this.zoomLayer.firstChild;
-      this.paintedViewportMap["delete"](zoomLayerCanvas);
-      zoomLayerCanvas.width = 0;
-      zoomLayerCanvas.height = 0;
+    for (let i = childNodes.length - 1; i >= 0; i--) {
+      const node = childNodes[i];
 
-      if (removeFromDOM) {
-        this.zoomLayer.remove();
+      if (currentZoomLayerNode === node || currentAnnotationNode === node) {
+        continue;
       }
 
-      this.zoomLayer = null;
+      div.removeChild(node);
     }
-  }, {
-    key: "reset",
-    value: function reset() {
-      var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      this.cancelRendering(keepAnnotations);
-      this.renderingState = _pdf_rendering_queue.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;
-      var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;
-      var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || 
null;
 
-      for (var i = childNodes.length - 1; i >= 0; i--) {
-        var node = childNodes[i];
+    div.removeAttribute("data-loaded");
 
-        if (currentZoomLayerNode === node || currentAnnotationNode === node) {
-          continue;
-        }
+    if (currentAnnotationNode) {
+      this.annotationLayer.hide();
+    } else if (this.annotationLayer) {
+      this.annotationLayer.cancel();
+      this.annotationLayer = null;
+    }
 
-        div.removeChild(node);
+    if (!currentZoomLayerNode) {
+      if (this.canvas) {
+        this.paintedViewportMap.delete(this.canvas);
+        this.canvas.width = 0;
+        this.canvas.height = 0;
+        delete this.canvas;
       }
 
-      div.removeAttribute('data-loaded');
-
-      if (currentAnnotationNode) {
-        this.annotationLayer.hide();
-      } else if (this.annotationLayer) {
-        this.annotationLayer.cancel();
-        this.annotationLayer = null;
-      }
+      this._resetZoomLayer();
+    }
 
-      if (!currentZoomLayerNode) {
-        if (this.canvas) {
-          this.paintedViewportMap["delete"](this.canvas);
-          this.canvas.width = 0;
-          this.canvas.height = 0;
-          delete this.canvas;
-        }
+    if (this.svg) {
+      this.paintedViewportMap.delete(this.svg);
+      delete this.svg;
+    }
 
-        this._resetZoomLayer();
-      }
+    this.loadingIconDiv = document.createElement("div");
+    this.loadingIconDiv.className = "loadingIcon";
+    div.appendChild(this.loadingIconDiv);
+  }
 
-      if (this.svg) {
-        this.paintedViewportMap["delete"](this.svg);
-        delete this.svg;
-      }
+  update(scale, rotation) {
+    this.scale = scale || this.scale;
 
-      this.loadingIconDiv = document.createElement('div');
-      this.loadingIconDiv.className = 'loadingIcon';
-      div.appendChild(this.loadingIconDiv);
+    if (typeof rotation !== "undefined") {
+      this.rotation = rotation;
     }
-  }, {
-    key: "update",
-    value: function update(scale, rotation) {
-      this.scale = scale || this.scale;
 
-      if (typeof rotation !== 'undefined') {
-        this.rotation = rotation;
-      }
+    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;
+    this.viewport = this.viewport.clone({
+      scale: this.scale * _ui_utils.CSS_UNITS,
+      rotation: totalRotation
+    });
 
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = this.viewport.clone({
-        scale: this.scale * _ui_utils.CSS_UNITS,
-        rotation: totalRotation
+    if (this.svg) {
+      this.cssTransform(this.svg, true);
+      this.eventBus.dispatch("pagerendered", {
+        source: this,
+        pageNumber: this.id,
+        cssTransform: true,
+        timestamp: performance.now()
       });
+      return;
+    }
+
+    let isScalingRestricted = false;
 
-      if (this.svg) {
-        this.cssTransform(this.svg, true);
-        this.eventBus.dispatch('pagerendered', {
+    if (this.canvas && this.maxCanvasPixels > 0) {
+      const 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(this.canvas, true);
+        this.eventBus.dispatch("pagerendered", {
           source: this,
           pageNumber: this.id,
           cssTransform: true,
@@ -11860,461 +10156,409 @@ function () {
         return;
       }
 
-      var isScalingRestricted = false;
+      if (!this.zoomLayer && !this.canvas.hasAttribute("hidden")) {
+        this.zoomLayer = this.canvas.parentNode;
+        this.zoomLayer.style.position = "absolute";
+      }
+    }
 
-      if (this.canvas && this.maxCanvasPixels > 0) {
-        var outputScale = this.outputScale;
+    if (this.zoomLayer) {
+      this.cssTransform(this.zoomLayer.firstChild);
+    }
 
-        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * 
outputScale.sy | 0) > this.maxCanvasPixels) {
-          isScalingRestricted = true;
-        }
-      }
+    this.reset(true, true);
+  }
 
-      if (this.canvas) {
-        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
-          this.cssTransform(this.canvas, true);
-          this.eventBus.dispatch('pagerendered', {
-            source: this,
-            pageNumber: this.id,
-            cssTransform: true,
-            timestamp: performance.now()
-          });
-          return;
-        }
+  cancelRendering(keepAnnotations = false) {
+    if (this.paintTask) {
+      this.paintTask.cancel();
+      this.paintTask = null;
+    }
 
-        if (!this.zoomLayer && !this.canvas.hasAttribute('hidden')) {
-          this.zoomLayer = this.canvas.parentNode;
-          this.zoomLayer.style.position = 'absolute';
-        }
-      }
+    this.resume = null;
 
-      if (this.zoomLayer) {
-        this.cssTransform(this.zoomLayer.firstChild);
-      }
+    if (this.textLayer) {
+      this.textLayer.cancel();
+      this.textLayer = null;
+    }
 
-      this.reset(true, true);
+    if (!keepAnnotations && this.annotationLayer) {
+      this.annotationLayer.cancel();
+      this.annotationLayer = null;
     }
-  }, {
-    key: "cancelRendering",
-    value: function cancelRendering() {
-      var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  }
 
-      if (this.paintTask) {
-        this.paintTask.cancel();
-        this.paintTask = null;
-      }
+  cssTransform(target, redrawAnnotations = false) {
+    const width = this.viewport.width;
+    const height = this.viewport.height;
+    const 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";
+    const relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
+    const absRotation = Math.abs(relativeRotation);
+    let scaleX = 1,
+        scaleY = 1;
+
+    if (absRotation === 90 || absRotation === 270) {
+      scaleX = height / width;
+      scaleY = width / height;
+    }
 
-      this.resume = null;
+    const cssTransform = "rotate(" + relativeRotation + "deg) " + "scale(" + scaleX + "," + scaleY + ")";
+    target.style.transform = cssTransform;
 
-      if (this.textLayer) {
-        this.textLayer.cancel();
-        this.textLayer = null;
-      }
+    if (this.textLayer) {
+      const textLayerViewport = this.textLayer.viewport;
+      const textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
+      const textAbsRotation = Math.abs(textRelativeRotation);
+      let scale = width / textLayerViewport.width;
 
-      if (!keepAnnotations && this.annotationLayer) {
-        this.annotationLayer.cancel();
-        this.annotationLayer = null;
+      if (textAbsRotation === 90 || textAbsRotation === 270) {
+        scale = width / textLayerViewport.height;
       }
-    }
-  }, {
-    key: "cssTransform",
-    value: function cssTransform(target) {
-      var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      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;
-      }
+      const textLayerDiv = this.textLayer.textLayerDiv;
+      let transX, transY;
 
-      var cssTransform = 'rotate(' + relativeRotation + 'deg) ' + 'scale(' + scaleX + ',' + scaleY + ')';
-      target.style.transform = cssTransform;
+      switch (textAbsRotation) {
+        case 0:
+          transX = transY = 0;
+          break;
 
-      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;
+        case 90:
+          transX = 0;
+          transY = "-" + textLayerDiv.style.height;
+          break;
 
-        if (textAbsRotation === 90 || textAbsRotation === 270) {
-          scale = width / textLayerViewport.height;
-        }
+        case 180:
+          transX = "-" + textLayerDiv.style.width;
+          transY = "-" + textLayerDiv.style.height;
+          break;
 
-        var textLayerDiv = this.textLayer.textLayerDiv;
-        var transX, transY;
+        case 270:
+          transX = "-" + textLayerDiv.style.width;
+          transY = 0;
+          break;
 
-        switch (textAbsRotation) {
-          case 0:
-            transX = transY = 0;
-            break;
+        default:
+          console.error("Bad rotation value.");
+          break;
+      }
 
-          case 90:
-            transX = 0;
-            transY = '-' + textLayerDiv.style.height;
-            break;
+      textLayerDiv.style.transform = "rotate(" + textAbsRotation + "deg) " + "scale(" + scale + ", " + scale 
+ ") " + "translate(" + transX + ", " + transY + ")";
+      textLayerDiv.style.transformOrigin = "0% 0%";
+    }
 
-          case 180:
-            transX = '-' + textLayerDiv.style.width;
-            transY = '-' + textLayerDiv.style.height;
-            break;
+    if (redrawAnnotations && this.annotationLayer) {
+      this.annotationLayer.render(this.viewport, "display");
+    }
+  }
 
-          case 270:
-            transX = '-' + textLayerDiv.style.width;
-            transY = 0;
-            break;
+  get width() {
+    return this.viewport.width;
+  }
 
-          default:
-            console.error('Bad rotation value.');
-            break;
-        }
+  get height() {
+    return this.viewport.height;
+  }
 
-        textLayerDiv.style.transform = 'rotate(' + textAbsRotation + 'deg) ' + 'scale(' + scale + ', ' + 
scale + ') ' + 'translate(' + transX + ', ' + transY + ')';
-        textLayerDiv.style.transformOrigin = '0% 0%';
-      }
+  getPagePoint(x, y) {
+    return this.viewport.convertToPdfPoint(x, y);
+  }
 
-      if (redrawAnnotations && this.annotationLayer) {
-        this.annotationLayer.render(this.viewport, 'display');
-      }
-    }
-  }, {
-    key: "getPagePoint",
-    value: function getPagePoint(x, y) {
-      return this.viewport.convertToPdfPoint(x, y);
+  draw() {
+    if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
+      console.error("Must be in new state before drawing");
+      this.reset();
     }
-  }, {
-    key: "draw",
-    value: function draw() {
-      var _this = this;
 
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        console.error('Must be in new state before drawing');
-        this.reset();
-      }
+    const {
+      div,
+      pdfPage
+    } = this;
 
-      if (!this.pdfPage) {
-        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-        return Promise.reject(new Error('Page is not loaded'));
+    if (!pdfPage) {
+      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+
+      if (this.loadingIconDiv) {
+        div.removeChild(this.loadingIconDiv);
+        delete this.loadingIconDiv;
       }
 
-      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-      var pdfPage = this.pdfPage;
-      var div = this.div;
-      var canvasWrapper = document.createElement('div');
-      canvasWrapper.style.width = div.style.width;
-      canvasWrapper.style.height = div.style.height;
-      canvasWrapper.classList.add('canvasWrapper');
+      return Promise.reject(new Error("pdfPage is not loaded"));
+    }
+
+    this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
+    const canvasWrapper = document.createElement("div");
+    canvasWrapper.style.width = div.style.width;
+    canvasWrapper.style.height = div.style.height;
+    canvasWrapper.classList.add("canvasWrapper");
+
+    if (this.annotationLayer && this.annotationLayer.div) {
+      div.insertBefore(canvasWrapper, this.annotationLayer.div);
+    } else {
+      div.appendChild(canvasWrapper);
+    }
+
+    let textLayer = null;
+
+    if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
+      const textLayerDiv = document.createElement("div");
+      textLayerDiv.className = "textLayer";
+      textLayerDiv.style.width = canvasWrapper.style.width;
+      textLayerDiv.style.height = canvasWrapper.style.height;
 
       if (this.annotationLayer && this.annotationLayer.div) {
-        div.insertBefore(canvasWrapper, this.annotationLayer.div);
+        div.insertBefore(textLayerDiv, this.annotationLayer.div);
       } else {
-        div.appendChild(canvasWrapper);
+        div.appendChild(textLayerDiv);
       }
 
-      var textLayer = null;
+      textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, 
this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);
+    }
 
-      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
-        var textLayerDiv = document.createElement('div');
-        textLayerDiv.className = 'textLayer';
-        textLayerDiv.style.width = canvasWrapper.style.width;
-        textLayerDiv.style.height = canvasWrapper.style.height;
+    this.textLayer = textLayer;
+    let renderContinueCallback = null;
 
-        if (this.annotationLayer && this.annotationLayer.div) {
-          div.insertBefore(textLayerDiv, this.annotationLayer.div);
-        } else {
-          div.appendChild(textLayerDiv);
-        }
+    if (this.renderingQueue) {
+      renderContinueCallback = cont => {
+        if (!this.renderingQueue.isHighestPriority(this)) {
+          this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
 
-        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, 
this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE);
-      }
+          this.resume = () => {
+            this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
+            cont();
+          };
+
+          return;
+        }
 
-      this.textLayer = textLayer;
-      var renderContinueCallback = null;
+        cont();
+      };
+    }
 
-      if (this.renderingQueue) {
-        renderContinueCallback = function renderContinueCallback(cont) {
-          if (!_this.renderingQueue.isHighestPriority(_this)) {
-            _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
+    const finishPaintTask = async error => {
+      if (paintTask === this.paintTask) {
+        this.paintTask = null;
+      }
 
-            _this.resume = function () {
-              _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-              cont();
-            };
+      if (error instanceof _pdfjsLib.RenderingCancelledException) {
+        this.error = null;
+        return;
+      }
 
-            return;
-          }
+      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
 
-          cont();
-        };
+      if (this.loadingIconDiv) {
+        div.removeChild(this.loadingIconDiv);
+        delete this.loadingIconDiv;
       }
 
-      var finishPaintTask =
-      /*#__PURE__*/
-      function () {
-        var _ref = _asyncToGenerator(
-        /*#__PURE__*/
-        _regenerator["default"].mark(function _callee(error) {
-          return _regenerator["default"].wrap(function _callee$(_context) {
-            while (1) {
-              switch (_context.prev = _context.next) {
-                case 0:
-                  if (paintTask === _this.paintTask) {
-                    _this.paintTask = null;
-                  }
-
-                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
-                    _context.next = 4;
-                    break;
-                  }
-
-                  _this.error = null;
-                  return _context.abrupt("return");
-
-                case 4:
-                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-
-                  if (_this.loadingIconDiv) {
-                    div.removeChild(_this.loadingIconDiv);
-                    delete _this.loadingIconDiv;
-                  }
-
-                  _this._resetZoomLayer(true);
-
-                  _this.error = error;
-                  _this.stats = pdfPage.stats;
-
-                  _this.eventBus.dispatch('pagerendered', {
-                    source: _this,
-                    pageNumber: _this.id,
-                    cssTransform: false,
-                    timestamp: performance.now()
-                  });
-
-                  if (!error) {
-                    _context.next = 12;
-                    break;
-                  }
-
-                  throw error;
-
-                case 12:
-                case "end":
-                  return _context.stop();
-              }
-            }
-          }, _callee);
-        }));
+      this._resetZoomLayer(true);
 
-        return function finishPaintTask(_x) {
-          return _ref.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({
-              normalizeWhitespace: true
-            });
-            textLayer.setTextContentStream(readableStream);
-            textLayer.render();
-          }
-        });
-      }, function (reason) {
-        return finishPaintTask(reason);
+      this.error = error;
+      this.stats = pdfPage.stats;
+      this.eventBus.dispatch("pagerendered", {
+        source: this,
+        pageNumber: this.id,
+        cssTransform: false,
+        timestamp: performance.now()
       });
 
-      if (this.annotationLayerFactory) {
-        if (!this.annotationLayer) {
-          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, 
this.imageResourcesPath, this.renderInteractiveForms, this.l10n);
-        }
-
-        this.annotationLayer.render(this.viewport, 'display');
+      if (error) {
+        throw error;
       }
+    };
 
-      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.id = this.renderingId;
-      canvas.setAttribute('hidden', 'hidden');
-      var isCanvasHidden = true;
-
-      var showCanvas = function showCanvas() {
-        if (isCanvasHidden) {
-          canvas.removeAttribute('hidden');
-          isCanvasHidden = false;
+    const paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : 
this.paintOnCanvas(canvasWrapper);
+    paintTask.onRenderContinue = renderContinueCallback;
+    this.paintTask = paintTask;
+    const resultPromise = paintTask.promise.then(function () {
+      return finishPaintTask(null).then(function () {
+        if (textLayer) {
+          const readableStream = pdfPage.streamTextContent({
+            normalizeWhitespace: true
+          });
+          textLayer.setTextContentStream(readableStream);
+          textLayer.render();
         }
-      };
-
-      canvasWrapper.appendChild(canvas);
-      this.canvas = canvas;
-      canvas.mozOpaque = true;
-      var ctx = canvas.getContext('2d', {
-        alpha: false
       });
-      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
-      this.outputScale = outputScale;
+    }, function (reason) {
+      return finishPaintTask(reason);
+    });
 
-      if (this.useOnlyCssZoom) {
-        var actualSizeViewport = viewport.clone({
-          scale: _ui_utils.CSS_UNITS
-        });
-        outputScale.sx *= actualSizeViewport.width / viewport.width;
-        outputScale.sy *= actualSizeViewport.height / viewport.height;
-        outputScale.scaled = true;
+    if (this.annotationLayerFactory) {
+      if (!this.annotationLayer) {
+        this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, 
this.imageResourcesPath, this.renderInteractiveForms, this.l10n);
       }
 
-      if (this.maxCanvasPixels > 0) {
-        var pixelsInViewport = viewport.width * viewport.height;
-        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
+      this.annotationLayer.render(this.viewport, "display");
+    }
 
-        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
-          outputScale.sx = maxScale;
-          outputScale.sy = maxScale;
-          outputScale.scaled = true;
-          this.hasRestrictedScaling = true;
-        } else {
-          this.hasRestrictedScaling = false;
-        }
-      }
+    div.setAttribute("data-loaded", true);
+    this.eventBus.dispatch("pagerender", {
+      source: this,
+      pageNumber: this.id
+    });
+    return resultPromise;
+  }
 
-      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 ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
-      var renderContext = {
-        canvasContext: ctx,
-        transform: transform,
-        viewport: this.viewport,
-        enableWebGL: this.enableWebGL,
-        renderInteractiveForms: this.renderInteractiveForms
-      };
-      var renderTask = this.pdfPage.render(renderContext);
+  paintOnCanvas(canvasWrapper) {
+    const renderCapability = (0, _pdfjsLib.createPromiseCapability)();
+    const result = {
+      promise: renderCapability.promise,
 
-      renderTask.onContinue = function (cont) {
-        showCanvas();
+      onRenderContinue(cont) {
+        cont();
+      },
 
-        if (result.onRenderContinue) {
-          result.onRenderContinue(cont);
-        } else {
-          cont();
-        }
-      };
+      cancel() {
+        renderTask.cancel();
+      }
 
-      renderTask.promise.then(function () {
-        showCanvas();
-        renderCapability.resolve(undefined);
-      }, function (error) {
-        showCanvas();
-        renderCapability.reject(error);
-      });
-      return result;
-    }
-  }, {
-    key: "paintOnSvg",
-    value: function paintOnSvg(wrapper) {
-      var _this2 = this;
+    };
+    const viewport = this.viewport;
+    const canvas = document.createElement("canvas");
+    this.l10n.get("page_canvas", {
+      page: this.id
+    }, "Page {{page}}").then(msg => {
+      canvas.setAttribute("aria-label", msg);
+    });
+    canvas.setAttribute("hidden", "hidden");
+    let isCanvasHidden = true;
 
-      var cancelled = false;
+    const showCanvas = function () {
+      if (isCanvasHidden) {
+        canvas.removeAttribute("hidden");
+        isCanvasHidden = false;
+      }
+    };
 
-      var ensureNotCancelled = function ensureNotCancelled() {
-        if (cancelled) {
-          throw new _pdfjsLib.RenderingCancelledException('Rendering cancelled, page ' + _this2.id, 'svg');
-        }
-      };
+    canvasWrapper.appendChild(canvas);
+    this.canvas = canvas;
+    canvas.mozOpaque = true;
+    const ctx = canvas.getContext("2d", {
+      alpha: false
+    });
+    const outputScale = (0, _ui_utils.getOutputScale)(ctx);
+    this.outputScale = outputScale;
 
-      var pdfPage = this.pdfPage;
-      var actualSizeViewport = this.viewport.clone({
+    if (this.useOnlyCssZoom) {
+      const actualSizeViewport = viewport.clone({
         scale: _ui_utils.CSS_UNITS
       });
-      var promise = pdfPage.getOperatorList().then(function (opList) {
-        ensureNotCancelled();
-        var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
-        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
-          ensureNotCancelled();
-          _this2.svg = svg;
+      outputScale.sx *= actualSizeViewport.width / viewport.width;
+      outputScale.sy *= actualSizeViewport.height / viewport.height;
+      outputScale.scaled = true;
+    }
 
-          _this2.paintedViewportMap.set(svg, actualSizeViewport);
+    if (this.maxCanvasPixels > 0) {
+      const pixelsInViewport = viewport.width * viewport.height;
+      const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
 
-          svg.style.width = wrapper.style.width;
-          svg.style.height = wrapper.style.height;
-          _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-          wrapper.appendChild(svg);
-        });
-      });
-      return {
-        promise: promise,
-        onRenderContinue: function onRenderContinue(cont) {
-          cont();
-        },
-        cancel: function cancel() {
-          cancelled = true;
-        }
-      };
+      if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
+        outputScale.sx = maxScale;
+        outputScale.sy = maxScale;
+        outputScale.scaled = true;
+        this.hasRestrictedScaling = true;
+      } else {
+        this.hasRestrictedScaling = false;
+      }
     }
-  }, {
-    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);
+    const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
+    const 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);
+    const transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
+    const renderContext = {
+      canvasContext: ctx,
+      transform,
+      viewport: this.viewport,
+      enableWebGL: this.enableWebGL,
+      renderInteractiveForms: this.renderInteractiveForms
+    };
+    const renderTask = this.pdfPage.render(renderContext);
+
+    renderTask.onContinue = function (cont) {
+      showCanvas();
+
+      if (result.onRenderContinue) {
+        result.onRenderContinue(cont);
       } else {
-        this.div.removeAttribute('data-page-label');
+        cont();
       }
+    };
+
+    renderTask.promise.then(function () {
+      showCanvas();
+      renderCapability.resolve(undefined);
+    }, function (error) {
+      showCanvas();
+      renderCapability.reject(error);
+    });
+    return result;
+  }
+
+  paintOnSvg(wrapper) {
+    let cancelled = false;
+
+    const ensureNotCancelled = () => {
+      if (cancelled) {
+        throw new _pdfjsLib.RenderingCancelledException(`Rendering cancelled, page ${this.id}`, "svg");
+      }
+    };
+
+    const pdfPage = this.pdfPage;
+    const actualSizeViewport = this.viewport.clone({
+      scale: _ui_utils.CSS_UNITS
+    });
+    const promise = pdfPage.getOperatorList().then(opList => {
+      ensureNotCancelled();
+      const svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
+      return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {
+        ensureNotCancelled();
+        this.svg = svg;
+        this.paintedViewportMap.set(svg, actualSizeViewport);
+        svg.style.width = wrapper.style.width;
+        svg.style.height = wrapper.style.height;
+        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
+        wrapper.appendChild(svg);
+      });
+    });
+    return {
+      promise,
+
+      onRenderContinue(cont) {
+        cont();
+      },
+
+      cancel() {
+        cancelled = true;
+      }
+
+    };
+  }
+
+  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");
     }
-  }, {
-    key: "width",
-    get: function get() {
-      return this.viewport.width;
-    }
-  }, {
-    key: "height",
-    get: function get() {
-      return this.viewport.height;
-    }
-  }]);
+  }
 
-  return PDFPageView;
-}();
+}
 
 exports.PDFPageView = PDFPageView;
 
 /***/ }),
-/* 31 */
+/* 28 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -12325,33 +10569,21 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _ui_utils = __webpack_require__(2);
 
-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); } }
+var _pdfjsLib = __webpack_require__(4);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); 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$findController = _ref.findController,
-        findController = _ref$findController === void 0 ? null : _ref$findController,
-        _ref$enhanceTextSelec = _ref.enhanceTextSelection,
-        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;
-
-    _classCallCheck(this, TextLayerBuilder);
+const EXPAND_DIVS_TIMEOUT = 300;
 
+class TextLayerBuilder {
+  constructor({
+    textLayerDiv,
+    eventBus,
+    pageIndex,
+    viewport,
+    findController = null,
+    enhanceTextSelection = false
+  }) {
     this.textLayerDiv = textLayerDiv;
     this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
     this.textContent = null;
@@ -12371,369 +10603,348 @@ function () {
     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);
-      }
+  _finishRendering() {
+    this.renderingDone = true;
 
-      this.eventBus.dispatch('textlayerrendered', {
-        source: this,
-        pageNumber: this.pageNumber,
-        numTextDivs: this.textDivs.length
-      });
+    if (!this.enhanceTextSelection) {
+      const endOfContent = document.createElement("div");
+      endOfContent.className = "endOfContent";
+      this.textLayerDiv.appendChild(endOfContent);
     }
-  }, {
-    key: "render",
-    value: function render() {
-      var _this = this;
 
-      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
+    this.eventBus.dispatch("textlayerrendered", {
+      source: this,
+      pageNumber: this.pageNumber,
+      numTextDivs: this.textDivs.length
+    });
+  }
 
-      if (!(this.textContent || this.textContentStream) || this.renderingDone) {
-        return;
-      }
+  render(timeout = 0) {
+    if (!(this.textContent || this.textContentStream) || this.renderingDone) {
+      return;
+    }
 
-      this.cancel();
-      this.textDivs = [];
-      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 () {
-        _this.textLayerDiv.appendChild(textLayerFrag);
+    this.cancel();
+    this.textDivs = [];
+    const 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,
+      enhanceTextSelection: this.enhanceTextSelection
+    });
+    this.textLayerRenderTask.promise.then(() => {
+      this.textLayerDiv.appendChild(textLayerFrag);
 
-        _this._finishRendering();
+      this._finishRendering();
 
-        _this._updateMatches();
-      }, function (reason) {});
+      this._updateMatches();
+    }, function (reason) {});
 
-      if (!this._onUpdateTextLayerMatches) {
-        this._onUpdateTextLayerMatches = function (evt) {
-          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
-            _this._updateMatches();
-          }
-        };
+    if (!this._onUpdateTextLayerMatches) {
+      this._onUpdateTextLayerMatches = evt => {
+        if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {
+          this._updateMatches();
+        }
+      };
 
-        this.eventBus.on('updatetextlayermatches', this._onUpdateTextLayerMatches);
-      }
+      this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
     }
-  }, {
-    key: "cancel",
-    value: function cancel() {
-      if (this.textLayerRenderTask) {
-        this.textLayerRenderTask.cancel();
-        this.textLayerRenderTask = null;
-      }
+  }
 
-      if (this._onUpdateTextLayerMatches) {
-        this.eventBus.off('updatetextlayermatches', this._onUpdateTextLayerMatches);
-        this._onUpdateTextLayerMatches = null;
-      }
-    }
-  }, {
-    key: "setTextContentStream",
-    value: function setTextContentStream(readableStream) {
-      this.cancel();
-      this.textContentStream = readableStream;
+  cancel() {
+    if (this.textLayerRenderTask) {
+      this.textLayerRenderTask.cancel();
+      this.textLayerRenderTask = null;
     }
-  }, {
-    key: "setTextContent",
-    value: function setTextContent(textContent) {
-      this.cancel();
-      this.textContent = textContent;
+
+    if (this._onUpdateTextLayerMatches) {
+      this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);
+
+      this._onUpdateTextLayerMatches = null;
     }
-  }, {
-    key: "_convertMatches",
-    value: function _convertMatches(matches, matchesLength) {
-      if (!matches) {
-        return [];
-      }
+  }
 
-      var findController = this.findController,
-          textContentItemsStr = this.textContentItemsStr;
-      var i = 0,
-          iIndex = 0;
-      var end = textContentItemsStr.length - 1;
-      var queryLen = findController.state.query.length;
-      var result = [];
+  setTextContentStream(readableStream) {
+    this.cancel();
+    this.textContentStream = readableStream;
+  }
 
-      for (var m = 0, mm = matches.length; m < mm; m++) {
-        var matchIdx = matches[m];
+  setTextContent(textContent) {
+    this.cancel();
+    this.textContent = textContent;
+  }
 
-        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
-          iIndex += textContentItemsStr[i].length;
-          i++;
-        }
+  _convertMatches(matches, matchesLength) {
+    if (!matches) {
+      return [];
+    }
 
-        if (i === textContentItemsStr.length) {
-          console.error('Could not find a matching mapping');
-        }
+    const {
+      findController,
+      textContentItemsStr
+    } = this;
+    let i = 0,
+        iIndex = 0;
+    const end = textContentItemsStr.length - 1;
+    const queryLen = findController.state.query.length;
+    const result = [];
 
-        var match = {
-          begin: {
-            divIdx: i,
-            offset: matchIdx - iIndex
-          }
-        };
+    for (let m = 0, mm = matches.length; m < mm; m++) {
+      let matchIdx = matches[m];
 
-        if (matchesLength) {
-          matchIdx += matchesLength[m];
-        } else {
-          matchIdx += queryLen;
-        }
+      while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
+        iIndex += textContentItemsStr[i].length;
+        i++;
+      }
 
-        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");
+      }
 
-        match.end = {
+      const match = {
+        begin: {
           divIdx: i,
           offset: matchIdx - iIndex
-        };
-        result.push(match);
+        }
+      };
+
+      if (matchesLength) {
+        matchIdx += matchesLength[m];
+      } else {
+        matchIdx += queryLen;
       }
 
-      return result;
-    }
-  }, {
-    key: "_renderMatches",
-    value: function _renderMatches(matches) {
-      if (matches.length === 0) {
-        return;
+      while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
+        iIndex += textContentItemsStr[i].length;
+        i++;
       }
 
-      var findController = this.findController,
-          pageIdx = this.pageIdx,
-          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
+      match.end = {
+        divIdx: i,
+        offset: matchIdx - iIndex
       };
+      result.push(match);
+    }
 
-      function beginText(begin, className) {
-        var divIdx = begin.divIdx;
-        textDivs[divIdx].textContent = '';
-        appendTextToDiv(divIdx, 0, begin.offset, className);
-      }
+    return result;
+  }
 
-      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
-        var div = textDivs[divIdx];
-        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
-        var node = document.createTextNode(content);
+  _renderMatches(matches) {
+    if (matches.length === 0) {
+      return;
+    }
 
-        if (className) {
-          var span = document.createElement('span');
-          span.className = className;
-          span.appendChild(node);
-          div.appendChild(span);
-          return;
-        }
+    const {
+      findController,
+      pageIdx,
+      textContentItemsStr,
+      textDivs
+    } = this;
+    const isSelectedPage = pageIdx === findController.selected.pageIdx;
+    const selectedMatchIdx = findController.selected.matchIdx;
+    const highlightAll = findController.state.highlightAll;
+    let prevEnd = null;
+    const infinity = {
+      divIdx: -1,
+      offset: undefined
+    };
 
-        div.appendChild(node);
-      }
+    function beginText(begin, className) {
+      const divIdx = begin.divIdx;
+      textDivs[divIdx].textContent = "";
+      appendTextToDiv(divIdx, 0, begin.offset, className);
+    }
 
-      var i0 = selectedMatchIdx,
-          i1 = i0 + 1;
+    function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
+      const div = textDivs[divIdx];
+      const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
+      const node = document.createTextNode(content);
 
-      if (highlightAll) {
-        i0 = 0;
-        i1 = matches.length;
-      } else if (!isSelectedPage) {
+      if (className) {
+        const span = document.createElement("span");
+        span.className = className;
+        span.appendChild(node);
+        div.appendChild(span);
         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' : '';
+      div.appendChild(node);
+    }
 
-        if (isSelected) {
-          findController.scrollMatchIntoView({
-            element: textDivs[begin.divIdx],
-            pageIndex: pageIdx,
-            matchIndex: selectedMatchIdx
-          });
-        }
+    let i0 = selectedMatchIdx,
+        i1 = i0 + 1;
 
-        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
-          if (prevEnd !== null) {
-            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
-          }
+    if (highlightAll) {
+      i0 = 0;
+      i1 = matches.length;
+    } else if (!isSelectedPage) {
+      return;
+    }
 
-          beginText(begin);
-        } else {
-          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
+    for (let i = i0; i < i1; i++) {
+      const match = matches[i];
+      const begin = match.begin;
+      const end = match.end;
+      const isSelected = isSelectedPage && i === selectedMatchIdx;
+      const highlightSuffix = isSelected ? " selected" : "";
+
+      if (isSelected) {
+        findController.scrollMatchIntoView({
+          element: textDivs[begin.divIdx],
+          pageIndex: pageIdx,
+          matchIndex: selectedMatchIdx
+        });
+      }
+
+      if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
+        if (prevEnd !== null) {
+          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
         }
 
-        if (begin.divIdx === end.divIdx) {
-          appendTextToDiv(begin.divIdx, begin.offset, end.offset, 'highlight' + highlightSuffix);
-        } else {
-          appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, 'highlight begin' + highlightSuffix);
+        beginText(begin);
+      } else {
+        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
+      }
 
-          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
-            textDivs[n0].className = 'highlight middle' + highlightSuffix;
-          }
+      if (begin.divIdx === end.divIdx) {
+        appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
+      } else {
+        appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);
 
-          beginText(end, 'highlight end' + highlightSuffix);
+        for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
+          textDivs[n0].className = "highlight middle" + highlightSuffix;
         }
 
-        prevEnd = end;
+        beginText(end, "highlight end" + highlightSuffix);
       }
 
-      if (prevEnd) {
-        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
-      }
+      prevEnd = end;
     }
-  }, {
-    key: "_updateMatches",
-    value: function _updateMatches() {
-      if (!this.renderingDone) {
-        return;
-      }
 
-      var findController = this.findController,
-          matches = this.matches,
-          pageIdx = this.pageIdx,
-          textContentItemsStr = this.textContentItemsStr,
-          textDivs = this.textDivs;
-      var clearedUntilDivIdx = -1;
+    if (prevEnd) {
+      appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
+    }
+  }
 
-      for (var i = 0, ii = matches.length; i < ii; i++) {
-        var match = matches[i];
-        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
+  _updateMatches() {
+    if (!this.renderingDone) {
+      return;
+    }
 
-        for (var n = begin, end = match.end.divIdx; n <= end; n++) {
-          var div = textDivs[n];
-          div.textContent = textContentItemsStr[n];
-          div.className = '';
-        }
+    const {
+      findController,
+      matches,
+      pageIdx,
+      textContentItemsStr,
+      textDivs
+    } = this;
+    let clearedUntilDivIdx = -1;
 
-        clearedUntilDivIdx = match.end.divIdx + 1;
-      }
+    for (let i = 0, ii = matches.length; i < ii; i++) {
+      const match = matches[i];
+      const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
 
-      if (!findController || !findController.highlightMatches) {
-        return;
+      for (let n = begin, end = match.end.divIdx; n <= end; n++) {
+        const div = textDivs[n];
+        div.textContent = textContentItemsStr[n];
+        div.className = "";
       }
 
-      var pageMatches = findController.pageMatches[pageIdx] || null;
-      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
-      this.matches = this._convertMatches(pageMatches, pageMatchesLength);
+      clearedUntilDivIdx = match.end.divIdx + 1;
+    }
 
-      this._renderMatches(this.matches);
+    if (!findController || !findController.highlightMatches) {
+      return;
     }
-  }, {
-    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);
+    const pageMatches = findController.pageMatches[pageIdx] || null;
+    const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
+    this.matches = this._convertMatches(pageMatches, pageMatchesLength);
 
-          if (expandDivsTimer) {
-            clearTimeout(expandDivsTimer);
-            expandDivsTimer = null;
-          }
+    this._renderMatches(this.matches);
+  }
 
-          return;
+  _bindMouse() {
+    const div = this.textLayerDiv;
+    let expandDivsTimer = null;
+    div.addEventListener("mousedown", evt => {
+      if (this.enhanceTextSelection && this.textLayerRenderTask) {
+        this.textLayerRenderTask.expandTextDivs(true);
+
+        if (expandDivsTimer) {
+          clearTimeout(expandDivsTimer);
+          expandDivsTimer = null;
         }
 
-        var end = div.querySelector('.endOfContent');
+        return;
+      }
 
-        if (!end) {
-          return;
-        }
+      const end = div.querySelector(".endOfContent");
 
-        var adjustTop = evt.target !== div;
-        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue('-moz-user-select') !== 
'none';
+      if (!end) {
+        return;
+      }
 
-        if (adjustTop) {
-          var divBounds = div.getBoundingClientRect();
-          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
-          end.style.top = (r * 100).toFixed(2) + '%';
-        }
+      let adjustTop = evt.target !== div;
+      adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";
 
-        end.classList.add('active');
-      });
-      div.addEventListener('mouseup', function () {
-        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
-          expandDivsTimer = setTimeout(function () {
-            if (_this2.textLayerRenderTask) {
-              _this2.textLayerRenderTask.expandTextDivs(false);
-            }
+      if (adjustTop) {
+        const divBounds = div.getBoundingClientRect();
+        const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
+        end.style.top = (r * 100).toFixed(2) + "%";
+      }
 
-            expandDivsTimer = null;
-          }, EXPAND_DIVS_TIMEOUT);
-          return;
-        }
+      end.classList.add("active");
+    });
+    div.addEventListener("mouseup", () => {
+      if (this.enhanceTextSelection && this.textLayerRenderTask) {
+        expandDivsTimer = setTimeout(() => {
+          if (this.textLayerRenderTask) {
+            this.textLayerRenderTask.expandTextDivs(false);
+          }
 
-        var end = div.querySelector('.endOfContent');
+          expandDivsTimer = null;
+        }, EXPAND_DIVS_TIMEOUT);
+        return;
+      }
 
-        if (!end) {
-          return;
-        }
+      const end = div.querySelector(".endOfContent");
 
-        end.style.top = '';
-        end.classList.remove('active');
-      });
-    }
-  }]);
+      if (!end) {
+        return;
+      }
 
-  return TextLayerBuilder;
-}();
+      end.style.top = "";
+      end.classList.remove("active");
+    });
+  }
+
+}
 
 exports.TextLayerBuilder = TextLayerBuilder;
 
-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;
-      return new TextLayerBuilder({
-        textLayerDiv: textLayerDiv,
-        pageIndex: pageIndex,
-        viewport: viewport,
-        enhanceTextSelection: enhanceTextSelection
-      });
-    }
-  }]);
+class DefaultTextLayerFactory {
+  createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus) {
+    return new TextLayerBuilder({
+      textLayerDiv,
+      pageIndex,
+      viewport,
+      enhanceTextSelection,
+      eventBus
+    });
+  }
 
-  return DefaultTextLayerFactory;
-}();
+}
 
 exports.DefaultTextLayerFactory = DefaultTextLayerFactory;
 
 /***/ }),
-/* 32 */
+/* 29 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -12744,44 +10955,32 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.SecondaryToolbar = void 0;
 
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_cursor_tools = __webpack_require__(9);
-
-var _pdf_single_page_viewer = __webpack_require__(33);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _ui_utils = __webpack_require__(2);
 
-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); } }
+var _pdf_cursor_tools = __webpack_require__(6);
 
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
-
-var SecondaryToolbar =
-/*#__PURE__*/
-function () {
-  function SecondaryToolbar(options, mainContainer, eventBus) {
-    var _this = this;
-
-    _classCallCheck(this, SecondaryToolbar);
+var _pdf_single_page_viewer = __webpack_require__(30);
 
+class SecondaryToolbar {
+  constructor(options, mainContainer, eventBus) {
     this.toolbar = options.toolbar;
     this.toggleButton = options.toggleButton;
     this.toolbarButtonContainer = options.toolbarButtonContainer;
     this.buttons = [{
       element: options.presentationModeButton,
-      eventName: 'presentationmode',
+      eventName: "presentationmode",
       close: true
     }, {
       element: options.openFileButton,
-      eventName: 'openfile',
+      eventName: "openfile",
       close: true
     }, {
       element: options.printButton,
-      eventName: 'print',
+      eventName: "print",
       close: true
     }, {
       element: options.downloadButton,
-      eventName: 'download',
+      eventName: "download",
       close: true
     }, {
       element: options.viewBookmarkButton,
@@ -12789,79 +10988,79 @@ function () {
       close: true
     }, {
       element: options.firstPageButton,
-      eventName: 'firstpage',
+      eventName: "firstpage",
       close: true
     }, {
       element: options.lastPageButton,
-      eventName: 'lastpage',
+      eventName: "lastpage",
       close: true
     }, {
       element: options.pageRotateCwButton,
-      eventName: 'rotatecw',
+      eventName: "rotatecw",
       close: false
     }, {
       element: options.pageRotateCcwButton,
-      eventName: 'rotateccw',
+      eventName: "rotateccw",
       close: false
     }, {
       element: options.cursorSelectToolButton,
-      eventName: 'switchcursortool',
+      eventName: "switchcursortool",
       eventDetails: {
         tool: _pdf_cursor_tools.CursorTool.SELECT
       },
       close: true
     }, {
       element: options.cursorHandToolButton,
-      eventName: 'switchcursortool',
+      eventName: "switchcursortool",
       eventDetails: {
         tool: _pdf_cursor_tools.CursorTool.HAND
       },
       close: true
     }, {
       element: options.scrollVerticalButton,
-      eventName: 'switchscrollmode',
+      eventName: "switchscrollmode",
       eventDetails: {
         mode: _ui_utils.ScrollMode.VERTICAL
       },
       close: true
     }, {
       element: options.scrollHorizontalButton,
-      eventName: 'switchscrollmode',
+      eventName: "switchscrollmode",
       eventDetails: {
         mode: _ui_utils.ScrollMode.HORIZONTAL
       },
       close: true
     }, {
       element: options.scrollWrappedButton,
-      eventName: 'switchscrollmode',
+      eventName: "switchscrollmode",
       eventDetails: {
         mode: _ui_utils.ScrollMode.WRAPPED
       },
       close: true
     }, {
       element: options.spreadNoneButton,
-      eventName: 'switchspreadmode',
+      eventName: "switchspreadmode",
       eventDetails: {
         mode: _ui_utils.SpreadMode.NONE
       },
       close: true
     }, {
       element: options.spreadOddButton,
-      eventName: 'switchspreadmode',
+      eventName: "switchspreadmode",
       eventDetails: {
         mode: _ui_utils.SpreadMode.ODD
       },
       close: true
     }, {
       element: options.spreadEvenButton,
-      eventName: 'switchspreadmode',
+      eventName: "switchspreadmode",
       eventDetails: {
         mode: _ui_utils.SpreadMode.EVEN
       },
       close: true
     }, {
       element: options.documentPropertiesButton,
-      eventName: 'documentproperties',
+      eventName: "documentproperties",
       close: true
     }];
     this.items = {
@@ -12885,205 +11084,185 @@ function () {
 
     this._bindSpreadModeListener(options);
 
-    this.eventBus.on('resize', this._setMaxHeight.bind(this));
-    this.eventBus.on('baseviewerinit', function (evt) {
+    this.eventBus._on("resize", this._setMaxHeight.bind(this));
+
+    this.eventBus._on("baseviewerinit", evt => {
       if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {
-        _this.toolbarButtonContainer.classList.add('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
+        this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
       } else {
-        _this.toolbarButtonContainer.classList.remove('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
+        this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
       }
     });
   }
 
-  _createClass(SecondaryToolbar, [{
-    key: "setPageNumber",
-    value: function setPageNumber(pageNumber) {
-      this.pageNumber = pageNumber;
+  get isOpen() {
+    return this.opened;
+  }
 
-      this._updateUIState();
-    }
-  }, {
-    key: "setPagesCount",
-    value: function setPagesCount(pagesCount) {
-      this.pagesCount = pagesCount;
+  setPageNumber(pageNumber) {
+    this.pageNumber = pageNumber;
 
-      this._updateUIState();
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pageNumber = 0;
-      this.pagesCount = 0;
+    this._updateUIState();
+  }
 
-      this._updateUIState();
+  setPagesCount(pagesCount) {
+    this.pagesCount = pagesCount;
 
-      this.eventBus.dispatch('secondarytoolbarreset', {
-        source: this
-      });
-    }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState() {
-      this.items.firstPage.disabled = this.pageNumber <= 1;
-      this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
-      this.items.pageRotateCw.disabled = this.pagesCount === 0;
-      this.items.pageRotateCcw.disabled = this.pagesCount === 0;
-    }
-  }, {
-    key: "_bindClickListeners",
-    value: function _bindClickListeners() {
-      var _this2 = this;
-
-      this.toggleButton.addEventListener('click', this.toggle.bind(this));
-
-      var _loop = function _loop(button) {
-        var _this2$buttons$button = _this2.buttons[button],
-            element = _this2$buttons$button.element,
-            eventName = _this2$buttons$button.eventName,
-            close = _this2$buttons$button.close,
-            eventDetails = _this2$buttons$button.eventDetails;
-        element.addEventListener('click', function (evt) {
-          if (eventName !== null) {
-            var details = {
-              source: _this2
-            };
-
-            for (var property in eventDetails) {
-              details[property] = eventDetails[property];
-            }
+    this._updateUIState();
+  }
 
-            _this2.eventBus.dispatch(eventName, details);
-          }
+  reset() {
+    this.pageNumber = 0;
+    this.pagesCount = 0;
+
+    this._updateUIState();
+
+    this.eventBus.dispatch("secondarytoolbarreset", {
+      source: this
+    });
+  }
+
+  _updateUIState() {
+    this.items.firstPage.disabled = this.pageNumber <= 1;
+    this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
+    this.items.pageRotateCw.disabled = this.pagesCount === 0;
+    this.items.pageRotateCcw.disabled = this.pagesCount === 0;
+  }
+
+  _bindClickListeners() {
+    this.toggleButton.addEventListener("click", this.toggle.bind(this));
 
-          if (close) {
-            _this2.close();
+    for (const {
+      element,
+      eventName,
+      close,
+      eventDetails
+    } of this.buttons) {
+      element.addEventListener("click", evt => {
+        if (eventName !== null) {
+          const details = {
+            source: this
+          };
+
+          for (const property in eventDetails) {
+            details[property] = eventDetails[property];
           }
-        });
-      };
 
-      for (var button in this.buttons) {
-        _loop(button);
-      }
-    }
-  }, {
-    key: "_bindCursorToolsListener",
-    value: function _bindCursorToolsListener(buttons) {
-      this.eventBus.on('cursortoolchanged', function (_ref) {
-        var tool = _ref.tool;
-        buttons.cursorSelectToolButton.classList.toggle('toggled', tool === 
_pdf_cursor_tools.CursorTool.SELECT);
-        buttons.cursorHandToolButton.classList.toggle('toggled', tool === _pdf_cursor_tools.CursorTool.HAND);
-      });
-    }
-  }, {
-    key: "_bindScrollModeListener",
-    value: function _bindScrollModeListener(buttons) {
-      var _this3 = this;
-
-      function scrollModeChanged(_ref2) {
-        var mode = _ref2.mode;
-        buttons.scrollVerticalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.VERTICAL);
-        buttons.scrollHorizontalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.HORIZONTAL);
-        buttons.scrollWrappedButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.WRAPPED);
-        var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
-        buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
-        buttons.spreadOddButton.disabled = isScrollModeHorizontal;
-        buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
-      }
-
-      this.eventBus.on('scrollmodechanged', scrollModeChanged);
-      this.eventBus.on('secondarytoolbarreset', function (evt) {
-        if (evt.source === _this3) {
-          scrollModeChanged({
-            mode: _ui_utils.ScrollMode.VERTICAL
-          });
+          this.eventBus.dispatch(eventName, details);
+        }
+
+        if (close) {
+          this.close();
         }
       });
     }
-  }, {
-    key: "_bindSpreadModeListener",
-    value: function _bindSpreadModeListener(buttons) {
-      var _this4 = this;
+  }
 
-      function spreadModeChanged(_ref3) {
-        var mode = _ref3.mode;
-        buttons.spreadNoneButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.NONE);
-        buttons.spreadOddButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.ODD);
-        buttons.spreadEvenButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.EVEN);
-      }
+  _bindCursorToolsListener(buttons) {
+    this.eventBus._on("cursortoolchanged", function ({
+      tool
+    }) {
+      buttons.cursorSelectToolButton.classList.toggle("toggled", tool === 
_pdf_cursor_tools.CursorTool.SELECT);
+      buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
+    });
+  }
 
-      this.eventBus.on('spreadmodechanged', spreadModeChanged);
-      this.eventBus.on('secondarytoolbarreset', function (evt) {
-        if (evt.source === _this4) {
-          spreadModeChanged({
-            mode: _ui_utils.SpreadMode.NONE
-          });
-        }
-      });
+  _bindScrollModeListener(buttons) {
+    function scrollModeChanged({
+      mode
+    }) {
+      buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
+      buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
+      buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
+      const isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
+      buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
+      buttons.spreadOddButton.disabled = isScrollModeHorizontal;
+      buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
     }
-  }, {
-    key: "open",
-    value: function open() {
-      if (this.opened) {
-        return;
-      }
 
-      this.opened = true;
+    this.eventBus._on("scrollmodechanged", scrollModeChanged);
 
-      this._setMaxHeight();
+    this.eventBus._on("secondarytoolbarreset", evt => {
+      if (evt.source === this) {
+        scrollModeChanged({
+          mode: _ui_utils.ScrollMode.VERTICAL
+        });
+      }
+    });
+  }
 
-      this.toggleButton.classList.add('toggled');
-      this.toolbar.classList.remove('hidden');
+  _bindSpreadModeListener(buttons) {
+    function spreadModeChanged({
+      mode
+    }) {
+      buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
+      buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
+      buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
     }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.opened) {
-        return;
+
+    this.eventBus._on("spreadmodechanged", spreadModeChanged);
+
+    this.eventBus._on("secondarytoolbarreset", evt => {
+      if (evt.source === this) {
+        spreadModeChanged({
+          mode: _ui_utils.SpreadMode.NONE
+        });
       }
+    });
+  }
 
-      this.opened = false;
-      this.toolbar.classList.add('hidden');
-      this.toggleButton.classList.remove('toggled');
+  open() {
+    if (this.opened) {
+      return;
     }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.opened) {
-        this.close();
-      } else {
-        this.open();
-      }
+
+    this.opened = true;
+
+    this._setMaxHeight();
+
+    this.toggleButton.classList.add("toggled");
+    this.toolbar.classList.remove("hidden");
+  }
+
+  close() {
+    if (!this.opened) {
+      return;
     }
-  }, {
-    key: "_setMaxHeight",
-    value: function _setMaxHeight() {
-      if (!this.opened) {
-        return;
-      }
 
-      this.containerHeight = this.mainContainer.clientHeight;
+    this.opened = false;
+    this.toolbar.classList.add("hidden");
+    this.toggleButton.classList.remove("toggled");
+  }
 
-      if (this.containerHeight === this.previousContainerHeight) {
-        return;
-      }
+  toggle() {
+    if (this.opened) {
+      this.close();
+    } else {
+      this.open();
+    }
+  }
 
-      this.toolbarButtonContainer.setAttribute('style', 'max-height: ' + (this.containerHeight - 
_ui_utils.SCROLLBAR_PADDING) + 'px;');
-      this.previousContainerHeight = this.containerHeight;
+  _setMaxHeight() {
+    if (!this.opened) {
+      return;
     }
-  }, {
-    key: "isOpen",
-    get: function get() {
-      return this.opened;
+
+    this.containerHeight = this.mainContainer.clientHeight;
+
+    if (this.containerHeight === this.previousContainerHeight) {
+      return;
     }
-  }]);
 
-  return SecondaryToolbar;
-}();
+    this.toolbarButtonContainer.style.maxHeight = `${this.containerHeight - _ui_utils.SCROLLBAR_PADDING}px`;
+    this.previousContainerHeight = this.containerHeight;
+  }
+
+}
 
 exports.SecondaryToolbar = SecondaryToolbar;
 
 /***/ }),
-/* 33 */
+/* 30 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -13094,167 +11273,118 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFSinglePageViewer = void 0;
 
-var _base_viewer = __webpack_require__(28);
-
-var _pdfjsLib = __webpack_require__(7);
+var _base_viewer = __webpack_require__(25);
 
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _typeof(obj); }
+var _pdfjsLib = __webpack_require__(4);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+class PDFSinglePageViewer extends _base_viewer.BaseViewer {
+  constructor(options) {
+    super(options);
 
-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); return Constructor; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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; }
+    this.eventBus._on("pagesinit", evt => {
+      this._ensurePageViewVisible();
+    });
+  }
 
-function _get(target, property, receiver) { 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(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
+  get _setDocumentViewerElement() {
+    return (0, _pdfjsLib.shadow)(this, "_setDocumentViewerElement", this._shadowViewer);
+  }
 
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) 
{ object = _getPrototypeOf(object); if (object === null) break; } return object; }
+  _resetView() {
+    super._resetView();
 
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+    this._previousPageNumber = 1;
+    this._shadowViewer = document.createDocumentFragment();
+    this._updateScrollDown = null;
+  }
 
-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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+  _ensurePageViewVisible() {
+    const pageView = this._pages[this._currentPageNumber - 1];
+    const previousPageView = this._pages[this._previousPageNumber - 1];
+    const viewerNodes = this.viewer.childNodes;
 
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 
o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+    switch (viewerNodes.length) {
+      case 0:
+        this.viewer.appendChild(pageView.div);
+        break;
 
-var PDFSinglePageViewer =
-/*#__PURE__*/
-function (_BaseViewer) {
-  _inherits(PDFSinglePageViewer, _BaseViewer);
+      case 1:
+        if (viewerNodes[0] !== previousPageView.div) {
+          throw new Error("_ensurePageViewVisible: Unexpected previously visible page.");
+        }
 
-  function PDFSinglePageViewer(options) {
-    var _this;
+        if (pageView === previousPageView) {
+          break;
+        }
 
-    _classCallCheck(this, PDFSinglePageViewer);
+        this._shadowViewer.appendChild(previousPageView.div);
 
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PDFSinglePageViewer).call(this, options));
+        this.viewer.appendChild(pageView.div);
+        this.container.scrollTop = 0;
+        break;
 
-    _this.eventBus.on('pagesinit', function (evt) {
-      _this._ensurePageViewVisible();
-    });
+      default:
+        throw new Error("_ensurePageViewVisible: Only one page should be visible at a time.");
+    }
 
-    return _this;
+    this._previousPageNumber = this._currentPageNumber;
   }
 
-  _createClass(PDFSinglePageViewer, [{
-    key: "_resetView",
-    value: function _resetView() {
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);
-
-      this._previousPageNumber = 1;
-      this._shadowViewer = document.createDocumentFragment();
-      this._updateScrollDown = null;
+  _scrollUpdate() {
+    if (this._updateScrollDown) {
+      this._updateScrollDown();
     }
-  }, {
-    key: "_ensurePageViewVisible",
-    value: function _ensurePageViewVisible() {
-      var pageView = this._pages[this._currentPageNumber - 1];
-      var previousPageView = this._pages[this._previousPageNumber - 1];
-      var viewerNodes = this.viewer.childNodes;
-
-      switch (viewerNodes.length) {
-        case 0:
-          this.viewer.appendChild(pageView.div);
-          break;
 
-        case 1:
-          if (viewerNodes[0] !== previousPageView.div) {
-            throw new Error('_ensurePageViewVisible: Unexpected previously visible page.');
-          }
-
-          if (pageView === previousPageView) {
-            break;
-          }
+    super._scrollUpdate();
+  }
 
-          this._shadowViewer.appendChild(previousPageView.div);
+  _scrollIntoView({
+    pageDiv,
+    pageSpot = null,
+    pageNumber = null
+  }) {
+    if (pageNumber) {
+      this._setCurrentPageNumber(pageNumber);
+    }
 
-          this.viewer.appendChild(pageView.div);
-          this.container.scrollTop = 0;
-          break;
+    const scrolledDown = this._currentPageNumber >= this._previousPageNumber;
 
-        default:
-          throw new Error('_ensurePageViewVisible: Only one page should be visible at a time.');
-      }
+    this._ensurePageViewVisible();
 
-      this._previousPageNumber = this._currentPageNumber;
-    }
-  }, {
-    key: "_scrollUpdate",
-    value: function _scrollUpdate() {
-      if (this._updateScrollDown) {
-        this._updateScrollDown();
-      }
+    this.update();
 
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this);
-    }
-  }, {
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var _this2 = this;
+    super._scrollIntoView({
+      pageDiv,
+      pageSpot,
+      pageNumber
+    });
 
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
+    this._updateScrollDown = () => {
+      this.scroll.down = scrolledDown;
+      this._updateScrollDown = null;
+    };
+  }
 
-      if (pageNumber) {
-        this._setCurrentPageNumber(pageNumber);
-      }
+  _getVisiblePages() {
+    return this._getCurrentVisiblePage();
+  }
 
-      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;
+  _updateHelper(visiblePages) {}
 
-      this._ensurePageViewVisible();
+  get _isScrollModeHorizontal() {
+    return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false);
+  }
 
-      this.update();
+  _updateScrollMode() {}
 
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, {
-        pageDiv: pageDiv,
-        pageSpot: pageSpot,
-        pageNumber: pageNumber
-      });
+  _updateSpreadMode() {}
 
-      this._updateScrollDown = function () {
-        _this2.scroll.down = scrolledDown;
-        _this2._updateScrollDown = null;
-      };
-    }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      return this._getCurrentVisiblePage();
-    }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {}
-  }, {
-    key: "_updateScrollMode",
-    value: function _updateScrollMode() {}
-  }, {
-    key: "_updateSpreadMode",
-    value: function _updateSpreadMode() {}
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, '_setDocumentViewerElement', this._shadowViewer);
-    }
-  }, {
-    key: "_isScrollModeHorizontal",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, '_isScrollModeHorizontal', false);
-    }
-  }]);
-
-  return PDFSinglePageViewer;
-}(_base_viewer.BaseViewer);
+}
 
 exports.PDFSinglePageViewer = PDFSinglePageViewer;
 
 /***/ }),
-/* 34 */
+/* 31 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -13265,261 +11395,266 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.Toolbar = void 0;
 
-var _ui_utils = __webpack_require__(5);
+var _ui_utils = __webpack_require__(2);
 
-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); return Constructor; }
-
-var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading';
-var SCALE_SELECT_CONTAINER_PADDING = 8;
-var SCALE_SELECT_PADDING = 22;
-
-var Toolbar =
-/*#__PURE__*/
-function () {
-  function Toolbar(options, eventBus) {
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, Toolbar);
+const PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
+const SCALE_SELECT_CONTAINER_WIDTH = 140;
+const SCALE_SELECT_WIDTH = 162;
 
+class Toolbar {
+  constructor(options, eventBus, l10n = _ui_utils.NullL10n) {
     this.toolbar = options.container;
     this.eventBus = eventBus;
     this.l10n = l10n;
-    this.items = options;
+    this.buttons = [{
+      element: options.previous,
+      eventName: "previouspage"
+    }, {
+      element: options.next,
+      eventName: "nextpage"
+    }, {
+      element: options.zoomIn,
+      eventName: "zoomin"
+    }, {
+      element: options.zoomOut,
+      eventName: "zoomout"
+    }, {
+      element: options.openFile,
+      eventName: "openfile"
+    }, {
+      element: options.print,
+      eventName: "print"
+    }, {
+      element: options.presentationModeButton,
+      eventName: "presentationmode"
+    }, {
+      element: options.download,
+      eventName: "download"
+    }, {
+      element: options.viewBookmark,
+      eventName: null
+    }];
+    this.items = {
+      numPages: options.numPages,
+      pageNumber: options.pageNumber,
+      scaleSelectContainer: options.scaleSelectContainer,
+      scaleSelect: options.scaleSelect,
+      customScaleOption: options.customScaleOption,
+      previous: options.previous,
+      next: options.next,
+      zoomIn: options.zoomIn,
+      zoomOut: options.zoomOut
+    };
     this._wasLocalized = false;
     this.reset();
 
     this._bindListeners();
   }
 
-  _createClass(Toolbar, [{
-    key: "setPageNumber",
-    value: function setPageNumber(pageNumber, pageLabel) {
-      this.pageNumber = pageNumber;
-      this.pageLabel = pageLabel;
-
-      this._updateUIState(false);
-    }
-  }, {
-    key: "setPagesCount",
-    value: function setPagesCount(pagesCount, hasPageLabels) {
-      this.pagesCount = pagesCount;
-      this.hasPageLabels = hasPageLabels;
+  setPageNumber(pageNumber, pageLabel) {
+    this.pageNumber = pageNumber;
+    this.pageLabel = pageLabel;
 
-      this._updateUIState(true);
-    }
-  }, {
-    key: "setPageScale",
-    value: function setPageScale(pageScaleValue, pageScale) {
-      this.pageScaleValue = (pageScaleValue || pageScale).toString();
-      this.pageScale = pageScale;
+    this._updateUIState(false);
+  }
 
-      this._updateUIState(false);
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pageNumber = 0;
-      this.pageLabel = null;
-      this.hasPageLabels = false;
-      this.pagesCount = 0;
-      this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
-      this.pageScale = _ui_utils.DEFAULT_SCALE;
+  setPagesCount(pagesCount, hasPageLabels) {
+    this.pagesCount = pagesCount;
+    this.hasPageLabels = hasPageLabels;
 
-      this._updateUIState(true);
+    this._updateUIState(true);
+  }
 
-      this.updateLoadingIndicatorState();
-    }
-  }, {
-    key: "_bindListeners",
-    value: function _bindListeners() {
-      var _this = this;
+  setPageScale(pageScaleValue, pageScale) {
+    this.pageScaleValue = (pageScaleValue || pageScale).toString();
+    this.pageScale = pageScale;
 
-      var eventBus = this.eventBus,
-          items = this.items;
-      var self = this;
-      items.previous.addEventListener('click', function () {
-        eventBus.dispatch('previouspage', {
-          source: self
-        });
-      });
-      items.next.addEventListener('click', function () {
-        eventBus.dispatch('nextpage', {
-          source: self
-        });
-      });
-      items.zoomIn.addEventListener('click', function () {
-        eventBus.dispatch('zoomin', {
-          source: self
-        });
-      });
-      items.zoomOut.addEventListener('click', function () {
-        eventBus.dispatch('zoomout', {
-          source: self
-        });
-      });
-      items.pageNumber.addEventListener('click', function () {
-        this.select();
-      });
-      items.pageNumber.addEventListener('change', function () {
-        eventBus.dispatch('pagenumberchanged', {
-          source: self,
-          value: this.value
-        });
-      });
-      items.scaleSelect.addEventListener('change', function () {
-        if (this.value === 'custom') {
-          return;
-        }
+    this._updateUIState(false);
+  }
 
-        eventBus.dispatch('scalechanged', {
-          source: self,
-          value: this.value
-        });
-      });
-      items.presentationModeButton.addEventListener('click', function () {
-        eventBus.dispatch('presentationmode', {
-          source: self
-        });
-      });
-      items.openFile.addEventListener('click', function () {
-        eventBus.dispatch('openfile', {
-          source: self
-        });
-      });
-      items.print.addEventListener('click', function () {
-        eventBus.dispatch('print', {
-          source: self
-        });
+  reset() {
+    this.pageNumber = 0;
+    this.pageLabel = null;
+    this.hasPageLabels = false;
+    this.pagesCount = 0;
+    this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
+    this.pageScale = _ui_utils.DEFAULT_SCALE;
+
+    this._updateUIState(true);
+
+    this.updateLoadingIndicatorState();
+  }
+
+  _bindListeners() {
+    const {
+      pageNumber,
+      scaleSelect
+    } = this.items;
+    const self = this;
+
+    for (const {
+      element,
+      eventName
+    } of this.buttons) {
+      element.addEventListener("click", evt => {
+        if (eventName !== null) {
+          this.eventBus.dispatch(eventName, {
+            source: this
+          });
+        }
       });
-      items.download.addEventListener('click', function () {
-        eventBus.dispatch('download', {
-          source: self
-        });
+    }
+
+    pageNumber.addEventListener("click", function () {
+      this.select();
+    });
+    pageNumber.addEventListener("change", function () {
+      self.eventBus.dispatch("pagenumberchanged", {
+        source: self,
+        value: this.value
       });
-      items.scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
-      eventBus.on('localized', function () {
-        _this._localized();
+    });
+    scaleSelect.addEventListener("change", function () {
+      if (this.value === "custom") {
+        return;
+      }
+
+      self.eventBus.dispatch("scalechanged", {
+        source: self,
+        value: this.value
       });
-    }
-  }, {
-    key: "_localized",
-    value: function _localized() {
+    });
+    scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
+
+    this.eventBus._on("localized", () => {
       this._wasLocalized = true;
 
       this._adjustScaleWidth();
 
       this._updateUIState(true);
+    });
+  }
+
+  _updateUIState(resetNumPages = false) {
+    if (!this._wasLocalized) {
+      return;
     }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState() {
-      var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 
-      if (!this._wasLocalized) {
-        return;
+    const {
+      pageNumber,
+      pagesCount,
+      pageScaleValue,
+      pageScale,
+      items
+    } = this;
+
+    if (resetNumPages) {
+      if (this.hasPageLabels) {
+        items.pageNumber.type = "text";
+      } else {
+        items.pageNumber.type = "number";
+        this.l10n.get("of_pages", {
+          pagesCount
+        }, "of {{pagesCount}}").then(msg => {
+          items.numPages.textContent = msg;
+        });
       }
 
-      var pageNumber = this.pageNumber,
-          pagesCount = this.pagesCount,
-          pageScaleValue = this.pageScaleValue,
-          pageScale = this.pageScale,
-          items = this.items;
+      items.pageNumber.max = pagesCount;
+    }
 
-      if (resetNumPages) {
-        if (this.hasPageLabels) {
-          items.pageNumber.type = 'text';
-        } else {
-          items.pageNumber.type = 'number';
-          this.l10n.get('of_pages', {
-            pagesCount: pagesCount
-          }, 'of {{pagesCount}}').then(function (msg) {
-            items.numPages.textContent = msg;
-          });
+    if (this.hasPageLabels) {
+      items.pageNumber.value = this.pageLabel;
+      this.l10n.get("page_of_pages", {
+        pageNumber,
+        pagesCount
+      }, "({{pageNumber}} of {{pagesCount}})").then(msg => {
+        items.numPages.textContent = msg;
+      });
+    } else {
+      items.pageNumber.value = pageNumber;
+    }
+
+    items.previous.disabled = pageNumber <= 1;
+    items.next.disabled = pageNumber >= pagesCount;
+    items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
+    items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
+    const customScale = Math.round(pageScale * 10000) / 100;
+    this.l10n.get("page_scale_percent", {
+      scale: customScale
+    }, "{{scale}}%").then(msg => {
+      let predefinedValueFound = false;
+
+      for (const option of items.scaleSelect.options) {
+        if (option.value !== pageScaleValue) {
+          option.selected = false;
+          continue;
         }
 
-        items.pageNumber.max = pagesCount;
+        option.selected = true;
+        predefinedValueFound = true;
       }
 
-      if (this.hasPageLabels) {
-        items.pageNumber.value = this.pageLabel;
-        this.l10n.get('page_of_pages', {
-          pageNumber: pageNumber,
-          pagesCount: pagesCount
-        }, '({{pageNumber}} of {{pagesCount}})').then(function (msg) {
-          items.numPages.textContent = msg;
-        });
-      } else {
-        items.pageNumber.value = pageNumber;
+      if (!predefinedValueFound) {
+        items.customScaleOption.textContent = msg;
+        items.customScaleOption.selected = true;
       }
+    });
+  }
 
-      items.previous.disabled = pageNumber <= 1;
-      items.next.disabled = pageNumber >= pagesCount;
-      items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
-      items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
-      var customScale = Math.round(pageScale * 10000) / 100;
-      this.l10n.get('page_scale_percent', {
-        scale: customScale
-      }, '{{scale}}%').then(function (msg) {
-        var options = items.scaleSelect.options;
-        var predefinedValueFound = false;
+  updateLoadingIndicatorState(loading = false) {
+    const pageNumberInput = this.items.pageNumber;
+    pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
+  }
 
-        for (var i = 0, ii = options.length; i < ii; i++) {
-          var option = options[i];
+  async _adjustScaleWidth() {
+    const {
+      items,
+      l10n
+    } = this;
+    const predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto", null, "Automatic Zoom"), 
l10n.get("page_scale_actual", null, "Actual Size"), l10n.get("page_scale_fit", null, "Page Fit"), 
l10n.get("page_scale_width", null, "Page Width")]);
+    let canvas = document.createElement("canvas");
+    canvas.mozOpaque = true;
+    let ctx = canvas.getContext("2d", {
+      alpha: false
+    });
+    await _ui_utils.animationStarted;
+    const {
+      fontSize,
+      fontFamily
+    } = getComputedStyle(items.scaleSelect);
+    ctx.font = `${fontSize} ${fontFamily}`;
+    let maxWidth = 0;
+
+    for (const predefinedValue of await predefinedValuesPromise) {
+      const {
+        width
+      } = ctx.measureText(predefinedValue);
 
-          if (option.value !== pageScaleValue) {
-            option.selected = false;
-            continue;
-          }
+      if (width > maxWidth) {
+        maxWidth = width;
+      }
+    }
 
-          option.selected = true;
-          predefinedValueFound = true;
-        }
+    const overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;
+    maxWidth += 1.5 * overflow;
 
-        if (!predefinedValueFound) {
-          items.customScaleOption.textContent = msg;
-          items.customScaleOption.selected = true;
-        }
-      });
+    if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {
+      items.scaleSelect.style.width = `${maxWidth + overflow}px`;
+      items.scaleSelectContainer.style.width = `${maxWidth}px`;
     }
-  }, {
-    key: "updateLoadingIndicatorState",
-    value: function updateLoadingIndicatorState() {
-      var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var pageNumberInput = this.items.pageNumber;
-      pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
-    }
-  }, {
-    key: "_adjustScaleWidth",
-    value: function _adjustScaleWidth() {
-      var container = this.items.scaleSelectContainer;
-      var select = this.items.scaleSelect;
-
-      _ui_utils.animationStarted.then(function () {
-        if (container.clientWidth === 0) {
-          container.setAttribute('style', 'display: inherit;');
-        }
 
-        if (container.clientWidth > 0) {
-          select.setAttribute('style', 'min-width: inherit;');
-          var width = select.clientWidth + SCALE_SELECT_CONTAINER_PADDING;
-          select.setAttribute('style', 'min-width: ' + (width + SCALE_SELECT_PADDING) + 'px;');
-          container.setAttribute('style', 'min-width: ' + width + 'px; ' + 'max-width: ' + width + 'px;');
-        }
-      });
-    }
-  }]);
+    canvas.width = 0;
+    canvas.height = 0;
+    canvas = ctx = null;
+  }
 
-  return Toolbar;
-}();
+}
 
 exports.Toolbar = Toolbar;
 
 /***/ }),
-/* 35 */
+/* 32 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -13529,52 +11664,29 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.ViewHistory = void 0;
+const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-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); return Constructor; }
-
-var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
-
-var ViewHistory =
-/*#__PURE__*/
-function () {
-  function ViewHistory(fingerprint) {
-    var _this = this;
-
-    var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 
DEFAULT_VIEW_HISTORY_CACHE_SIZE;
-
-    _classCallCheck(this, ViewHistory);
-
+class ViewHistory {
+  constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) {
     this.fingerprint = fingerprint;
     this.cacheSize = cacheSize;
-    this._initializedPromise = this._readFromStorage().then(function (databaseStr) {
-      var database = JSON.parse(databaseStr || '{}');
+    this._initializedPromise = this._readFromStorage().then(databaseStr => {
+      const database = JSON.parse(databaseStr || "{}");
 
-      if (!('files' in database)) {
+      if (!("files" in database)) {
         database.files = [];
       } else {
-        while (database.files.length >= _this.cacheSize) {
+        while (database.files.length >= this.cacheSize) {
           database.files.shift();
         }
       }
 
-      var index = -1;
+      let index = -1;
 
-      for (var i = 0, length = database.files.length; i < length; i++) {
-        var branch = database.files[i];
+      for (let i = 0, length = database.files.length; i < length; i++) {
+        const branch = database.files[i];
 
-        if (branch.fingerprint === _this.fingerprint) {
+        if (branch.fingerprint === this.fingerprint) {
           index = i;
           break;
         }
@@ -13582,214 +11694,64 @@ function () {
 
       if (index === -1) {
         index = database.files.push({
-          fingerprint: _this.fingerprint
+          fingerprint: this.fingerprint
         }) - 1;
       }
 
-      _this.file = database.files[index];
-      _this.database = database;
+      this.file = database.files[index];
+      this.database = database;
     });
   }
 
-  _createClass(ViewHistory, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee() {
-        var databaseStr;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                databaseStr = JSON.stringify(this.database);
-                localStorage.setItem('pdfjs.history', databaseStr);
+  async _writeToStorage() {
+    const databaseStr = JSON.stringify(this.database);
+    localStorage.setItem("pdfjs.history", databaseStr);
+  }
 
-              case 2:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _writeToStorage() {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2() {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                return _context2.abrupt("return", localStorage.getItem('pdfjs.history'));
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage() {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }, {
-    key: "set",
-    value: function () {
-      var _set = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3(name, val) {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                this.file[name] = val;
-                return _context3.abrupt("return", this._writeToStorage());
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function set(_x, _x2) {
-        return _set.apply(this, arguments);
-      }
-
-      return set;
-    }()
-  }, {
-    key: "setMultiple",
-    value: function () {
-      var _setMultiple = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee4(properties) {
-        var name;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                _context4.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                for (name in properties) {
-                  this.file[name] = properties[name];
-                }
-
-                return _context4.abrupt("return", this._writeToStorage());
-
-              case 4:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function setMultiple(_x3) {
-        return _setMultiple.apply(this, arguments);
-      }
-
-      return setMultiple;
-    }()
-  }, {
-    key: "get",
-    value: function () {
-      var _get = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee5(name, defaultValue) {
-        var val;
-        return _regenerator["default"].wrap(function _callee5$(_context5) {
-          while (1) {
-            switch (_context5.prev = _context5.next) {
-              case 0:
-                _context5.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                val = this.file[name];
-                return _context5.abrupt("return", val !== undefined ? val : defaultValue);
-
-              case 4:
-              case "end":
-                return _context5.stop();
-            }
-          }
-        }, _callee5, this);
-      }));
-
-      function get(_x4, _x5) {
-        return _get.apply(this, arguments);
-      }
-
-      return get;
-    }()
-  }, {
-    key: "getMultiple",
-    value: function () {
-      var _getMultiple = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee6(properties) {
-        var values, name, val;
-        return _regenerator["default"].wrap(function _callee6$(_context6) {
-          while (1) {
-            switch (_context6.prev = _context6.next) {
-              case 0:
-                _context6.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                values = Object.create(null);
-
-                for (name in properties) {
-                  val = this.file[name];
-                  values[name] = val !== undefined ? val : properties[name];
-                }
-
-                return _context6.abrupt("return", values);
-
-              case 5:
-              case "end":
-                return _context6.stop();
-            }
-          }
-        }, _callee6, this);
-      }));
+  async _readFromStorage() {
+    return localStorage.getItem("pdfjs.history");
+  }
 
-      function getMultiple(_x6) {
-        return _getMultiple.apply(this, arguments);
-      }
+  async set(name, val) {
+    await this._initializedPromise;
+    this.file[name] = val;
+    return this._writeToStorage();
+  }
 
-      return getMultiple;
-    }()
-  }]);
+  async setMultiple(properties) {
+    await this._initializedPromise;
 
-  return ViewHistory;
-}();
+    for (const name in properties) {
+      this.file[name] = properties[name];
+    }
+
+    return this._writeToStorage();
+  }
+
+  async get(name, defaultValue) {
+    await this._initializedPromise;
+    const val = this.file[name];
+    return val !== undefined ? val : defaultValue;
+  }
+
+  async getMultiple(properties) {
+    await this._initializedPromise;
+    const values = Object.create(null);
+
+    for (const name in properties) {
+      const val = this.file[name];
+      values[name] = val !== undefined ? val : properties[name];
+    }
+
+    return values;
+  }
+
+}
 
 exports.ViewHistory = ViewHistory;
 
 /***/ }),
-/* 36 */
+/* 33 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -13800,132 +11762,50 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.GenericCom = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
 var _app = __webpack_require__(1);
 
-var _preferences = __webpack_require__(37);
-
-var _download_manager = __webpack_require__(38);
-
-var _genericl10n = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); }); }; }
+var _preferences = __webpack_require__(34);
 
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
+var _download_manager = __webpack_require__(35);
 
-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); return Constructor; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === 
"function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function 
_getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-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 } }); 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); }
+var _genericl10n = __webpack_require__(36);
 
 ;
-var GenericCom = {};
+const GenericCom = {};
 exports.GenericCom = GenericCom;
 
-var GenericPreferences =
-/*#__PURE__*/
-function (_BasePreferences) {
-  _inherits(GenericPreferences, _BasePreferences);
-
-  function GenericPreferences() {
-    _classCallCheck(this, GenericPreferences);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(GenericPreferences).apply(this, arguments));
+class GenericPreferences extends _preferences.BasePreferences {
+  async _writeToStorage(prefObj) {
+    localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj));
   }
 
-  _createClass(GenericPreferences, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(prefObj) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                localStorage.setItem('pdfjs.preferences', JSON.stringify(prefObj));
-
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      function _writeToStorage(_x) {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(prefObj) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                return _context2.abrupt("return", JSON.parse(localStorage.getItem('pdfjs.preferences')));
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage(_x2) {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }]);
+  async _readFromStorage(prefObj) {
+    return JSON.parse(localStorage.getItem("pdfjs.preferences"));
+  }
 
-  return GenericPreferences;
-}(_preferences.BasePreferences);
+}
 
-var GenericExternalServices = Object.create(_app.DefaultExternalServices);
+class GenericExternalServices extends _app.DefaultExternalServices {
+  static createDownloadManager(options) {
+    return new _download_manager.DownloadManager(options);
+  }
 
-GenericExternalServices.createDownloadManager = function (options) {
-  return new _download_manager.DownloadManager(options);
-};
+  static createPreferences() {
+    return new GenericPreferences();
+  }
 
-GenericExternalServices.createPreferences = function () {
-  return new GenericPreferences();
-};
+  static createL10n({
+    locale = "en-US"
+  }) {
+    return new _genericl10n.GenericL10n(locale);
+  }
 
-GenericExternalServices.createL10n = function (_ref) {
-  var _ref$locale = _ref.locale,
-      locale = _ref$locale === void 0 ? 'en-US' : _ref$locale;
-  return new _genericl10n.GenericL10n(locale);
-};
+}
 
 _app.PDFViewerApplication.externalServices = GenericExternalServices;
 
 /***/ }),
-/* 37 */
+/* 34 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -13935,24 +11815,7 @@ Object.defineProperty(exports, "__esModule", {
   value: true
 });
 exports.BasePreferences = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); 
var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { 
Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new 
Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { 
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = 
function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof 
Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } 
return _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); return Constructor; }
-
-var defaultPreferences = null;
+let defaultPreferences = null;
 
 function getDefaultPreferences() {
   if (!defaultPreferences) {
@@ -13965,6 +11828,7 @@ function getDefaultPreferences() {
       "eventBusDispatchToDOM": false,
       "externalLinkTarget": 0,
       "historyUpdateUrl": false,
+      "ignoreDestinationZoom": false,
       "pdfBugEnabled": false,
       "renderer": "canvas",
       "renderInteractiveForms": false,
@@ -13984,302 +11848,111 @@ function getDefaultPreferences() {
   return defaultPreferences;
 }
 
-var BasePreferences =
-/*#__PURE__*/
-function () {
-  function BasePreferences() {
-    var _this = this;
-
-    _classCallCheck(this, BasePreferences);
-
+class BasePreferences {
+  constructor() {
     if (this.constructor === BasePreferences) {
-      throw new Error('Cannot initialize BasePreferences.');
+      throw new Error("Cannot initialize BasePreferences.");
     }
 
     this.prefs = null;
-    this._initializedPromise = getDefaultPreferences().then(function (defaults) {
-      Object.defineProperty(_this, 'defaults', {
+    this._initializedPromise = getDefaultPreferences().then(defaults => {
+      Object.defineProperty(this, "defaults", {
         value: Object.freeze(defaults),
         writable: false,
         enumerable: true,
         configurable: false
       });
-      _this.prefs = Object.assign(Object.create(null), defaults);
-      return _this._readFromStorage(defaults);
-    }).then(function (prefs) {
+      this.prefs = Object.assign(Object.create(null), defaults);
+      return this._readFromStorage(defaults);
+    }).then(prefs => {
       if (!prefs) {
         return;
       }
 
-      for (var name in prefs) {
-        var defaultValue = _this.defaults[name],
-            prefValue = prefs[name];
+      for (const name in prefs) {
+        const defaultValue = this.defaults[name],
+              prefValue = prefs[name];
 
-        if (defaultValue === undefined || _typeof(prefValue) !== _typeof(defaultValue)) {
+        if (defaultValue === undefined || typeof prefValue !== typeof defaultValue) {
           continue;
         }
 
-        _this.prefs[name] = prefValue;
+        this.prefs[name] = prefValue;
       }
     });
   }
 
-  _createClass(BasePreferences, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee(prefObj) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                throw new Error('Not implemented: _writeToStorage');
+  async _writeToStorage(prefObj) {
+    throw new Error("Not implemented: _writeToStorage");
+  }
 
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      function _writeToStorage(_x) {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee2(prefObj) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                throw new Error('Not implemented: _readFromStorage');
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage(_x2) {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }, {
-    key: "reset",
-    value: function () {
-      var _reset = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee3() {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                this.prefs = Object.assign(Object.create(null), this.defaults);
-                return _context3.abrupt("return", this._writeToStorage(this.defaults));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function reset() {
-        return _reset.apply(this, arguments);
-      }
-
-      return reset;
-    }()
-  }, {
-    key: "set",
-    value: function () {
-      var _set = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee4(name, value) {
-        var defaultValue, valueType, defaultType;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                _context4.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                defaultValue = this.defaults[name];
-
-                if (!(defaultValue === undefined)) {
-                  _context4.next = 7;
-                  break;
-                }
-
-                throw new Error("Set preference: \"".concat(name, "\" is undefined."));
-
-              case 7:
-                if (!(value === undefined)) {
-                  _context4.next = 9;
-                  break;
-                }
-
-                throw new Error('Set preference: no value is specified.');
-
-              case 9:
-                valueType = _typeof(value);
-                defaultType = _typeof(defaultValue);
-
-                if (!(valueType !== defaultType)) {
-                  _context4.next = 19;
-                  break;
-                }
-
-                if (!(valueType === 'number' && defaultType === 'string')) {
-                  _context4.next = 16;
-                  break;
-                }
-
-                value = value.toString();
-                _context4.next = 17;
-                break;
-
-              case 16:
-                throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", ") + 
"expected a ".concat(defaultType, "."));
-
-              case 17:
-                _context4.next = 21;
-                break;
-
-              case 19:
-                if (!(valueType === 'number' && !Number.isInteger(value))) {
-                  _context4.next = 21;
-                  break;
-                }
-
-                throw new Error("Set preference: \"".concat(value, "\" must be an integer."));
-
-              case 21:
-                this.prefs[name] = value;
-                return _context4.abrupt("return", this._writeToStorage(this.prefs));
-
-              case 23:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function set(_x3, _x4) {
-        return _set.apply(this, arguments);
-      }
-
-      return set;
-    }()
-  }, {
-    key: "get",
-    value: function () {
-      var _get = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee5(name) {
-        var defaultValue, prefValue;
-        return _regenerator["default"].wrap(function _callee5$(_context5) {
-          while (1) {
-            switch (_context5.prev = _context5.next) {
-              case 0:
-                _context5.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                defaultValue = this.defaults[name];
-
-                if (!(defaultValue === undefined)) {
-                  _context5.next = 7;
-                  break;
-                }
-
-                throw new Error("Get preference: \"".concat(name, "\" is undefined."));
-
-              case 7:
-                prefValue = this.prefs[name];
-
-                if (!(prefValue !== undefined)) {
-                  _context5.next = 10;
-                  break;
-                }
-
-                return _context5.abrupt("return", prefValue);
-
-              case 10:
-                return _context5.abrupt("return", defaultValue);
-
-              case 11:
-              case "end":
-                return _context5.stop();
-            }
-          }
-        }, _callee5, this);
-      }));
-
-      function get(_x5) {
-        return _get.apply(this, arguments);
-      }
-
-      return get;
-    }()
-  }, {
-    key: "getAll",
-    value: function () {
-      var _getAll = _asyncToGenerator(
-      /*#__PURE__*/
-      _regenerator["default"].mark(function _callee6() {
-        return _regenerator["default"].wrap(function _callee6$(_context6) {
-          while (1) {
-            switch (_context6.prev = _context6.next) {
-              case 0:
-                _context6.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                return _context6.abrupt("return", Object.assign(Object.create(null), this.defaults, 
this.prefs));
-
-              case 3:
-              case "end":
-                return _context6.stop();
-            }
-          }
-        }, _callee6, this);
-      }));
+  async _readFromStorage(prefObj) {
+    throw new Error("Not implemented: _readFromStorage");
+  }
+
+  async reset() {
+    await this._initializedPromise;
+    this.prefs = Object.assign(Object.create(null), this.defaults);
+    return this._writeToStorage(this.defaults);
+  }
+
+  async set(name, value) {
+    await this._initializedPromise;
+    const defaultValue = this.defaults[name];
+
+    if (defaultValue === undefined) {
+      throw new Error(`Set preference: "${name}" is undefined.`);
+    } else if (value === undefined) {
+      throw new Error("Set preference: no value is specified.");
+    }
+
+    const valueType = typeof value;
+    const defaultType = typeof defaultValue;
 
-      function getAll() {
-        return _getAll.apply(this, arguments);
+    if (valueType !== defaultType) {
+      if (valueType === "number" && defaultType === "string") {
+        value = value.toString();
+      } else {
+        throw new Error(`Set preference: "${value}" is a ${valueType}, ` + `expected a ${defaultType}.`);
+      }
+    } else {
+      if (valueType === "number" && !Number.isInteger(value)) {
+        throw new Error(`Set preference: "${value}" must be an integer.`);
       }
+    }
 
-      return getAll;
-    }()
-  }]);
+    this.prefs[name] = value;
+    return this._writeToStorage(this.prefs);
+  }
 
-  return BasePreferences;
-}();
+  async get(name) {
+    await this._initializedPromise;
+    const defaultValue = this.defaults[name];
+
+    if (defaultValue === undefined) {
+      throw new Error(`Get preference: "${name}" is undefined.`);
+    } else {
+      const prefValue = this.prefs[name];
+
+      if (prefValue !== undefined) {
+        return prefValue;
+      }
+    }
+
+    return defaultValue;
+  }
+
+  async getAll() {
+    await this._initializedPromise;
+    return Object.assign(Object.create(null), this.defaults, this.prefs);
+  }
+
+}
 
 exports.BasePreferences = BasePreferences;
 
 /***/ }),
-/* 38 */
+/* 35 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -14290,28 +11963,22 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.DownloadManager = void 0;
 
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new 
TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = 
props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" 
in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) 
_defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, 
staticProps); return Constructor; }
+var _pdfjsLib = __webpack_require__(4);
 
 ;
-var DISABLE_CREATE_OBJECT_URL = _pdfjsLib.apiCompatibilityParams.disableCreateObjectURL || false;
+const DISABLE_CREATE_OBJECT_URL = _pdfjsLib.apiCompatibilityParams.disableCreateObjectURL || false;
 
-function _download(blobUrl, filename) {
-  var a = document.createElement('a');
+function download(blobUrl, filename) {
+  const a = document.createElement("a");
 
   if (!a.click) {
     throw new Error('DownloadManager: "a.click()" is not supported.');
   }
 
   a.href = blobUrl;
-  a.target = '_parent';
+  a.target = "_parent";
 
-  if ('download' in a) {
+  if ("download" in a) {
     a.download = filename;
   }
 
@@ -14320,70 +11987,57 @@ function _download(blobUrl, filename) {
   a.remove();
 }
 
-var DownloadManager =
-/*#__PURE__*/
-function () {
-  function DownloadManager(_ref) {
-    var _ref$disableCreateObj = _ref.disableCreateObjectURL,
-        disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : 
_ref$disableCreateObj;
-
-    _classCallCheck(this, DownloadManager);
-
+class DownloadManager {
+  constructor({
+    disableCreateObjectURL = DISABLE_CREATE_OBJECT_URL
+  }) {
     this.disableCreateObjectURL = disableCreateObjectURL;
   }
 
-  _createClass(DownloadManager, [{
-    key: "downloadUrl",
-    value: function downloadUrl(url, filename) {
-      if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, 'http://example.com')) {
-        return;
-      }
-
-      _download(url + '#pdfjs.action=download', filename);
+  downloadUrl(url, filename) {
+    if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com";)) {
+      return;
     }
-  }, {
-    key: "downloadData",
-    value: function downloadData(data, filename, contentType) {
-      if (navigator.msSaveBlob) {
-        navigator.msSaveBlob(new Blob([data], {
-          type: contentType
-        }), filename);
-        return;
-      }
 
-      var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);
+    download(url + "#pdfjs.action=download", filename);
+  }
 
-      _download(blobUrl, filename);
+  downloadData(data, filename, contentType) {
+    if (navigator.msSaveBlob) {
+      navigator.msSaveBlob(new Blob([data], {
+        type: contentType
+      }), filename);
+      return;
     }
-  }, {
-    key: "download",
-    value: function download(blob, url, filename) {
-      if (navigator.msSaveBlob) {
-        if (!navigator.msSaveBlob(blob, filename)) {
-          this.downloadUrl(url, filename);
-        }
 
-        return;
-      }
+    const blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);
+    download(blobUrl, filename);
+  }
 
-      if (this.disableCreateObjectURL) {
+  download(blob, url, filename) {
+    if (navigator.msSaveBlob) {
+      if (!navigator.msSaveBlob(blob, filename)) {
         this.downloadUrl(url, filename);
-        return;
       }
 
-      var blobUrl = URL.createObjectURL(blob);
+      return;
+    }
 
-      _download(blobUrl, filename);
+    if (this.disableCreateObjectURL) {
+      this.downloadUrl(url, filename);
+      return;
     }
-  }]);
 
-  return DownloadManager;
-}();
+    const blobUrl = URL.createObjectURL(blob);
+    download(blobUrl, filename);
+  }
+
+}
 
 exports.DownloadManager = DownloadManager;
 
 /***/ }),
-/* 39 */
+/* 36 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -14394,175 +12048,46 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.GenericL10n = void 0;
 
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-__webpack_require__(40);
+__webpack_require__(37);
 
-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); return Constructor; }
-
-var webL10n = document.webL10n;
-
-var GenericL10n =
-/*#__PURE__*/
-function () {
-  function GenericL10n(lang) {
-    _classCallCheck(this, GenericL10n);
+const webL10n = document.webL10n;
 
+class GenericL10n {
+  constructor(lang) {
     this._lang = lang;
-    this._ready = new Promise(function (resolve, reject) {
-      webL10n.setLanguage(lang, function () {
+    this._ready = new Promise((resolve, reject) => {
+      webL10n.setLanguage(lang, () => {
         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(property, args, fallback) {
-        var l10n;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._ready;
-
-              case 2:
-                l10n = _context3.sent;
-                return _context3.abrupt("return", l10n.get(property, args, fallback));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function get(_x, _x2, _x3) {
-        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);
-      }));
+  async getLanguage() {
+    const l10n = await this._ready;
+    return l10n.getLanguage();
+  }
 
-      function translate(_x4) {
-        return _translate.apply(this, arguments);
-      }
+  async getDirection() {
+    const l10n = await this._ready;
+    return l10n.getDirection();
+  }
 
-      return translate;
-    }()
-  }]);
+  async get(property, args, fallback) {
+    const l10n = await this._ready;
+    return l10n.get(property, args, fallback);
+  }
 
-  return GenericL10n;
-}();
+  async translate(element) {
+    const l10n = await this._ready;
+    return l10n.translate(element);
+  }
+
+}
 
 exports.GenericL10n = GenericL10n;
 
 /***/ }),
-/* 40 */
+/* 37 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -14795,7 +12320,7 @@ document.webL10n = function (window, document, undefined) {
     var onResourceLoaded = null;
     var gResourceCount = 0;
 
-    onResourceLoaded = function onResourceLoaded() {
+    onResourceLoaded = function () {
       gResourceCount++;
 
       if (gResourceCount >= langCount) {
@@ -15012,10 +12537,10 @@ document.webL10n = function (window, document, undefined) {
     }
 
     var pluralRules = {
-      '0': function _(n) {
+      '0': function (n) {
         return 'other';
       },
-      '1': function _(n) {
+      '1': function (n) {
         if (isBetween(n % 100, 3, 10)) return 'few';
         if (n === 0) return 'zero';
         if (isBetween(n % 100, 11, 99)) return 'many';
@@ -15023,85 +12548,85 @@ document.webL10n = function (window, document, undefined) {
         if (n == 1) return 'one';
         return 'other';
       },
-      '2': function _(n) {
+      '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) {
+      '3': function (n) {
         if (n == 1) return 'one';
         return 'other';
       },
-      '4': function _(n) {
+      '4': function (n) {
         if (isBetween(n, 0, 1)) return 'one';
         return 'other';
       },
-      '5': function _(n) {
+      '5': function (n) {
         if (isBetween(n, 0, 2) && n != 2) return 'one';
         return 'other';
       },
-      '6': function _(n) {
+      '6': function (n) {
         if (n === 0) return 'zero';
         if (n % 10 == 1 && n % 100 != 11) return 'one';
         return 'other';
       },
-      '7': function _(n) {
+      '7': function (n) {
         if (n == 2) return 'two';
         if (n == 1) return 'one';
         return 'other';
       },
-      '8': function _(n) {
+      '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) {
+      '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) {
+      '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) {
+      '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) {
+      '12': function (n) {
         if (isBetween(n, 2, 4)) return 'few';
         if (n == 1) return 'one';
         return 'other';
       },
-      '13': function _(n) {
+      '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) {
+      '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) {
+      '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) {
+      '16': function (n) {
         if (n % 10 == 1 && n != 11) return 'one';
         return 'other';
       },
-      '17': function _(n) {
+      '17': function (n) {
         if (n == 3) return 'few';
         if (n === 0) return 'zero';
         if (n == 6) return 'many';
@@ -15109,37 +12634,37 @@ document.webL10n = function (window, document, undefined) {
         if (n == 1) return 'one';
         return 'other';
       },
-      '18': function _(n) {
+      '18': function (n) {
         if (n === 0) return 'zero';
         if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
         return 'other';
       },
-      '19': function _(n) {
+      '19': function (n) {
         if (isBetween(n, 2, 10)) return 'few';
         if (isBetween(n, 0, 1)) return 'one';
         return 'other';
       },
-      '20': function _(n) {
+      '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) {
+      '21': function (n) {
         if (n === 0) return 'zero';
         if (n == 1) return 'one';
         return 'other';
       },
-      '22': function _(n) {
+      '22': function (n) {
         if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
         return 'other';
       },
-      '23': function _(n) {
+      '23': function (n) {
         if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
         return 'other';
       },
-      '24': function _(n) {
+      '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';
@@ -15320,7 +12845,7 @@ document.webL10n = function (window, document, undefined) {
   }
 
   return {
-    get: function get(key, args, fallbackString) {
+    get: function (key, args, fallbackString) {
       var index = key.lastIndexOf('.');
       var prop = gTextProp;
 
@@ -15344,30 +12869,30 @@ document.webL10n = function (window, document, undefined) {
 
       return '{{' + key + '}}';
     },
-    getData: function getData() {
+    getData: function () {
       return gL10nData;
     },
-    getText: function getText() {
+    getText: function () {
       return gTextData;
     },
-    getLanguage: function getLanguage() {
+    getLanguage: function () {
       return gLanguage;
     },
-    setLanguage: function setLanguage(lang, callback) {
+    setLanguage: function (lang, callback) {
       loadLocale(lang, function () {
         if (callback) callback();
       });
     },
-    getDirection: function getDirection() {
+    getDirection: function () {
       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() {
+    getReadyState: function () {
       return gReadyState;
     },
-    ready: function ready(callback) {
+    ready: function (callback) {
       if (!callback) {
         return;
       } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
@@ -15385,7 +12910,7 @@ document.webL10n = function (window, document, undefined) {
 }(window, document);
 
 /***/ }),
-/* 41 */
+/* 38 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -15396,43 +12921,43 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFPrintService = PDFPrintService;
 
-var _ui_utils = __webpack_require__(5);
+var _ui_utils = __webpack_require__(2);
 
 var _app = __webpack_require__(1);
 
-var _app_options = __webpack_require__(6);
+var _app_options = __webpack_require__(3);
 
-var activeService = null;
-var overlayManager = null;
+let activeService = null;
+let overlayManager = null;
 
 function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
-  var scratchCanvas = activeService.scratchCanvas;
-  var PRINT_RESOLUTION = _app_options.AppOptions.get('printResolution') || 150;
-  var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
+  const scratchCanvas = activeService.scratchCanvas;
+  const PRINT_RESOLUTION = _app_options.AppOptions.get("printResolution") || 150;
+  const PRINT_UNITS = PRINT_RESOLUTION / 72.0;
   scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
   scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
-  var width = Math.floor(size.width * _ui_utils.CSS_UNITS) + 'px';
-  var height = Math.floor(size.height * _ui_utils.CSS_UNITS) + 'px';
-  var ctx = scratchCanvas.getContext('2d');
+  const width = Math.floor(size.width * _ui_utils.CSS_UNITS) + "px";
+  const height = Math.floor(size.height * _ui_utils.CSS_UNITS) + "px";
+  const ctx = scratchCanvas.getContext("2d");
   ctx.save();
-  ctx.fillStyle = 'rgb(255, 255, 255)';
+  ctx.fillStyle = "rgb(255, 255, 255)";
   ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
   ctx.restore();
   return pdfDocument.getPage(pageNumber).then(function (pdfPage) {
-    var renderContext = {
+    const renderContext = {
       canvasContext: ctx,
       transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
       viewport: pdfPage.getViewport({
         scale: 1,
         rotation: size.rotation
       }),
-      intent: 'print'
+      intent: "print"
     };
     return pdfPage.render(renderContext).promise;
   }).then(function () {
     return {
-      width: width,
-      height: height
+      width,
+      height
     };
   });
 }
@@ -15442,37 +12967,38 @@ function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
   this.pagesOverview = pagesOverview;
   this.printContainer = printContainer;
   this.l10n = l10n || _ui_utils.NullL10n;
-  this.disableCreateObjectURL = pdfDocument.loadingParams['disableCreateObjectURL'];
+  this.disableCreateObjectURL = pdfDocument.loadingParams["disableCreateObjectURL"];
   this.currentPage = -1;
-  this.scratchCanvas = document.createElement('canvas');
+  this.scratchCanvas = document.createElement("canvas");
 }
 
 PDFPrintService.prototype = {
-  layout: function layout() {
+  layout() {
     this.throwIfInactive();
-    var body = document.querySelector('body');
-    body.setAttribute('data-pdfjsprinting', true);
-    var hasEqualPageSizes = this.pagesOverview.every(function (size) {
+    const body = document.querySelector("body");
+    body.setAttribute("data-pdfjsprinting", true);
+    const hasEqualPageSizes = this.pagesOverview.every(function (size) {
       return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
     }, this);
 
     if (!hasEqualPageSizes) {
-      console.warn('Not all pages have the same size. The printed ' + 'result may be incorrect!');
+      console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
     }
 
-    this.pageStyleSheet = document.createElement('style');
-    var pageSize = this.pagesOverview[0];
-    this.pageStyleSheet.textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { size: ' + 
pageSize.width + 'pt ' + pageSize.height + 'pt;}' + '}';
+    this.pageStyleSheet = document.createElement("style");
+    const pageSize = this.pagesOverview[0];
+    this.pageStyleSheet.textContent = "@supports ((size:A4) and (size:1pt 1pt)) {" + "@page { size: " + 
pageSize.width + "pt " + pageSize.height + "pt;}" + "}";
     body.appendChild(this.pageStyleSheet);
   },
-  destroy: function destroy() {
+
+  destroy() {
     if (activeService !== this) {
       return;
     }
 
-    this.printContainer.textContent = '';
-    var body = document.querySelector('body');
-    body.removeAttribute('data-pdfjsprinting');
+    this.printContainer.textContent = "";
+    const body = document.querySelector("body");
+    body.removeAttribute("data-pdfjsprinting");
 
     if (this.pageStyleSheet) {
       this.pageStyleSheet.remove();
@@ -15483,44 +13009,44 @@ PDFPrintService.prototype = {
     this.scratchCanvas = null;
     activeService = null;
     ensureOverlay().then(function () {
-      if (overlayManager.active !== 'printServiceOverlay') {
+      if (overlayManager.active !== "printServiceOverlay") {
         return;
       }
 
-      overlayManager.close('printServiceOverlay');
+      overlayManager.close("printServiceOverlay");
     });
   },
-  renderPages: function renderPages() {
-    var _this = this;
 
-    var pageCount = this.pagesOverview.length;
+  renderPages() {
+    const pageCount = this.pagesOverview.length;
 
-    var renderNextPage = function renderNextPage(resolve, reject) {
-      _this.throwIfInactive();
+    const renderNextPage = (resolve, reject) => {
+      this.throwIfInactive();
 
-      if (++_this.currentPage >= pageCount) {
-        renderProgress(pageCount, pageCount, _this.l10n);
+      if (++this.currentPage >= pageCount) {
+        renderProgress(pageCount, pageCount, this.l10n);
         resolve();
         return;
       }
 
-      var index = _this.currentPage;
-      renderProgress(index, pageCount, _this.l10n);
-      renderPage(_this, _this.pdfDocument, index + 1, 
_this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {
+      const index = this.currentPage;
+      renderProgress(index, pageCount, this.l10n);
+      renderPage(this, this.pdfDocument, index + 1, 
this.pagesOverview[index]).then(this.useRenderedPage.bind(this)).then(function () {
         renderNextPage(resolve, reject);
       }, reject);
     };
 
     return new Promise(renderNextPage);
   },
-  useRenderedPage: function useRenderedPage(printItem) {
+
+  useRenderedPage(printItem) {
     this.throwIfInactive();
-    var img = document.createElement('img');
+    const img = document.createElement("img");
     img.style.width = printItem.width;
     img.style.height = printItem.height;
-    var scratchCanvas = this.scratchCanvas;
+    const scratchCanvas = this.scratchCanvas;
 
-    if ('toBlob' in scratchCanvas && !this.disableCreateObjectURL) {
+    if ("toBlob" in scratchCanvas && !this.disableCreateObjectURL) {
       scratchCanvas.toBlob(function (blob) {
         img.src = URL.createObjectURL(blob);
       });
@@ -15528,7 +13054,7 @@ PDFPrintService.prototype = {
       img.src = scratchCanvas.toDataURL();
     }
 
-    var wrapper = document.createElement('div');
+    const wrapper = document.createElement("div");
     wrapper.appendChild(img);
     this.printContainer.appendChild(wrapper);
     return new Promise(function (resolve, reject) {
@@ -15536,13 +13062,12 @@ PDFPrintService.prototype = {
       img.onerror = reject;
     });
   },
-  performPrint: function performPrint() {
-    var _this2 = this;
 
+  performPrint() {
     this.throwIfInactive();
-    return new Promise(function (resolve) {
-      setTimeout(function () {
-        if (!_this2.active) {
+    return new Promise(resolve => {
+      setTimeout(() => {
+        if (!this.active) {
           resolve();
           return;
         }
@@ -15557,43 +13082,44 @@ PDFPrintService.prototype = {
     return this === activeService;
   },
 
-  throwIfInactive: function throwIfInactive() {
+  throwIfInactive() {
     if (!this.active) {
-      throw new Error('This print request was cancelled or completed.');
+      throw new Error("This print request was cancelled or completed.");
     }
   }
+
 };
-var print = window.print;
+const print = window.print;
 
-window.print = function print() {
+window.print = function () {
   if (activeService) {
-    console.warn('Ignored window.print() because of a pending print job.');
+    console.warn("Ignored window.print() because of a pending print job.");
     return;
   }
 
   ensureOverlay().then(function () {
     if (activeService) {
-      overlayManager.open('printServiceOverlay');
+      overlayManager.open("printServiceOverlay");
     }
   });
 
   try {
-    dispatchEvent('beforeprint');
+    dispatchEvent("beforeprint");
   } finally {
     if (!activeService) {
-      console.error('Expected print service to be initialized.');
+      console.error("Expected print service to be initialized.");
       ensureOverlay().then(function () {
-        if (overlayManager.active === 'printServiceOverlay') {
-          overlayManager.close('printServiceOverlay');
+        if (overlayManager.active === "printServiceOverlay") {
+          overlayManager.close("printServiceOverlay");
         }
       });
       return;
     }
 
-    var activeServiceOnEntry = activeService;
+    const activeServiceOnEntry = activeService;
     activeService.renderPages().then(function () {
       return activeServiceOnEntry.performPrint();
-    })["catch"](function () {}).then(function () {
+    }).catch(function () {}).then(function () {
       if (activeServiceOnEntry.active) {
         abort();
       }
@@ -15602,40 +13128,34 @@ window.print = function print() {
 };
 
 function dispatchEvent(eventType) {
-  var event = document.createEvent('CustomEvent');
-  event.initCustomEvent(eventType, false, false, 'custom');
+  const event = document.createEvent("CustomEvent");
+  event.initCustomEvent(eventType, false, false, "custom");
   window.dispatchEvent(event);
 }
 
 function abort() {
   if (activeService) {
     activeService.destroy();
-    dispatchEvent('afterprint');
+    dispatchEvent("afterprint");
   }
 }
 
 function renderProgress(index, total, l10n) {
-  var progressContainer = document.getElementById('printServiceOverlay');
-  var progress = Math.round(100 * index / total);
-  var progressBar = progressContainer.querySelector('progress');
-  var progressPerc = progressContainer.querySelector('.relative-progress');
+  const progressContainer = document.getElementById("printServiceOverlay");
+  const progress = Math.round(100 * index / total);
+  const progressBar = progressContainer.querySelector("progress");
+  const progressPerc = progressContainer.querySelector(".relative-progress");
   progressBar.value = progress;
-  l10n.get('print_progress_percent', {
-    progress: progress
-  }, progress + '%').then(function (msg) {
+  l10n.get("print_progress_percent", {
+    progress
+  }, progress + "%").then(msg => {
     progressPerc.textContent = msg;
   });
 }
 
-var hasAttachEvent = !!document.attachEvent;
-window.addEventListener('keydown', function (event) {
+window.addEventListener("keydown", function (event) {
   if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || 
window.chrome || window.opera)) {
     window.print();
-
-    if (hasAttachEvent) {
-      return;
-    }
-
     event.preventDefault();
 
     if (event.stopImmediatePropagation) {
@@ -15646,40 +13166,29 @@ window.addEventListener('keydown', function (event) {
   }
 }, true);
 
-if (hasAttachEvent) {
-  document.attachEvent('onkeydown', function (event) {
-    event = event || window.event;
-
-    if (event.keyCode === 80 && event.ctrlKey) {
-      event.keyCode = 0;
-      return false;
-    }
-  });
-}
-
-if ('onbeforeprint' in window) {
-  var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
-    if (event.detail !== 'custom' && event.stopImmediatePropagation) {
+if ("onbeforeprint" in window) {
+  const stopPropagationIfNeeded = function (event) {
+    if (event.detail !== "custom" && event.stopImmediatePropagation) {
       event.stopImmediatePropagation();
     }
   };
 
-  window.addEventListener('beforeprint', stopPropagationIfNeeded);
-  window.addEventListener('afterprint', stopPropagationIfNeeded);
+  window.addEventListener("beforeprint", stopPropagationIfNeeded);
+  window.addEventListener("afterprint", stopPropagationIfNeeded);
 }
 
-var overlayPromise;
+let overlayPromise;
 
 function ensureOverlay() {
   if (!overlayPromise) {
     overlayManager = _app.PDFViewerApplication.overlayManager;
 
     if (!overlayManager) {
-      throw new Error('The overlay manager has not yet been initialized.');
+      throw new Error("The overlay manager has not yet been initialized.");
     }
 
-    overlayPromise = overlayManager.register('printServiceOverlay', 
document.getElementById('printServiceOverlay'), abort, true);
-    document.getElementById('printCancel').onclick = abort;
+    overlayPromise = overlayManager.register("printServiceOverlay", 
document.getElementById("printServiceOverlay"), abort, true);
+    document.getElementById("printCancel").onclick = abort;
   }
 
   return overlayPromise;
@@ -15687,14 +13196,16 @@ function ensureOverlay() {
 
 _app.PDFPrintServiceFactory.instance = {
   supportsPrinting: true,
-  createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
+
+  createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
     if (activeService) {
-      throw new Error('The print service is created and active.');
+      throw new Error("The print service is created and active.");
     }
 
     activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);
     return activeService;
   }
+
 };
 
 /***/ })



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]