{"ast":null,"code":"/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsDistBuildPdf = factory();\n})(this, function () {\n return (/******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __w_pdfjs_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __w_pdfjs_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __w_pdfjs_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/if (!__w_pdfjs_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __w_pdfjs_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __w_pdfjs_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 86);\n /******/\n }\n /************************************************************************/\n /******/([/* 0 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.loadJpegStream = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isNodeJS = exports.isSpace = exports.isString = exports.isNum = exports.isInt = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.isArray = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.createBlob = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.StatTimer = exports.PasswordResponses = exports.PasswordException = exports.PageViewport = exports.NotImplementedException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.MessageHandler = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VERBOSITY_LEVELS = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n __w_pdfjs_require__(87);\n var _streams_polyfill = __w_pdfjs_require__(88);\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n var NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n };\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n var StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n };\n var FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n };\n var VERBOSITY_LEVELS = {\n errors: 0,\n warnings: 1,\n infos: 5\n };\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n var OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n var verbosity = VERBOSITY_LEVELS.warnings;\n function setVerbosityLevel(level) {\n verbosity = level;\n }\n function getVerbosityLevel() {\n return verbosity;\n }\n function info(msg) {\n if (verbosity >= VERBOSITY_LEVELS.infos) {\n console.log('Info: ' + msg);\n }\n }\n function warn(msg) {\n if (verbosity >= VERBOSITY_LEVELS.warnings) {\n console.log('Warning: ' + msg);\n }\n }\n function deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n }\n function unreachable(msg) {\n throw new Error(msg);\n }\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n var UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n };\n function isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n function isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n }\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n }\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n function getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n }\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n var PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n }();\n var UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n }();\n var InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n }();\n var MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n }();\n var UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n }();\n var NotImplementedException = function NotImplementedExceptionClosure() {\n function NotImplementedException(msg) {\n this.message = msg;\n }\n NotImplementedException.prototype = new Error();\n NotImplementedException.prototype.name = 'NotImplementedException';\n NotImplementedException.constructor = NotImplementedException;\n return NotImplementedException;\n }();\n var MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n }();\n var XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n }();\n var FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n }();\n var AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n }();\n var NullCharactersRegExp = /\\x00/g;\n function removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n return str.replace(NullCharactersRegExp, '');\n }\n function bytesToString(bytes) {\n assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n }\n function stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n }\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n }\n function arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n var pos = 0;\n var data = new Uint8Array(resultLength);\n for (i = 0; i < ii; i++) {\n item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n }\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n function log2(x) {\n var n = 1,\n i = 0;\n while (x > n) {\n n <<= 1;\n i++;\n }\n return i;\n }\n function readInt8(data, start) {\n return data[start] << 24 >> 24;\n }\n function readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n function readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n }\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n function isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n }\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n var Util = function UtilClosure() {\n function Util() {}\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n Util.transform = function Util_transform(m1, m2) {\n 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]];\n };\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n 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])];\n };\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n 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];\n };\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n 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]];\n };\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n return result;\n };\n Util.sign = function Util_sign(num) {\n return num < 0 ? -1 : 1;\n };\n 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'];\n Util.toRoman = function Util_toRoman(number, lowerCase) {\n assert(isInt(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n };\n Util.appendToArray = function Util_appendToArray(arr1, arr2) {\n Array.prototype.push.apply(arr1, arr2);\n };\n Util.prependToArray = function Util_prependToArray(arr1, arr2) {\n Array.prototype.unshift.apply(arr1, arr2);\n };\n Util.extendObj = function extendObj(obj1, obj2) {\n for (var key in obj2) {\n obj1[key] = obj2[key];\n }\n };\n Util.getInheritableProperty = function Util_getInheritableProperty(dict, name, getArray) {\n while (dict && !dict.has(name)) {\n dict = dict.get('Parent');\n }\n if (!dict) {\n return null;\n }\n return getArray ? dict.getArray(name) : dict.get(name);\n };\n Util.inherit = function Util_inherit(sub, base, prototype) {\n sub.prototype = Object.create(base.prototype);\n sub.prototype.constructor = sub;\n for (var prop in prototype) {\n sub.prototype[prop] = prototype[prop];\n }\n };\n Util.loadScript = function Util_loadScript(src, callback) {\n var script = document.createElement('script');\n var loaded = false;\n script.setAttribute('src', src);\n if (callback) {\n script.onload = function () {\n if (!loaded) {\n callback();\n }\n loaded = true;\n };\n }\n document.getElementsByTagName('head')[0].appendChild(script);\n };\n return Util;\n }();\n var PageViewport = function PageViewportClosure() {\n function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n this.fontScale = scale;\n }\n PageViewport.prototype = {\n clone: function PageViewPort_clone(args) {\n args = args || {};\n var scale = 'scale' in args ? args.scale : this.scale;\n var rotation = 'rotation' in args ? args.rotation : this.rotation;\n return new PageViewport(this.viewBox.slice(), scale, rotation, this.offsetX, this.offsetY, args.dontFlip);\n },\n convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n },\n convertToViewportRectangle: function PageViewport_convertToViewportRectangle(rect) {\n var tl = Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[1]];\n },\n convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n };\n return PageViewport;\n }();\n 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];\n function stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n }\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n }\n function isBool(v) {\n return typeof v === 'boolean';\n }\n function isInt(v) {\n return typeof v === 'number' && (v | 0) === v;\n }\n function isNum(v) {\n return typeof v === 'number';\n }\n function isString(v) {\n return typeof v === 'string';\n }\n function isArray(v) {\n return v instanceof Array;\n }\n function isArrayBuffer(v) {\n return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n }\n function isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n }\n function isNodeJS() {\n return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n }\n function createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\n }\n var StatTimer = function StatTimerClosure() {\n function rpad(str, pad, length) {\n while (str.length < length) {\n str += pad;\n }\n return str;\n }\n function StatTimer() {\n this.started = Object.create(null);\n this.times = [];\n this.enabled = true;\n }\n StatTimer.prototype = {\n time: function StatTimer_time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n warn('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n },\n timeEnd: function StatTimer_timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n warn('Timer has not been started for ' + name);\n }\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n },\n toString: function StatTimer_toString() {\n var i, ii;\n var times = this.times;\n var out = '';\n var longest = 0;\n for (i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (i = 0, ii = times.length; i < ii; ++i) {\n var span = times[i];\n var duration = span.end - span.start;\n out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n };\n return StatTimer;\n }();\n var createBlob = function createBlob(data, contentType) {\n if (typeof Blob !== 'undefined') {\n return new Blob([data], {\n type: contentType\n });\n }\n throw new Error('The \"Blob\" constructor is not supported.');\n };\n var createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = createBlob(data, contentType);\n return URL.createObjectURL(blob);\n }\n var buffer = 'data:' + contentType + ';base64,';\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n }();\n function resolveCall(fn, args) {\n var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!fn) {\n return Promise.resolve(undefined);\n }\n return new Promise(function (resolve, reject) {\n resolve(fn.apply(thisArg, args));\n });\n }\n function wrapReason(reason) {\n if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n return reason;\n }\n switch (reason.name) {\n case 'AbortException':\n return new AbortException(reason.message);\n case 'MissingPDFException':\n return new MissingPDFException(reason.message);\n case 'UnexpectedResponseException':\n return new UnexpectedResponseException(reason.message, reason.status);\n default:\n return new UnknownErrorException(reason.message, reason.details);\n }\n }\n function resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n }\n function finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n }\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n if (data.targetName !== _this.sourceName) {\n return;\n }\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n if (reason instanceof Error) {\n reason = reason + '';\n }\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: reason\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error('Unknown action from worker: ' + data.action);\n }\n };\n comObj.addEventListener('message', this._onComObjOnMessage);\n }\n MessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = createPromiseCapability();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _streams_polyfill.ReadableStream({\n start: function start(controller) {\n var startCapability = createPromiseCapability();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = createPromiseCapability();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = createPromiseCapability();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = createPromiseCapability();\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments[2];\n if (this.isCancelled) {\n return;\n }\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = createPromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n case 'enqueue':\n assert(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n break;\n case 'close':\n assert(this.streamControllers[data.streamId], 'close should have stream controller');\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n case 'error':\n assert(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n };\n function loadJpegStream(id, imageUrl, objs) {\n var img = new Image();\n img.onload = function loadJpegStream_onloadClosure() {\n objs.resolve(id, img);\n };\n img.onerror = function loadJpegStream_onerrorClosure() {\n objs.resolve(id, null);\n warn('Error during JPEG image loading');\n };\n img.src = imageUrl;\n }\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n exports.OPS = OPS;\n exports.VERBOSITY_LEVELS = VERBOSITY_LEVELS;\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n exports.AnnotationFlag = AnnotationFlag;\n exports.AnnotationType = AnnotationType;\n exports.FontType = FontType;\n exports.ImageKind = ImageKind;\n exports.CMapCompressionType = CMapCompressionType;\n exports.AbortException = AbortException;\n exports.InvalidPDFException = InvalidPDFException;\n exports.MessageHandler = MessageHandler;\n exports.MissingDataException = MissingDataException;\n exports.MissingPDFException = MissingPDFException;\n exports.NativeImageDecoding = NativeImageDecoding;\n exports.NotImplementedException = NotImplementedException;\n exports.PageViewport = PageViewport;\n exports.PasswordException = PasswordException;\n exports.PasswordResponses = PasswordResponses;\n exports.StatTimer = StatTimer;\n exports.StreamType = StreamType;\n exports.TextRenderingMode = TextRenderingMode;\n exports.UnexpectedResponseException = UnexpectedResponseException;\n exports.UnknownErrorException = UnknownErrorException;\n exports.Util = Util;\n exports.XRefParseException = XRefParseException;\n exports.FormatError = FormatError;\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createBlob = createBlob;\n exports.createPromiseCapability = createPromiseCapability;\n exports.createObjectURL = createObjectURL;\n exports.deprecated = deprecated;\n exports.getLookupTableFactory = getLookupTableFactory;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArray = isArray;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\n exports.isInt = isInt;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSpace = isSpace;\n exports.isNodeJS = isNodeJS;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.isLittleEndian = isLittleEndian;\n exports.isEvalSupported = isEvalSupported;\n exports.loadJpegStream = loadJpegStream;\n exports.log2 = log2;\n exports.readInt8 = readInt8;\n exports.readUint16 = readUint16;\n exports.readUint32 = readUint32;\n exports.removeNullCharacters = removeNullCharacters;\n exports.ReadableStream = _streams_polyfill.ReadableStream;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n\n /***/\n }, /* 1 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var store = __w_pdfjs_require__(48)('wks');\n var uid = __w_pdfjs_require__(13);\n var _Symbol = __w_pdfjs_require__(2).Symbol;\n var USE_SYMBOL = typeof _Symbol == 'function';\n var $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n };\n $exports.store = store;\n\n /***/\n }, /* 2 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n if (typeof __g == 'number') __g = global;\n\n /***/\n }, /* 3 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = !__w_pdfjs_require__(17)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n });\n\n /***/\n }, /* 4 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var dP = __w_pdfjs_require__(8);\n var createDesc = __w_pdfjs_require__(18);\n module.exports = __w_pdfjs_require__(3) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n } : function (object, key, value) {\n object[key] = value;\n return object;\n };\n\n /***/\n }, /* 5 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var hasOwnProperty = {}.hasOwnProperty;\n module.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n };\n\n /***/\n }, /* 6 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(11);\n var min = Math.min;\n module.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n };\n\n /***/\n }, /* 7 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.getDefaultSetting = exports.LinkTarget = exports.getFilenameFromUrl = exports.isValidUrl = exports.isExternalLinkTargetSet = exports.addLinkAttributes = exports.RenderingCancelledException = exports.CustomStyle = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _util = __w_pdfjs_require__(0);\n var _global_scope = __w_pdfjs_require__(14);\n var _global_scope2 = _interopRequireDefault(_global_scope);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\n var DOMCanvasFactory = function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n _createClass(DOMCanvasFactory, [{\n key: 'create',\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: 'reset',\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: 'destroy',\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n return DOMCanvasFactory;\n }();\n var DOMCMapReaderFactory = function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n _classCallCheck(this, DOMCMapReaderFactory);\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n _createClass(DOMCMapReaderFactory, [{\n key: 'fetch',\n value: function fetch(_ref2) {\n var _this = this;\n var name = _ref2.name;\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n var data = void 0;\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n request.send(null);\n });\n }\n }]);\n return DOMCMapReaderFactory;\n }();\n var CustomStyle = function CustomStyleClosure() {\n var prefixes = ['ms', 'Moz', 'Webkit', 'O'];\n var _cache = Object.create(null);\n function CustomStyle() {}\n CustomStyle.getProp = function get(propName, element) {\n if (arguments.length === 1 && typeof _cache[propName] === 'string') {\n return _cache[propName];\n }\n element = element || document.documentElement;\n var style = element.style,\n prefixed,\n uPropName;\n if (typeof style[propName] === 'string') {\n return _cache[propName] = propName;\n }\n uPropName = propName.charAt(0).toUpperCase() + propName.slice(1);\n for (var i = 0, l = prefixes.length; i < l; i++) {\n prefixed = prefixes[i] + uPropName;\n if (typeof style[prefixed] === 'string') {\n return _cache[propName] = prefixed;\n }\n }\n return _cache[propName] = 'undefined';\n };\n CustomStyle.setProp = function set(propName, element, str) {\n var prop = this.getProp(propName);\n if (prop !== 'undefined') {\n element.style[prop] = str;\n }\n };\n return CustomStyle;\n }();\n var RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n }();\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n function addLinkAttributes(link, params) {\n var url = params && params.url;\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n if (url) {\n var target = params.target;\n if (typeof target === 'undefined') {\n target = getDefaultSetting('externalLinkTarget');\n }\n link.target = LinkTargetStringMap[target];\n var rel = params.rel;\n if (typeof rel === 'undefined') {\n rel = getDefaultSetting('externalLinkRel');\n }\n link.rel = rel;\n }\n }\n function getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n }\n function getDefaultSetting(id) {\n var globalSettings = _global_scope2.default.PDFJS;\n switch (id) {\n case 'pdfBug':\n return globalSettings ? globalSettings.pdfBug : false;\n case 'disableAutoFetch':\n return globalSettings ? globalSettings.disableAutoFetch : false;\n case 'disableStream':\n return globalSettings ? globalSettings.disableStream : false;\n case 'disableRange':\n return globalSettings ? globalSettings.disableRange : false;\n case 'disableFontFace':\n return globalSettings ? globalSettings.disableFontFace : false;\n case 'disableCreateObjectURL':\n return globalSettings ? globalSettings.disableCreateObjectURL : false;\n case 'disableWebGL':\n return globalSettings ? globalSettings.disableWebGL : true;\n case 'cMapUrl':\n return globalSettings ? globalSettings.cMapUrl : null;\n case 'cMapPacked':\n return globalSettings ? globalSettings.cMapPacked : false;\n case 'postMessageTransfers':\n return globalSettings ? globalSettings.postMessageTransfers : true;\n case 'workerPort':\n return globalSettings ? globalSettings.workerPort : null;\n case 'workerSrc':\n return globalSettings ? globalSettings.workerSrc : null;\n case 'disableWorker':\n return globalSettings ? globalSettings.disableWorker : false;\n case 'maxImageSize':\n return globalSettings ? globalSettings.maxImageSize : -1;\n case 'imageResourcesPath':\n return globalSettings ? globalSettings.imageResourcesPath : '';\n case 'isEvalSupported':\n return globalSettings ? globalSettings.isEvalSupported : true;\n case 'externalLinkTarget':\n if (!globalSettings) {\n return LinkTarget.NONE;\n }\n switch (globalSettings.externalLinkTarget) {\n case LinkTarget.NONE:\n case LinkTarget.SELF:\n case LinkTarget.BLANK:\n case LinkTarget.PARENT:\n case LinkTarget.TOP:\n return globalSettings.externalLinkTarget;\n }\n (0, _util.warn)('PDFJS.externalLinkTarget is invalid: ' + globalSettings.externalLinkTarget);\n globalSettings.externalLinkTarget = LinkTarget.NONE;\n return LinkTarget.NONE;\n case 'externalLinkRel':\n return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL;\n case 'enableStats':\n return !!(globalSettings && globalSettings.enableStats);\n case 'pdfjsNext':\n return !!(globalSettings && globalSettings.pdfjsNext);\n default:\n throw new Error('Unknown default setting: ' + id);\n }\n }\n function isExternalLinkTargetSet() {\n var externalLinkTarget = getDefaultSetting('externalLinkTarget');\n switch (externalLinkTarget) {\n case LinkTarget.NONE:\n return false;\n case LinkTarget.SELF:\n case LinkTarget.BLANK:\n case LinkTarget.PARENT:\n case LinkTarget.TOP:\n return true;\n }\n }\n function isValidUrl(url, allowRelative) {\n (0, _util.deprecated)('isValidUrl(), please use createValidAbsoluteUrl() instead.');\n var baseUrl = allowRelative ? 'http://example.com' : null;\n return (0, _util.createValidAbsoluteUrl)(url, baseUrl) !== null;\n }\n exports.CustomStyle = CustomStyle;\n exports.RenderingCancelledException = RenderingCancelledException;\n exports.addLinkAttributes = addLinkAttributes;\n exports.isExternalLinkTargetSet = isExternalLinkTargetSet;\n exports.isValidUrl = isValidUrl;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.LinkTarget = LinkTarget;\n exports.getDefaultSetting = getDefaultSetting;\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n exports.DOMCanvasFactory = DOMCanvasFactory;\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n /***/\n }, /* 8 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(15);\n var IE8_DOM_DEFINE = __w_pdfjs_require__(41);\n var toPrimitive = __w_pdfjs_require__(28);\n var dP = Object.defineProperty;\n exports.f = __w_pdfjs_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n };\n\n /***/\n }, /* 9 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n module.exports = function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n };\n\n /***/\n }, /* 10 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = {};\n\n /***/\n }, /* 11 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ceil = Math.ceil;\n var floor = Math.floor;\n module.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n };\n\n /***/\n }, /* 12 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var defined = __w_pdfjs_require__(38);\n module.exports = function (it) {\n return Object(defined(it));\n };\n\n /***/\n }, /* 13 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var id = 0;\n var px = Math.random();\n module.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n };\n\n /***/\n }, /* 14 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n /***/\n }, /* 15 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(9);\n module.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n };\n\n /***/\n }, /* 16 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var core = module.exports = {\n version: '2.5.0'\n };\n if (typeof __e == 'number') __e = core;\n\n /***/\n }, /* 17 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n };\n\n /***/\n }, /* 18 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n };\n\n /***/\n }, /* 19 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(11);\n var max = Math.max;\n var min = Math.min;\n module.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n };\n\n /***/\n }, /* 20 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var IObject = __w_pdfjs_require__(42);\n var defined = __w_pdfjs_require__(38);\n module.exports = function (it) {\n return IObject(defined(it));\n };\n\n /***/\n }, /* 21 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toString = {}.toString;\n module.exports = function (it) {\n return toString.call(it).slice(8, -1);\n };\n\n /***/\n }, /* 22 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var aFunction = __w_pdfjs_require__(33);\n module.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n };\n\n /***/\n }, /* 23 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n /***/\n }, /* 24 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = false;\n\n /***/\n }, /* 25 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var hide = __w_pdfjs_require__(4);\n var has = __w_pdfjs_require__(5);\n var SRC = __w_pdfjs_require__(13)('src');\n var TO_STRING = 'toString';\n var $toString = Function[TO_STRING];\n var TPL = ('' + $toString).split(TO_STRING);\n __w_pdfjs_require__(16).inspectSource = function (it) {\n return $toString.call(it);\n };\n (module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n })(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n });\n\n /***/\n }, /* 26 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var def = __w_pdfjs_require__(8).f;\n var has = __w_pdfjs_require__(5);\n var TAG = __w_pdfjs_require__(1)('toStringTag');\n module.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n };\n\n /***/\n }, /* 27 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var shared = __w_pdfjs_require__(48)('keys');\n var uid = __w_pdfjs_require__(13);\n module.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n };\n\n /***/\n }, /* 28 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(9);\n module.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n\n /***/\n }, /* 29 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = undefined;\n var _dom_utils = __w_pdfjs_require__(7);\n var _util = __w_pdfjs_require__(0);\n function AnnotationElementFactory() {}\n AnnotationElementFactory.prototype = {\n create: function AnnotationElementFactory_create(parameters) {\n var subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n (0, _util.warn)('Unimplemented button widget annotation: pushbutton');\n break;\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n };\n var AnnotationElement = function AnnotationElementClosure() {\n function AnnotationElement(parameters, isRenderable, ignoreBorder) {\n this.isRenderable = isRenderable || false;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n AnnotationElement.prototype = {\n _createContainer: function AnnotationElement_createContainer(ignoreBorder) {\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n 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]]);\n _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')');\n _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px');\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n _dom_utils.CustomStyle.setProp('borderRadius', container, radius);\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n default:\n break;\n }\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n },\n _createPopup: function AnnotationElement_createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n },\n render: function AnnotationElement_render() {\n throw new Error('Abstract method AnnotationElement.render called');\n }\n };\n return AnnotationElement;\n }();\n var LinkAnnotationElement = function LinkAnnotationElementClosure() {\n function LinkAnnotationElement(parameters) {\n AnnotationElement.call(this, parameters, true);\n }\n _util.Util.inherit(LinkAnnotationElement, AnnotationElement, {\n render: function LinkAnnotationElement_render() {\n this.container.className = 'linkAnnotation';\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: this.data.url,\n target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined\n });\n if (!this.data.url) {\n if (this.data.action) {\n this._bindNamedAction(link, this.data.action);\n } else {\n this._bindLink(link, this.data.dest);\n }\n }\n this.container.appendChild(link);\n return this.container;\n },\n _bindLink: function _bindLink(link, destination) {\n var _this = this;\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = 'internalLink';\n }\n },\n _bindNamedAction: function _bindNamedAction(link, action) {\n var _this2 = this;\n link.href = this.linkService.getAnchorUrl('');\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n return false;\n };\n link.className = 'internalLink';\n }\n });\n return LinkAnnotationElement;\n }();\n var TextAnnotationElement = function TextAnnotationElementClosure() {\n function TextAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(TextAnnotationElement, AnnotationElement, {\n render: function TextAnnotationElement_render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n });\n return TextAnnotationElement;\n }();\n var WidgetAnnotationElement = function WidgetAnnotationElementClosure() {\n function WidgetAnnotationElement(parameters, isRenderable) {\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(WidgetAnnotationElement, AnnotationElement, {\n render: function WidgetAnnotationElement_render() {\n return this.container;\n }\n });\n return WidgetAnnotationElement;\n }();\n var TextWidgetAnnotationElement = function TextWidgetAnnotationElementClosure() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n function TextWidgetAnnotationElement(parameters) {\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n WidgetAnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(TextWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function TextWidgetAnnotationElement_render() {\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n element.disabled = this.data.readOnly;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n if (this.data.fontRefName) {\n font = this.page.commonObjs.getData(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n this.container.appendChild(element);\n return this.container;\n },\n _setTextStyle: function TextWidgetAnnotationElement_setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n if (!font) {\n return;\n }\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n });\n return TextWidgetAnnotationElement;\n }();\n var CheckboxWidgetAnnotationElement = function CheckboxWidgetAnnotationElementClosure() {\n function CheckboxWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(CheckboxWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function CheckboxWidgetAnnotationElement_render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n });\n return CheckboxWidgetAnnotationElement;\n }();\n var RadioButtonWidgetAnnotationElement = function RadioButtonWidgetAnnotationElementClosure() {\n function RadioButtonWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(RadioButtonWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function RadioButtonWidgetAnnotationElement_render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n });\n return RadioButtonWidgetAnnotationElement;\n }();\n var ChoiceWidgetAnnotationElement = function ChoiceWidgetAnnotationElementClosure() {\n function ChoiceWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(ChoiceWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function ChoiceWidgetAnnotationElement_render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.indexOf(option.displayValue) >= 0) {\n optionElement.setAttribute('selected', true);\n }\n selectElement.appendChild(optionElement);\n }\n this.container.appendChild(selectElement);\n return this.container;\n }\n });\n return ChoiceWidgetAnnotationElement;\n }();\n var PopupAnnotationElement = function PopupAnnotationElementClosure() {\n var IGNORE_TYPES = ['Line'];\n function PopupAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(PopupAnnotationElement, AnnotationElement, {\n render: function PopupAnnotationElement_render() {\n this.container.className = 'popupAnnotation';\n if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) {\n return this.container;\n }\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top);\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n });\n return PopupAnnotationElement;\n }();\n var PopupElement = function PopupElementClosure() {\n var BACKGROUND_ENLIGHT = 0.7;\n function PopupElement(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n PopupElement.prototype = {\n render: function PopupElement_render() {\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n var contents = this._formatContents(this.contents);\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n },\n _formatContents: function PopupElement_formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n return p;\n },\n _toggle: function PopupElement_toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n },\n _show: function PopupElement_show(pin) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n },\n _hide: function PopupElement_hide(unpin) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n };\n return PopupElement;\n }();\n var LineAnnotationElement = function LineAnnotationElementClosure() {\n var SVG_NS = 'http://www.w3.org/2000/svg';\n function LineAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(LineAnnotationElement, AnnotationElement, {\n render: function LineAnnotationElement_render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttributeNS(null, 'version', '1.1');\n svg.setAttributeNS(null, 'width', width + 'px');\n svg.setAttributeNS(null, 'height', height + 'px');\n svg.setAttributeNS(null, 'preserveAspectRatio', 'none');\n svg.setAttributeNS(null, 'viewBox', '0 0 ' + width + ' ' + height);\n var line = document.createElementNS(SVG_NS, 'svg:line');\n line.setAttributeNS(null, 'x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttributeNS(null, 'y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttributeNS(null, 'x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttributeNS(null, 'y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttributeNS(null, 'stroke-width', data.borderStyle.width);\n line.setAttributeNS(null, 'stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, this.data);\n return this.container;\n }\n });\n return LineAnnotationElement;\n }();\n var HighlightAnnotationElement = function HighlightAnnotationElementClosure() {\n function HighlightAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(HighlightAnnotationElement, AnnotationElement, {\n render: function HighlightAnnotationElement_render() {\n this.container.className = 'highlightAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return HighlightAnnotationElement;\n }();\n var UnderlineAnnotationElement = function UnderlineAnnotationElementClosure() {\n function UnderlineAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(UnderlineAnnotationElement, AnnotationElement, {\n render: function UnderlineAnnotationElement_render() {\n this.container.className = 'underlineAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return UnderlineAnnotationElement;\n }();\n var SquigglyAnnotationElement = function SquigglyAnnotationElementClosure() {\n function SquigglyAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(SquigglyAnnotationElement, AnnotationElement, {\n render: function SquigglyAnnotationElement_render() {\n this.container.className = 'squigglyAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return SquigglyAnnotationElement;\n }();\n var StrikeOutAnnotationElement = function StrikeOutAnnotationElementClosure() {\n function StrikeOutAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(StrikeOutAnnotationElement, AnnotationElement, {\n render: function StrikeOutAnnotationElement_render() {\n this.container.className = 'strikeoutAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return StrikeOutAnnotationElement;\n }();\n var FileAttachmentAnnotationElement = function FileAttachmentAnnotationElementClosure() {\n function FileAttachmentAnnotationElement(parameters) {\n AnnotationElement.call(this, parameters, true);\n var file = this.data.file;\n this.filename = (0, _dom_utils.getFilenameFromUrl)(file.filename);\n this.content = file.content;\n this.linkService.onFileAttachmentAnnotation({\n id: (0, _util.stringToPDFString)(file.filename),\n filename: file.filename,\n content: file.content\n });\n }\n _util.Util.inherit(FileAttachmentAnnotationElement, AnnotationElement, {\n render: function FileAttachmentAnnotationElement_render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n this.container.appendChild(trigger);\n return this.container;\n },\n _download: function FileAttachmentAnnotationElement_download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n });\n return FileAttachmentAnnotationElement;\n }();\n var AnnotationLayer = function AnnotationLayerClosure() {\n return {\n render: function AnnotationLayer_render(parameters) {\n var annotationElementFactory = new AnnotationElementFactory();\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n if (!data) {\n continue;\n }\n var element = annotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || (0, _dom_utils.getDefaultSetting)('imageResourcesPath'),\n renderInteractiveForms: parameters.renderInteractiveForms || false\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n },\n update: function AnnotationLayer_update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n if (element) {\n _dom_utils.CustomStyle.setProp('transform', element, 'matrix(' + parameters.viewport.transform.join(',') + ')');\n }\n }\n parameters.div.removeAttribute('hidden');\n }\n };\n }();\n exports.AnnotationLayer = AnnotationLayer;\n\n /***/\n }, /* 30 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.build = exports.version = exports._UnsupportedManager = exports.setPDFNetworkStreamClass = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var _util = __w_pdfjs_require__(0);\n var _dom_utils = __w_pdfjs_require__(7);\n var _font_loader = __w_pdfjs_require__(83);\n var _canvas = __w_pdfjs_require__(82);\n var _global_scope = __w_pdfjs_require__(14);\n var _global_scope2 = _interopRequireDefault(_global_scope);\n var _metadata = __w_pdfjs_require__(51);\n var _transport_stream = __w_pdfjs_require__(85);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var isWorkerDisabled = false;\n var workerSrc;\n var isPostMessageTransfersDisabled = false;\n var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : null;\n var fakeWorkerFilesLoader = null;\n var useRequireEnsure = false;\n {\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function (callback) {\n require.ensure([], function () {\n var worker;\n worker = require('./pdf.worker.js');\n callback(worker.WorkerMessageHandler);\n });\n } : dynamicLoaderSupported ? function (callback) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n callback(worker.WorkerMessageHandler);\n });\n } : null;\n }\n var PDFNetworkStream;\n function setPDFNetworkStreamClass(cls) {\n PDFNetworkStream = cls;\n }\n function getDocument(src, pdfDataRangeTransport, passwordCallback, progressCallback) {\n var task = new PDFDocumentLoadingTask();\n if (arguments.length > 1) {\n (0, _util.deprecated)('getDocument is called with pdfDataRangeTransport, ' + 'passwordCallback or progressCallback argument');\n }\n if (pdfDataRangeTransport) {\n if (!(pdfDataRangeTransport instanceof PDFDataRangeTransport)) {\n pdfDataRangeTransport = Object.create(pdfDataRangeTransport);\n pdfDataRangeTransport.length = src.length;\n pdfDataRangeTransport.initialData = src.initialData;\n if (!pdfDataRangeTransport.abort) {\n pdfDataRangeTransport.abort = function () {};\n }\n }\n src = Object.create(src);\n src.range = pdfDataRangeTransport;\n }\n task.onPassword = passwordCallback || null;\n task.onProgress = progressCallback || null;\n var source;\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n var params = {};\n var rangeTransport = null;\n var worker = null;\n var CMapReaderFactory = _dom_utils.DOMCMapReaderFactory;\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n continue;\n } else if (key === 'CMapReaderFactory') {\n CMapReaderFactory = source[key];\n continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.ignoreErrors = params.stopAtErrors !== true;\n if (params.disableNativeImageDecoder !== undefined) {\n (0, _util.deprecated)('parameter disableNativeImageDecoder, ' + 'use nativeImageDecoderSupport instead');\n }\n params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || (params.disableNativeImageDecoder === true ? _util.NativeImageDecoding.NONE : _util.NativeImageDecoding.DECODE);\n if (params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DECODE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DISPLAY) {\n (0, _util.warn)('Invalid parameter nativeImageDecoderSupport: ' + 'need a state of enum {NativeImageDecoding}');\n params.nativeImageDecoderSupport = _util.NativeImageDecoding.DECODE;\n }\n if (!worker) {\n var workerPort = (0, _dom_utils.getDefaultSetting)('workerPort');\n worker = workerPort ? PDFWorker.fromPort(workerPort) : new PDFWorker();\n task._worker = worker;\n }\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n var networkStream = void 0;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream(params, rangeTransport);\n } else if (!params.data) {\n networkStream = new PDFNetworkStream({\n source: params,\n disableRange: (0, _dom_utils.getDefaultSetting)('disableRange')\n });\n }\n var messageHandler = new _util.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, CMapReaderFactory);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n }\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');\n source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');\n source.chunkedViewerLoading = !!pdfDataRangeTransport;\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: (0, _dom_utils.getDefaultSetting)('maxImageSize'),\n disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n disableCreateObjectURL: (0, _dom_utils.getDefaultSetting)('disableCreateObjectURL'),\n postMessageTransfers: (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n return workerId;\n });\n }\n var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n function PDFDocumentLoadingTask() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n PDFDocumentLoadingTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n destroy: function destroy() {\n var _this = this;\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n if (_this._worker) {\n _this._worker.destroy();\n _this._worker = null;\n }\n });\n },\n then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return PDFDocumentLoadingTask;\n }();\n var PDFDataRangeTransport = function pdfDataRangeTransportClosure() {\n function PDFDataRangeTransport(length, initialData) {\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n PDFDataRangeTransport.prototype = {\n addRangeListener: function PDFDataRangeTransport_addRangeListener(listener) {\n this._rangeListeners.push(listener);\n },\n addProgressListener: function PDFDataRangeTransport_addProgressListener(listener) {\n this._progressListeners.push(listener);\n },\n addProgressiveReadListener: function PDFDataRangeTransport_addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n },\n onDataRange: function PDFDataRangeTransport_onDataRange(begin, chunk) {\n var listeners = this._rangeListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](begin, chunk);\n }\n },\n onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {\n var _this2 = this;\n this._readyCapability.promise.then(function () {\n var listeners = _this2._progressListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](loaded);\n }\n });\n },\n onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {\n var _this3 = this;\n this._readyCapability.promise.then(function () {\n var listeners = _this3._progressiveReadListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](chunk);\n }\n });\n },\n transportReady: function PDFDataRangeTransport_transportReady() {\n this._readyCapability.resolve();\n },\n requestDataRange: function PDFDataRangeTransport_requestDataRange(begin, end) {\n throw new Error('Abstract method PDFDataRangeTransport.requestDataRange');\n },\n abort: function PDFDataRangeTransport_abort() {}\n };\n return PDFDataRangeTransport;\n }();\n var PDFDocumentProxy = function PDFDocumentProxyClosure() {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n this.pdfInfo = pdfInfo;\n this.transport = transport;\n this.loadingTask = loadingTask;\n }\n PDFDocumentProxy.prototype = {\n get numPages() {\n return this.pdfInfo.numPages;\n },\n get fingerprint() {\n return this.pdfInfo.fingerprint;\n },\n getPage: function PDFDocumentProxy_getPage(pageNumber) {\n return this.transport.getPage(pageNumber);\n },\n getPageIndex: function PDFDocumentProxy_getPageIndex(ref) {\n return this.transport.getPageIndex(ref);\n },\n getDestinations: function PDFDocumentProxy_getDestinations() {\n return this.transport.getDestinations();\n },\n getDestination: function PDFDocumentProxy_getDestination(id) {\n return this.transport.getDestination(id);\n },\n getPageLabels: function PDFDocumentProxy_getPageLabels() {\n return this.transport.getPageLabels();\n },\n getPageMode: function getPageMode() {\n return this.transport.getPageMode();\n },\n getAttachments: function PDFDocumentProxy_getAttachments() {\n return this.transport.getAttachments();\n },\n getJavaScript: function PDFDocumentProxy_getJavaScript() {\n return this.transport.getJavaScript();\n },\n getOutline: function PDFDocumentProxy_getOutline() {\n return this.transport.getOutline();\n },\n getMetadata: function PDFDocumentProxy_getMetadata() {\n return this.transport.getMetadata();\n },\n getData: function PDFDocumentProxy_getData() {\n return this.transport.getData();\n },\n getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() {\n return this.transport.downloadInfoCapability.promise;\n },\n getStats: function PDFDocumentProxy_getStats() {\n return this.transport.getStats();\n },\n cleanup: function PDFDocumentProxy_cleanup() {\n this.transport.startCleanup();\n },\n destroy: function PDFDocumentProxy_destroy() {\n return this.loadingTask.destroy();\n }\n };\n return PDFDocumentProxy;\n }();\n var PDFPageProxy = function PDFPageProxyClosure() {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n this.pageIndex = pageIndex;\n this.pageInfo = pageInfo;\n this.transport = transport;\n this.stats = new _util.StatTimer();\n this.stats.enabled = (0, _dom_utils.getDefaultSetting)('enableStats');\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n PDFPageProxy.prototype = {\n get pageNumber() {\n return this.pageIndex + 1;\n },\n get rotate() {\n return this.pageInfo.rotate;\n },\n get ref() {\n return this.pageInfo.ref;\n },\n get userUnit() {\n return this.pageInfo.userUnit;\n },\n get view() {\n return this.pageInfo.view;\n },\n getViewport: function PDFPageProxy_getViewport(scale, rotate) {\n if (arguments.length < 2) {\n rotate = this.rotate;\n }\n return new _util.PageViewport(this.view, scale, rotate, 0, 0);\n },\n getAnnotations: function PDFPageProxy_getAnnotations(params) {\n var intent = params && params.intent || null;\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n },\n render: function PDFPageProxy_render(params) {\n var _this4 = this;\n var stats = this.stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this.stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: params.renderInteractiveForms === true\n });\n }\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n _this4._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);\n internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n if (params.continueCallback) {\n (0, _util.deprecated)('render is used with continueCallback parameter');\n renderTask.onContinue = params.continueCallback;\n }\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n },\n getOperatorList: function PDFPageProxy_getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n var renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n },\n streamTextContent: function streamTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this.transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: params.normalizeWhitespace === true,\n combineTextItems: params.disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n },\n getTextContent: function PDFPageProxy_getTextContent(params) {\n params = params || {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref) {\n var value = _ref.value,\n done = _ref.done;\n if (done) {\n resolve(textContent);\n return;\n }\n _util.Util.extendObj(textContent.styles, value.styles);\n _util.Util.appendToArray(textContent.items, value.items);\n pump();\n }, reject);\n }\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n },\n _destroy: function PDFPageProxy_destroy() {\n this.destroyed = true;\n this.transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n },\n destroy: function destroy() {\n (0, _util.deprecated)('page destroy method, use cleanup() instead');\n this.cleanup();\n },\n cleanup: function PDFPageProxy_cleanup() {\n this.pendingCleanup = true;\n this._tryCleanup();\n },\n _tryCleanup: function PDFPageProxy_tryCleanup() {\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n },\n _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n },\n _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n var i, ii;\n for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n this._tryCleanup();\n }\n }\n };\n return PDFPageProxy;\n }();\n var LoopbackPort = function () {\n function LoopbackPort(defer) {\n _classCallCheck(this, LoopbackPort);\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n _createClass(LoopbackPort, [{\n key: 'postMessage',\n value: function postMessage(obj, transfers) {\n var _this5 = this;\n function cloneValue(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n var result;\n var buffer;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.indexOf(buffer) >= 0;\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (var i in value) {\n var desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, {\n data: obj\n });\n }, this);\n return;\n }\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: 'addEventListener',\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: 'removeEventListener',\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n }, {\n key: 'terminate',\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n return LoopbackPort;\n }();\n var PDFWorker = function PDFWorkerClosure() {\n var nextFakeWorkerId = 0;\n function getWorkerSrc() {\n if (typeof workerSrc !== 'undefined') {\n return workerSrc;\n }\n if ((0, _dom_utils.getDefaultSetting)('workerSrc')) {\n return (0, _dom_utils.getDefaultSetting)('workerSrc');\n }\n if (pdfjsFilePath) {\n return pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n throw new Error('No PDFJS.workerSrc specified');\n }\n var fakeWorkerFilesLoadedCapability = void 0;\n function setupFakeWorkerGlobal() {\n var WorkerMessageHandler;\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var loader = fakeWorkerFilesLoader || function (callback) {\n _util.Util.loadScript(getWorkerSrc(), function () {\n callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);\n });\n };\n loader(fakeWorkerFilesLoadedCapability.resolve);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return URL.createObjectURL(new Blob([wrapper]));\n }\n var pdfWorkerPorts = new WeakMap();\n function PDFWorker(name, port) {\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n PDFWorker.prototype = {\n get promise() {\n return this._readyCapability.promise;\n },\n get port() {\n return this._port;\n },\n get messageHandler() {\n return this._messageHandler;\n },\n _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _util.MessageHandler('main', 'worker', port);\n this._messageHandler.on('ready', function () {});\n this._readyCapability.resolve();\n },\n _initialize: function PDFWorker_initialize() {\n var _this6 = this;\n if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {\n var workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n var worker = new Worker(workerSrc);\n var messageHandler = new _util.MessageHandler('main', 'worker', worker);\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n var supportTypedArray = data && data.supportTypedArray;\n if (supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n isPostMessageTransfersDisabled = true;\n }\n _this6._readyCapability.resolve();\n messageHandler.send('configure', {\n verbosity: (0, _util.getVerbosityLevel)()\n });\n } else {\n _this6._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('console_log', function (data) {\n console.log.apply(console, data);\n });\n messageHandler.on('console_error', function (data) {\n console.error.apply(console, data);\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n var sendTest = function sendTest() {\n var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled;\n var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n this._setupFakeWorker();\n },\n _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n var _this7 = this;\n if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n return;\n }\n var isTypedArraysPresent = Uint8Array !== Float32Array;\n var port = new LoopbackPort(isTypedArraysPresent);\n _this7._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _util.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _util.MessageHandler(id, id + '_worker', port);\n _this7._messageHandler = messageHandler;\n _this7._readyCapability.resolve();\n });\n },\n destroy: function PDFWorker_destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n };\n PDFWorker.fromPort = function (port) {\n if (pdfWorkerPorts.has(port)) {\n return pdfWorkerPorts.get(port);\n }\n return new PDFWorker(null, port);\n };\n return PDFWorker;\n }();\n var WorkerTransport = function WorkerTransportClosure() {\n function WorkerTransport(messageHandler, loadingTask, networkStream, CMapReaderFactory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);\n this.CMapReaderFactory = new CMapReaderFactory({\n baseUrl: (0, _dom_utils.getDefaultSetting)('cMapUrl'),\n isCompressed: (0, _dom_utils.getDefaultSetting)('cMapPacked')\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n WorkerTransport.prototype = {\n destroy: function WorkerTransport_destroy() {\n var _this8 = this;\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n _this8.messageHandler = null;\n }\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n },\n setupMessageHandler: function WorkerTransport_setupMessageHandler() {\n var messageHandler = this.messageHandler;\n var loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress) {\n var _loadingTask = _this10.loadingTask;\n if (_loadingTask.onProgress) {\n _loadingTask.onProgress(_this10._lastProgress);\n }\n }\n fullReader.onProgress = function (evt) {\n var loadingTask = _this10.loadingTask;\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n var _rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n sink.onPull = function () {\n _rangeReader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function transportDoc(data) {\n var pdfInfo = data.pdfInfo;\n this.numPages = data.pdfInfo.numPages;\n var loadingTask = this.loadingTask;\n var pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n this.pdfDocument = pdfDocument;\n loadingTask._capability.resolve(pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {\n var _this11 = this;\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({\n password: password\n });\n };\n loadingTask.onPassword(updatePassword, exception.code);\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function transportPasswordException(exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function transportInvalidPDF(exception) {\n this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function transportMissingPDF(exception) {\n this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function transportUnexpectedResponse(exception) {\n this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function transportUnknownError(exception) {\n this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function transportPage(data) {\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('PDFManagerReady', function transportPage(data) {}, this);\n messageHandler.on('StartRenderPage', function transportRender(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page.stats.timeEnd('Page Request');\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function transportRender(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function transportObj(data) {\n var _this12 = this;\n if (this.destroyed) {\n return;\n }\n var id = data[0];\n var type = data[1];\n if (this.commonObjs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'Font':\n var exportedData = data[2];\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)('Error during font loading: ' + exportedError);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n var fontRegistry = null;\n if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.FontInspector && _global_scope2.default['FontInspector'].enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope2.default['FontInspector'].fontAdded(font, url);\n }\n };\n }\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSuported: (0, _dom_utils.getDefaultSetting)('isEvalSupported'),\n disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n fontRegistry: fontRegistry\n });\n var fontReady = function fontReady(fontObjs) {\n _this12.commonObjs.resolve(id, font);\n };\n this.fontLoader.bind([font], fontReady);\n break;\n case 'FontPath':\n this.commonObjs.resolve(id, data[2]);\n break;\n default:\n throw new Error('Got unknown common object type ' + type);\n }\n }, this);\n messageHandler.on('obj', function transportObj(data) {\n if (this.destroyed) {\n return;\n }\n var id = data[0];\n var pageIndex = data[1];\n var type = data[2];\n var pageProxy = this.pageCache[pageIndex];\n var imageData;\n if (pageProxy.objs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'JpegStream':\n imageData = data[3];\n (0, _util.loadJpegStream)(id, imageData, pageProxy.objs);\n break;\n case 'Image':\n imageData = data[3];\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error('Got unknown object type ' + type);\n }\n }, this);\n messageHandler.on('DocProgress', function transportDocProgress(data) {\n if (this.destroyed) {\n return;\n }\n var loadingTask = this.loadingTask;\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function transportError(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', function transportUnsupportedFeature(data) {\n if (this.destroyed) {\n return;\n }\n var featureId = data.featureId;\n var loadingTask = this.loadingTask;\n if (loadingTask.onUnsupportedFeature) {\n loadingTask.onUnsupportedFeature(featureId);\n }\n _UnsupportedManager.notify(featureId);\n }, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n var imageUrl = data[0];\n var components = data[1];\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8Array(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n var i, j;\n if (components === 3) {\n for (i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (i = 0, j = 0; i < rgbaLength; i += 4, j++) {\n buf[j] = data[i];\n }\n }\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n return this.CMapReaderFactory.fetch({\n name: data.name\n });\n }, this);\n },\n getData: function WorkerTransport_getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n },\n getPage: function WorkerTransport_getPage(pageNumber, capability) {\n var _this13 = this;\n if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n var pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n var promise = this.messageHandler.sendWithPromise('GetPage', {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n },\n getPageIndex: function WorkerTransport_getPageIndexByRef(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n },\n getAnnotations: function WorkerTransport_getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n },\n getDestinations: function WorkerTransport_getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n },\n getDestination: function WorkerTransport_getDestination(id) {\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n },\n getPageLabels: function WorkerTransport_getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n },\n getPageMode: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n },\n getAttachments: function WorkerTransport_getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n },\n getJavaScript: function WorkerTransport_getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n },\n getOutline: function WorkerTransport_getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n },\n getMetadata: function WorkerTransport_getMetadata() {\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function transportMetadata(results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null\n };\n });\n },\n getStats: function WorkerTransport_getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n },\n startCleanup: function WorkerTransport_startCleanup() {\n var _this14 = this;\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this14.pageCache.length; i < ii; i++) {\n var page = _this14.pageCache[i];\n if (page) {\n page.cleanup();\n }\n }\n _this14.commonObjs.clear();\n _this14.fontLoader.clear();\n });\n }\n };\n return WorkerTransport;\n }();\n var PDFObjects = function PDFObjectsClosure() {\n function PDFObjects() {\n this.objs = Object.create(null);\n }\n PDFObjects.prototype = {\n ensureObj: function PDFObjects_ensureObj(objId) {\n if (this.objs[objId]) {\n return this.objs[objId];\n }\n var obj = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n this.objs[objId] = obj;\n return obj;\n },\n get: function PDFObjects_get(objId, callback) {\n if (callback) {\n this.ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n var obj = this.objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n }\n return obj.data;\n },\n resolve: function PDFObjects_resolve(objId, data) {\n var obj = this.ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n },\n isResolved: function PDFObjects_isResolved(objId) {\n var objs = this.objs;\n if (!objs[objId]) {\n return false;\n }\n return objs[objId].resolved;\n },\n hasData: function PDFObjects_hasData(objId) {\n return this.isResolved(objId);\n },\n getData: function PDFObjects_getData(objId) {\n var objs = this.objs;\n if (!objs[objId] || !objs[objId].resolved) {\n return null;\n }\n return objs[objId].data;\n },\n clear: function PDFObjects_clear() {\n this.objs = Object.create(null);\n }\n };\n return PDFObjects;\n }();\n var RenderTask = function RenderTaskClosure() {\n function RenderTask(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n RenderTask.prototype = {\n get promise() {\n return this._internalRenderTask.capability.promise;\n },\n cancel: function RenderTask_cancel() {\n this._internalRenderTask.cancel();\n },\n then: function RenderTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return RenderTask;\n }();\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakMap();\n function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this.useRequestAnimationFrame = false;\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n InternalRenderTask.prototype = {\n initializeGraphics: function InternalRenderTask_initializeGraphics(transparency) {\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n canvasInRendering.set(this._canvas, this);\n }\n if (this.cancelled) {\n return;\n }\n if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n var params = this.params;\n this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer);\n this.gfx.beginDrawing({\n transform: params.transform,\n viewport: params.viewport,\n transparency: transparency,\n background: params.background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n },\n cancel: function InternalRenderTask_cancel() {\n this.running = false;\n this.cancelled = true;\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n if ((0, _dom_utils.getDefaultSetting)('pdfjsNext')) {\n this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n } else {\n this.callback('cancelled');\n }\n },\n operatorListChanged: function InternalRenderTask_operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n },\n _continue: function InternalRenderTask__continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n },\n _scheduleNext: function InternalRenderTask__scheduleNext() {\n if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n window.requestAnimationFrame(this._nextBound);\n } else {\n Promise.resolve(undefined).then(this._nextBound);\n }\n },\n _next: function InternalRenderTask__next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n };\n return InternalRenderTask;\n }();\n var _UnsupportedManager = function UnsupportedManagerClosure() {\n var listeners = [];\n return {\n listen: function listen(cb) {\n (0, _util.deprecated)('Global UnsupportedManager.listen is used: ' + ' use PDFDocumentLoadingTask.onUnsupportedFeature instead');\n listeners.push(cb);\n },\n notify: function notify(featureId) {\n for (var i = 0, ii = listeners.length; i < ii; i++) {\n listeners[i](featureId);\n }\n }\n };\n }();\n var version, build;\n {\n exports.version = version = '1.9.489';\n exports.build = build = 'b7fcaff0';\n }\n exports.getDocument = getDocument;\n exports.LoopbackPort = LoopbackPort;\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n exports.PDFWorker = PDFWorker;\n exports.PDFDocumentProxy = PDFDocumentProxy;\n exports.PDFPageProxy = PDFPageProxy;\n exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass;\n exports._UnsupportedManager = _UnsupportedManager;\n exports.version = version;\n exports.build = build;\n\n /***/\n }, /* 31 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = undefined;\n var _util = __w_pdfjs_require__(0);\n var SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n };\n {\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n for (var i = 0; i < 256; i++) {\n var c = i;\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n var crc = -1;\n for (var i = start; i < end; i++) {\n var a = (crc ^ data[i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!(0, _util.isNodeJS)()) {\n return deflateSyncUncompressed(literals);\n }\n try {\n var input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n var output = require('zlib').deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error('invalid format');\n }\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP) {\n offsetLiterals = 0;\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n 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]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema);\n };\n }();\n var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (value === (value | 0)) {\n return value.toString();\n }\n var s = value.toFixed(10);\n var i = s.length - 1;\n if (s[i] !== '0') {\n return s;\n }\n do {\n i--;\n } while (s[i] === '0');\n return s.substr(0, s[i] === '.' ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n }\n var NS = 'http://www.w3.org/2000/svg';\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n this.current.dependencies.push(promise);\n }\n }\n }\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n this.viewport = viewport;\n var svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n var opTree = _this2.convertOpList(operatorList);\n _this2.executeOpTree(opTree);\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTree[x].items);\n break;\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = document.createElementNS(NS, 'svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = document.createElementNS(NS, 'svg:tspan');\n this.current.txtElement = document.createElementNS(NS, 'svg:text');\n this.current.txtgrp = document.createElementNS(NS, 'svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n var textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = document.createElementNS(NS, 'svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n },\n endText: function SVGGraphics_endText() {},\n setLineWidth: function SVGGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.fillColor = color;\n this.current.tspan = document.createElementNS(NS, 'svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = document.createElementNS(NS, 'svg:path');\n var d = [];\n var opLength = ops.length;\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n this._ensureTransformGroup().appendChild(current.path);\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n clipCount++;\n var clipPath = document.createElementNS(NS, 'svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode();\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n }\n current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'Font':\n this.setFont(value);\n break;\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n case 'ca':\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n },\n stroke: function SVGGraphics_stroke() {\n var current = this.current;\n current.element.setAttributeNS(null, 'stroke', current.strokeColor);\n current.element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n current.element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n current.element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n current.element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n current.element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n current.element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n current.element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n current.element.setAttributeNS(null, 'fill', 'none');\n },\n eoFill: function SVGGraphics_eoFill() {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\n var rect = document.createElementNS(NS, 'svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = document.createElementNS(NS, 'svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema);\n var cliprect = document.createElementNS(NS, 'svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = document.createElementNS(NS, 'svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = document.createElementNS(NS, 'svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = document.createElementNS(NS, 'svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n if ((0, _util.isArray)(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = document.createElementNS(NS, 'svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n },\n paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: function SVGGraphics_initialize(viewport) {\n var svg = document.createElementNS(NS, 'svg:svg');\n svg.setAttributeNS(null, 'version', '1.1');\n svg.setAttributeNS(null, 'width', viewport.width + 'px');\n svg.setAttributeNS(null, 'height', viewport.height + 'px');\n svg.setAttributeNS(null, 'preserveAspectRatio', 'none');\n svg.setAttributeNS(null, 'viewBox', '0 0 ' + viewport.width + ' ' + viewport.height);\n var definitions = document.createElementNS(NS, 'svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = document.createElementNS(NS, 'svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n },\n _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = document.createElementNS(NS, 'svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = document.createElementNS(NS, 'svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n }\n exports.SVGGraphics = SVGGraphics;\n\n /***/\n }, /* 32 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = undefined;\n var _util = __w_pdfjs_require__(0);\n var _dom_utils = __w_pdfjs_require__(7);\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('div');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n var left;\n var top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n if ((0, _dom_utils.getDefaultSetting)('pdfBug')) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\n }\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n };\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref) {\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n this._reader = null;\n }\n this._canceled = true;\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n var textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._lastFontSize = fontSize;\n this._lastFontFamily = fontFamily;\n }\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n var transform = '';\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = 'scaleX(' + textDivProperties.scale + ')';\n }\n if (textDivProperties.angle !== 0) {\n transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n }\n if (transform !== '') {\n textDivProperties.originalTransform = transform;\n _dom_utils.CustomStyle.setProp('transform', textDiv, transform);\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n textLayerFrag.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this = this;\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\n alpha: false\n });\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n if (done) {\n capability.resolve();\n return;\n }\n _util.Util.extendObj(styleCache, value.styles);\n _this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n capability.promise.then(function () {\n styleCache = null;\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n var divProperties = this._textDivProperties.get(div);\n if (divProperties.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n var transform = '',\n padding = '';\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n if (transform !== '') {\n _dom_utils.CustomStyle.setProp('transform', div, transform);\n }\n } else {\n div.style.padding = 0;\n _dom_utils.CustomStyle.setProp('transform', div, divProperties.originalTransform || '');\n }\n }\n }\n };\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n }();\n exports.renderTextLayer = renderTextLayer;\n\n /***/\n }, /* 33 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n };\n\n /***/\n }, /* 34 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n return it;\n };\n\n /***/\n }, /* 35 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toObject = __w_pdfjs_require__(12);\n var toAbsoluteIndex = __w_pdfjs_require__(19);\n var toLength = __w_pdfjs_require__(6);\n module.exports = function fill(value) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) {\n O[index++] = value;\n }\n return O;\n };\n\n /***/\n }, /* 36 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toIObject = __w_pdfjs_require__(20);\n var toLength = __w_pdfjs_require__(6);\n var toAbsoluteIndex = __w_pdfjs_require__(19);\n module.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n };\n\n /***/\n }, /* 37 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(21);\n var TAG = __w_pdfjs_require__(1)('toStringTag');\n var ARG = cof(function () {\n return arguments;\n }()) == 'Arguments';\n var tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n };\n module.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n };\n\n /***/\n }, /* 38 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n };\n\n /***/\n }, /* 39 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(9);\n var document = __w_pdfjs_require__(2).document;\n var is = isObject(document) && isObject(document.createElement);\n module.exports = function (it) {\n return is ? document.createElement(it) : {};\n };\n\n /***/\n }, /* 40 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var core = __w_pdfjs_require__(16);\n var hide = __w_pdfjs_require__(4);\n var redefine = __w_pdfjs_require__(25);\n var ctx = __w_pdfjs_require__(22);\n var PROTOTYPE = 'prototype';\n var $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n };\n global.core = core;\n $export.F = 1;\n $export.G = 2;\n $export.S = 4;\n $export.P = 8;\n $export.B = 16;\n $export.W = 32;\n $export.U = 64;\n $export.R = 128;\n module.exports = $export;\n\n /***/\n }, /* 41 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = !__w_pdfjs_require__(3) && !__w_pdfjs_require__(17)(function () {\n return Object.defineProperty(__w_pdfjs_require__(39)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n });\n\n /***/\n }, /* 42 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(21);\n module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n };\n\n /***/\n }, /* 43 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(15);\n var dPs = __w_pdfjs_require__(71);\n var enumBugKeys = __w_pdfjs_require__(23);\n var IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\n var Empty = function Empty() {};\n var PROTOTYPE = 'prototype';\n var _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(39)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __w_pdfjs_require__(64).appendChild(iframe);\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n return _createDict();\n };\n module.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n };\n\n /***/\n }, /* 44 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $keys = __w_pdfjs_require__(46);\n var hiddenKeys = __w_pdfjs_require__(23).concat('length', 'prototype');\n exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n };\n\n /***/\n }, /* 45 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var has = __w_pdfjs_require__(5);\n var toObject = __w_pdfjs_require__(12);\n var IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\n var ObjectProto = Object.prototype;\n module.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectProto : null;\n };\n\n /***/\n }, /* 46 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var has = __w_pdfjs_require__(5);\n var toIObject = __w_pdfjs_require__(20);\n var arrayIndexOf = __w_pdfjs_require__(36)(false);\n var IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\n module.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n return result;\n };\n\n /***/\n }, /* 47 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var redefine = __w_pdfjs_require__(25);\n module.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n return target;\n };\n\n /***/\n }, /* 48 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var SHARED = '__core-js_shared__';\n var store = global[SHARED] || (global[SHARED] = {});\n module.exports = function (key) {\n return store[key] || (store[key] = {});\n };\n\n /***/\n }, /* 49 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(11);\n var toLength = __w_pdfjs_require__(6);\n module.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n };\n\n /***/\n }, /* 50 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var hide = __w_pdfjs_require__(4);\n var uid = __w_pdfjs_require__(13);\n var TYPED = uid('typed_array');\n var VIEW = uid('view');\n var ABV = !!(global.ArrayBuffer && global.DataView);\n var CONSTR = ABV;\n var i = 0;\n var l = 9;\n var Typed;\n var TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(',');\n while (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n }\n module.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n };\n\n /***/\n }, /* 51 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n function fixMetadata(meta) {\n return meta.replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n });\n var chars = '';\n for (var i = 0; i < bytes.length; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n chars += code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38 ? String.fromCharCode(code) : '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n return '>' + chars;\n });\n }\n function Metadata(meta) {\n if (typeof meta === 'string') {\n meta = fixMetadata(meta);\n var parser = new DOMParser();\n meta = parser.parseFromString(meta, 'application/xml');\n } else if (!(meta instanceof Document)) {\n throw new Error('Metadata: Invalid metadata object');\n }\n this.metaDocument = meta;\n this.metadata = Object.create(null);\n this.parse();\n }\n Metadata.prototype = {\n parse: function Metadata_parse() {\n var doc = this.metaDocument;\n var rdf = doc.documentElement;\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n var children = rdf.childNodes,\n desc,\n entry,\n name,\n i,\n ii,\n length,\n iLength;\n for (i = 0, length = children.length; i < length; i++) {\n desc = children[i];\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n for (ii = 0, iLength = desc.childNodes.length; ii < iLength; ii++) {\n if (desc.childNodes[ii].nodeName.toLowerCase() !== '#text') {\n entry = desc.childNodes[ii];\n name = entry.nodeName.toLowerCase();\n this.metadata[name] = entry.textContent.trim();\n }\n }\n }\n },\n get: function Metadata_get(name) {\n return this.metadata[name] || null;\n },\n has: function Metadata_has(name) {\n return typeof this.metadata[name] !== 'undefined';\n }\n };\n exports.Metadata = Metadata;\n\n /***/\n }, /* 52 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.validateRangeRequestCapabilities = undefined;\n var _util = __w_pdfjs_require__(0);\n function validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0);\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n var length = getResponseHeader('Content-Length');\n length = parseInt(length, 10);\n if (!(0, _util.isInt)(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n }\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n\n /***/\n }, /* 53 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLUtils = undefined;\n var _dom_utils = __w_pdfjs_require__(7);\n var _util = __w_pdfjs_require__(0);\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n 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);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n return {\n get isEnabled() {\n if ((0, _dom_utils.getDefaultSetting)('disableWebGL')) {\n return false;\n }\n var enabled = false;\n try {\n generateGL();\n enabled = !!currentGL;\n } catch (e) {}\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n clear: cleanup\n };\n }();\n exports.WebGLUtils = WebGLUtils;\n\n /***/\n }, /* 54 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFJS = exports.isWorker = exports.globalScope = undefined;\n var _api = __w_pdfjs_require__(30);\n var _dom_utils = __w_pdfjs_require__(7);\n var _util = __w_pdfjs_require__(0);\n var _annotation_layer = __w_pdfjs_require__(29);\n var _global_scope = __w_pdfjs_require__(14);\n var _global_scope2 = _interopRequireDefault(_global_scope);\n var _metadata = __w_pdfjs_require__(51);\n var _text_layer = __w_pdfjs_require__(32);\n var _svg = __w_pdfjs_require__(31);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n var isWorker = typeof window === 'undefined';\n if (!_global_scope2.default.PDFJS) {\n _global_scope2.default.PDFJS = {};\n }\n var PDFJS = _global_scope2.default.PDFJS;\n {\n PDFJS.version = '1.9.489';\n PDFJS.build = 'b7fcaff0';\n }\n PDFJS.pdfBug = false;\n if (PDFJS.verbosity !== undefined) {\n (0, _util.setVerbosityLevel)(PDFJS.verbosity);\n }\n delete PDFJS.verbosity;\n Object.defineProperty(PDFJS, 'verbosity', {\n get: function get() {\n return (0, _util.getVerbosityLevel)();\n },\n set: function set(level) {\n (0, _util.setVerbosityLevel)(level);\n },\n enumerable: true,\n configurable: true\n });\n PDFJS.VERBOSITY_LEVELS = _util.VERBOSITY_LEVELS;\n PDFJS.OPS = _util.OPS;\n PDFJS.UNSUPPORTED_FEATURES = _util.UNSUPPORTED_FEATURES;\n PDFJS.isValidUrl = _dom_utils.isValidUrl;\n PDFJS.shadow = _util.shadow;\n PDFJS.createBlob = _util.createBlob;\n PDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {\n return (0, _util.createObjectURL)(data, contentType, PDFJS.disableCreateObjectURL);\n };\n Object.defineProperty(PDFJS, 'isLittleEndian', {\n configurable: true,\n get: function PDFJS_isLittleEndian() {\n return (0, _util.shadow)(PDFJS, 'isLittleEndian', (0, _util.isLittleEndian)());\n }\n });\n PDFJS.removeNullCharacters = _util.removeNullCharacters;\n PDFJS.PasswordResponses = _util.PasswordResponses;\n PDFJS.PasswordException = _util.PasswordException;\n PDFJS.UnknownErrorException = _util.UnknownErrorException;\n PDFJS.InvalidPDFException = _util.InvalidPDFException;\n PDFJS.MissingPDFException = _util.MissingPDFException;\n PDFJS.UnexpectedResponseException = _util.UnexpectedResponseException;\n PDFJS.Util = _util.Util;\n PDFJS.PageViewport = _util.PageViewport;\n PDFJS.createPromiseCapability = _util.createPromiseCapability;\n PDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize;\n PDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;\n PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;\n PDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;\n PDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;\n PDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;\n PDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;\n PDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;\n PDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;\n PDFJS.disableStream = PDFJS.disableStream === undefined ? false : PDFJS.disableStream;\n PDFJS.disableAutoFetch = PDFJS.disableAutoFetch === undefined ? false : PDFJS.disableAutoFetch;\n PDFJS.pdfBug = PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug;\n PDFJS.postMessageTransfers = PDFJS.postMessageTransfers === undefined ? true : PDFJS.postMessageTransfers;\n PDFJS.disableCreateObjectURL = PDFJS.disableCreateObjectURL === undefined ? false : PDFJS.disableCreateObjectURL;\n PDFJS.disableWebGL = PDFJS.disableWebGL === undefined ? true : PDFJS.disableWebGL;\n PDFJS.externalLinkTarget = PDFJS.externalLinkTarget === undefined ? _dom_utils.LinkTarget.NONE : PDFJS.externalLinkTarget;\n PDFJS.externalLinkRel = PDFJS.externalLinkRel === undefined ? _dom_utils.DEFAULT_LINK_REL : PDFJS.externalLinkRel;\n PDFJS.isEvalSupported = PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported;\n PDFJS.pdfjsNext = PDFJS.pdfjsNext === undefined ? false : PDFJS.pdfjsNext;\n {\n var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;\n delete PDFJS.openExternalLinksInNewWindow;\n Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {\n get: function get() {\n return PDFJS.externalLinkTarget === _dom_utils.LinkTarget.BLANK;\n },\n set: function set(value) {\n if (value) {\n (0, _util.deprecated)('PDFJS.openExternalLinksInNewWindow, please use ' + '\"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK\" instead.');\n }\n if (PDFJS.externalLinkTarget !== _dom_utils.LinkTarget.NONE) {\n (0, _util.warn)('PDFJS.externalLinkTarget is already initialized');\n return;\n }\n PDFJS.externalLinkTarget = value ? _dom_utils.LinkTarget.BLANK : _dom_utils.LinkTarget.NONE;\n },\n enumerable: true,\n configurable: true\n });\n if (savedOpenExternalLinksInNewWindow) {\n PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;\n }\n }\n PDFJS.getDocument = _api.getDocument;\n PDFJS.LoopbackPort = _api.LoopbackPort;\n PDFJS.PDFDataRangeTransport = _api.PDFDataRangeTransport;\n PDFJS.PDFWorker = _api.PDFWorker;\n PDFJS.hasCanvasTypedArrays = true;\n PDFJS.CustomStyle = _dom_utils.CustomStyle;\n PDFJS.LinkTarget = _dom_utils.LinkTarget;\n PDFJS.addLinkAttributes = _dom_utils.addLinkAttributes;\n PDFJS.getFilenameFromUrl = _dom_utils.getFilenameFromUrl;\n PDFJS.isExternalLinkTargetSet = _dom_utils.isExternalLinkTargetSet;\n PDFJS.AnnotationLayer = _annotation_layer.AnnotationLayer;\n PDFJS.renderTextLayer = _text_layer.renderTextLayer;\n PDFJS.Metadata = _metadata.Metadata;\n PDFJS.SVGGraphics = _svg.SVGGraphics;\n PDFJS.UnsupportedManager = _api._UnsupportedManager;\n exports.globalScope = _global_scope2.default;\n exports.isWorker = isWorker;\n exports.PDFJS = PDFJS;\n\n /***/\n }, /* 55 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NetworkManager = exports.PDFNetworkStream = undefined;\n var _util = __w_pdfjs_require__(0);\n var _global_scope = __w_pdfjs_require__(14);\n var _global_scope2 = _interopRequireDefault(_global_scope);\n var _network_utils = __w_pdfjs_require__(52);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n function NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n }\n function getArrayBuffer(xhr) {\n var data = xhr.response;\n if (typeof data !== 'string') {\n return data;\n }\n var length = data.length;\n var array = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n array[i] = data.charCodeAt(i) & 0xFF;\n }\n return array.buffer;\n }\n var supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope2.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n }();\n NetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n },\n onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n var onProgress = pendingRequest.onProgress;\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n var xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n };\n function PDFNetworkStream(options) {\n this._options = options;\n var source = options.source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n PDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._options);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n };\n function PDFNetworkStreamFullRequestReader(manager, options) {\n this._manager = manager;\n var source = options.source;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = options.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n }\n PDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n },\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n this._contentLength = suggestedLength || this._contentLength;\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n var networkManager = this._manager;\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception;\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n exception = new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n } else {\n exception = new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n get contentLength() {\n return this._contentLength;\n },\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n read: function PDFNetworkStreamFullRequestReader_read() {\n if (this._storedError) {\n return Promise.reject(this._storedError);\n }\n if (this._cachedChunks.length > 0) {\n var chunk = this._cachedChunks.shift();\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n };\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n PDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n },\n get isStreamingSupported() {\n return false;\n },\n read: function PDFNetworkStreamRangeRequestReader_read() {\n if (this._queuedChunk !== null) {\n var chunk = this._queuedChunk;\n this._queuedChunk = null;\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n };\n exports.PDFNetworkStream = PDFNetworkStream;\n exports.NetworkManager = NetworkManager;\n\n /***/\n }, /* 56 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _util = __w_pdfjs_require__(0);\n var _network_utils = __w_pdfjs_require__(52);\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var fs = require('fs');\n var http = require('http');\n var https = require('https');\n var url = require('url');\n var PDFNodeStream = function () {\n function PDFNodeStream(options) {\n _classCallCheck(this, PDFNodeStream);\n this.options = options;\n this.source = options.source;\n this.url = url.parse(this.source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:' || !this.url.host;\n this.httpHeaders = this.isHttp && this.source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n _createClass(PDFNodeStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n return PDFNodeStream;\n }();\n var BaseFullReader = function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n this._url = stream.url;\n this._done = false;\n this._errored = false;\n this._reason = null;\n this.onProgress = null;\n this._contentLength = stream.source.length;\n this._loaded = 0;\n this._disableRange = stream.options.disableRange || false;\n this._rangeChunkSize = stream.source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !stream.source.disableStream;\n this._isRangeSupported = !stream.options.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n _createClass(BaseFullReader, [{\n key: 'read',\n value: function read() {\n var _this = this;\n return this._readCapability.promise.then(function () {\n if (_this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n if (_this._errored) {\n return Promise.reject(_this._reason);\n }\n var chunk = _this._readableStream.read();\n if (chunk === null) {\n _this._readCapability = (0, _util.createPromiseCapability)();\n return _this.read();\n }\n _this._loaded += chunk.length;\n if (_this.onProgress) {\n _this.onProgress({\n loaded: _this._loaded,\n total: _this._contentLength\n });\n }\n var buffer = new Uint8Array(chunk).buffer;\n return Promise.resolve({\n value: buffer,\n done: false\n });\n });\n }\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._errored = true;\n this._reason = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n if (this._errored) {\n this._readableStream.destroy(this._reason);\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n return BaseFullReader;\n }();\n var BaseRangeReader = function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n this._url = stream.url;\n this._done = false;\n this._errored = false;\n this._reason = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !stream.source.disableStream;\n }\n _createClass(BaseRangeReader, [{\n key: 'read',\n value: function read() {\n var _this3 = this;\n return this._readCapability.promise.then(function () {\n if (_this3._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n if (_this3._errored) {\n return Promise.reject(_this3._reason);\n }\n var chunk = _this3._readableStream.read();\n if (chunk === null) {\n _this3._readCapability = (0, _util.createPromiseCapability)();\n return _this3.read();\n }\n _this3._loaded += chunk.length;\n if (_this3.onProgress) {\n _this3.onProgress({\n loaded: _this3._loaded\n });\n }\n var buffer = new Uint8Array(chunk).buffer;\n return Promise.resolve({\n value: buffer,\n done: false\n });\n });\n }\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._errored = true;\n this._reason = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this4 = this;\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this4._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this4._done = true;\n _this4._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this4._error(reason);\n });\n if (this._errored) {\n this._readableStream.destroy(this._reason);\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n return BaseRangeReader;\n }();\n function createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n }\n var PDFNodeStreamFullReader = function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n function PDFNodeStreamFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFullReader);\n var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n var handleResponse = function handleResponse(response) {\n _this5._headersCapability.resolve();\n _this5._setReadableStream(response);\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: function getResponseHeader(name) {\n return _this5._readableStream.headers[name.toLowerCase()];\n },\n isHttp: stream.isHttp,\n rangeChunkSize: _this5._rangeChunkSize,\n disableRange: _this5._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n if (allowRangeRequests) {\n _this5._isRangeSupported = true;\n }\n _this5._contentLength = suggestedLength;\n };\n _this5._request = null;\n if (_this5._url.protocol === 'http:') {\n _this5._request = http.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n } else {\n _this5._request = https.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n }\n _this5._request.on('error', function (reason) {\n _this5._errored = true;\n _this5._reason = reason;\n _this5._headersCapability.reject(reason);\n });\n _this5._request.end();\n return _this5;\n }\n return PDFNodeStreamFullReader;\n }(BaseFullReader);\n var PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n function PDFNodeStreamRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamRangeReader);\n var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n _this6._httpHeaders = {};\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n _this6._httpHeaders[property] = value;\n }\n _this6._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n _this6._request = null;\n if (_this6._url.protocol === 'http:') {\n _this6._request = http.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n _this6._setReadableStream(response);\n });\n } else {\n _this6._request = https.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n _this6._setReadableStream(response);\n });\n }\n _this6._request.on('error', function (reason) {\n _this6._errored = true;\n _this6._reason = reason;\n });\n _this6._request.end();\n return _this6;\n }\n return PDFNodeStreamRangeReader;\n }(BaseRangeReader);\n var PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n function PDFNodeStreamFsFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n var _this7 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n _this7._setReadableStream(fs.createReadStream(_this7._url.path));\n fs.lstat(_this7._url.path, function (error, stat) {\n if (error) {\n _this7._errored = true;\n _this7._reason = error;\n _this7._headersCapability.reject(error);\n return;\n }\n _this7._contentLength = stat.size;\n _this7._headersCapability.resolve();\n });\n return _this7;\n }\n return PDFNodeStreamFsFullReader;\n }(BaseFullReader);\n var PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n var _this8 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n _this8._setReadableStream(fs.createReadStream(_this8._url.path, {\n start: start,\n end: end - 1\n }));\n return _this8;\n }\n return PDFNodeStreamFsRangeReader;\n }(BaseRangeReader);\n exports.PDFNodeStream = PDFNodeStream;\n\n /***/\n }, /* 57 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n (function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n })(exports, function (modules) {\n var installedModules = {};\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n __w_pdfjs_require__.d(getter, 'a', getter);\n return getter;\n };\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n }([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n };\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n };\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n };\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n _classCallCheck(this, WritableStream);\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n this._writableStreamController.__startSteps();\n }\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n }\n }]);\n return WritableStream;\n }();\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n var error = new TypeError('Requested to abort');\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n stream._writableStreamController.__errorSteps();\n var storedError = stream._storedError;\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n writeRequest._reject(storedError);\n }\n stream._writeRequests = [];\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n writer._closedPromise.catch(function () {});\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n this._closedPromise.catch(function () {});\n }\n }\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n }\n }]);\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n writer._closedPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n writer._readyPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n return WritableStreamDefaultController;\n }();\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n if (strategySize === undefined) {\n return 1;\n }\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return;\n }\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n };\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n };\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n _classCallCheck(this, ReadableStream);\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n if (done === true) {\n return;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsReadableStreamLocked(this);\n }\n }]);\n return ReadableStream;\n }();\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n return [branch1Stream, branch2Stream];\n }\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n teeState.closedOrErrored = true;\n }\n if (teeState.closedOrErrored === true) {\n return;\n }\n var value1 = value;\n var value2 = value;\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n return f;\n }\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n _resolve(CreateIterResultObject(undefined, true));\n }\n reader._readRequests = [];\n }\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n readRequest._reject(e);\n }\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n readIntoRequest._reject(e);\n }\n reader._readIntoRequests = [];\n }\n defaultReaderClosedPromiseReject(reader, e);\n reader._closedPromise.catch(function () {});\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n return true;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamDefaultReader;\n }();\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n reader._closedPromise.catch(function () {});\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._closedPromise.catch(function () {});\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n var readableStream = __w_pdfjs_require__(4);\n var writableStream = __w_pdfjs_require__(2);\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n }, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n TransformStreamCloseReadableInternal(transformStream);\n }\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n var controller = transformStream._readableController;\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n TransformStreamErrorInternal(transformStream, e);\n }\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n transformStream._readableClosed = true;\n }\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n transformStream._backpressure = backpressure;\n }\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n return TransformStreamSink;\n }();\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n return TransformStreamSource;\n }();\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n this._controlledTransformStream = transformStream;\n }\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n return TransformStreamDefaultController;\n }();\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, TransformStream);\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n }\n }]);\n return TransformStream;\n }();\n module.exports = {\n TransformStream: TransformStream\n };\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n }, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n }]));\n\n /***/\n }, /* 58 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(81);\n module.exports = __w_pdfjs_require__(16).Uint8ClampedArray;\n\n /***/\n }, /* 59 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var UNSCOPABLES = __w_pdfjs_require__(1)('unscopables');\n var ArrayProto = Array.prototype;\n if (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(4)(ArrayProto, UNSCOPABLES, {});\n module.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n };\n\n /***/\n }, /* 60 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toObject = __w_pdfjs_require__(12);\n var toAbsoluteIndex = __w_pdfjs_require__(19);\n var toLength = __w_pdfjs_require__(6);\n module.exports = [].copyWithin || function copyWithin(target, start) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];else delete O[to];\n to += inc;\n from += inc;\n }\n return O;\n };\n\n /***/\n }, /* 61 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ctx = __w_pdfjs_require__(22);\n var IObject = __w_pdfjs_require__(42);\n var toObject = __w_pdfjs_require__(12);\n var toLength = __w_pdfjs_require__(6);\n var asc = __w_pdfjs_require__(63);\n module.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n case 5:\n return val;\n case 6:\n return index;\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n };\n\n /***/\n }, /* 62 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isObject = __w_pdfjs_require__(9);\n var isArray = __w_pdfjs_require__(66);\n var SPECIES = __w_pdfjs_require__(1)('species');\n module.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n return C === undefined ? Array : C;\n };\n\n /***/\n }, /* 63 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var speciesConstructor = __w_pdfjs_require__(62);\n module.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n };\n\n /***/\n }, /* 64 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var document = __w_pdfjs_require__(2).document;\n module.exports = document && document.documentElement;\n\n /***/\n }, /* 65 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var Iterators = __w_pdfjs_require__(10);\n var ITERATOR = __w_pdfjs_require__(1)('iterator');\n var ArrayProto = Array.prototype;\n module.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n };\n\n /***/\n }, /* 66 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var cof = __w_pdfjs_require__(21);\n module.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n };\n\n /***/\n }, /* 67 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var create = __w_pdfjs_require__(43);\n var descriptor = __w_pdfjs_require__(18);\n var setToStringTag = __w_pdfjs_require__(26);\n var IteratorPrototype = {};\n __w_pdfjs_require__(4)(IteratorPrototype, __w_pdfjs_require__(1)('iterator'), function () {\n return this;\n });\n module.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n };\n\n /***/\n }, /* 68 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var LIBRARY = __w_pdfjs_require__(24);\n var $export = __w_pdfjs_require__(40);\n var redefine = __w_pdfjs_require__(25);\n var hide = __w_pdfjs_require__(4);\n var has = __w_pdfjs_require__(5);\n var Iterators = __w_pdfjs_require__(10);\n var $iterCreate = __w_pdfjs_require__(67);\n var setToStringTag = __w_pdfjs_require__(26);\n var getPrototypeOf = __w_pdfjs_require__(45);\n var ITERATOR = __w_pdfjs_require__(1)('iterator');\n var BUGGY = !([].keys && 'next' in [].keys());\n var FF_ITERATOR = '@@iterator';\n var KEYS = 'keys';\n var VALUES = 'values';\n var returnThis = function returnThis() {\n return this;\n };\n module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n };\n\n /***/\n }, /* 69 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ITERATOR = __w_pdfjs_require__(1)('iterator');\n var SAFE_CLOSING = false;\n try {\n var riter = [7][ITERATOR]();\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n Array.from(riter, function () {\n throw 2;\n });\n } catch (e) {}\n module.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n arr[ITERATOR] = function () {\n return iter;\n };\n exec(arr);\n } catch (e) {}\n return safe;\n };\n\n /***/\n }, /* 70 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n };\n\n /***/\n }, /* 71 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var dP = __w_pdfjs_require__(8);\n var anObject = __w_pdfjs_require__(15);\n var getKeys = __w_pdfjs_require__(73);\n module.exports = __w_pdfjs_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n return O;\n };\n\n /***/\n }, /* 72 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pIE = __w_pdfjs_require__(74);\n var createDesc = __w_pdfjs_require__(18);\n var toIObject = __w_pdfjs_require__(20);\n var toPrimitive = __w_pdfjs_require__(28);\n var has = __w_pdfjs_require__(5);\n var IE8_DOM_DEFINE = __w_pdfjs_require__(41);\n var gOPD = Object.getOwnPropertyDescriptor;\n exports.f = __w_pdfjs_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n };\n\n /***/\n }, /* 73 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $keys = __w_pdfjs_require__(46);\n var enumBugKeys = __w_pdfjs_require__(23);\n module.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n };\n\n /***/\n }, /* 74 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n exports.f = {}.propertyIsEnumerable;\n\n /***/\n }, /* 75 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var dP = __w_pdfjs_require__(8);\n var DESCRIPTORS = __w_pdfjs_require__(3);\n var SPECIES = __w_pdfjs_require__(1)('species');\n module.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n };\n\n /***/\n }, /* 76 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var anObject = __w_pdfjs_require__(15);\n var aFunction = __w_pdfjs_require__(33);\n var SPECIES = __w_pdfjs_require__(1)('species');\n module.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n };\n\n /***/\n }, /* 77 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n if (__w_pdfjs_require__(3)) {\n var LIBRARY = __w_pdfjs_require__(24);\n var global = __w_pdfjs_require__(2);\n var fails = __w_pdfjs_require__(17);\n var $export = __w_pdfjs_require__(40);\n var $typed = __w_pdfjs_require__(50);\n var $buffer = __w_pdfjs_require__(78);\n var ctx = __w_pdfjs_require__(22);\n var anInstance = __w_pdfjs_require__(34);\n var propertyDesc = __w_pdfjs_require__(18);\n var hide = __w_pdfjs_require__(4);\n var redefineAll = __w_pdfjs_require__(47);\n var toInteger = __w_pdfjs_require__(11);\n var toLength = __w_pdfjs_require__(6);\n var toIndex = __w_pdfjs_require__(49);\n var toAbsoluteIndex = __w_pdfjs_require__(19);\n var toPrimitive = __w_pdfjs_require__(28);\n var has = __w_pdfjs_require__(5);\n var classof = __w_pdfjs_require__(37);\n var isObject = __w_pdfjs_require__(9);\n var toObject = __w_pdfjs_require__(12);\n var isArrayIter = __w_pdfjs_require__(65);\n var create = __w_pdfjs_require__(43);\n var getPrototypeOf = __w_pdfjs_require__(45);\n var gOPN = __w_pdfjs_require__(44).f;\n var getIterFn = __w_pdfjs_require__(79);\n var uid = __w_pdfjs_require__(13);\n var wks = __w_pdfjs_require__(1);\n var createArrayMethod = __w_pdfjs_require__(61);\n var createArrayIncludes = __w_pdfjs_require__(36);\n var speciesConstructor = __w_pdfjs_require__(76);\n var ArrayIterators = __w_pdfjs_require__(80);\n var Iterators = __w_pdfjs_require__(10);\n var $iterDetect = __w_pdfjs_require__(69);\n var setSpecies = __w_pdfjs_require__(75);\n var arrayFill = __w_pdfjs_require__(35);\n var arrayCopyWithin = __w_pdfjs_require__(60);\n var $DP = __w_pdfjs_require__(8);\n var $GOPD = __w_pdfjs_require__(72);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n var LITTLE_ENDIAN = fails(function () {\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n var toOffset = function toOffset(it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n var validate = function validate(it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n var allocate = function allocate(C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n }\n return new C(length);\n };\n var speciesFromList = function speciesFromList(O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n var fromList = function fromList(C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) {\n result[index] = list[index++];\n }\n return result;\n };\n var addGetter = function addGetter(it, key, internal) {\n dP(it, key, {\n get: function get() {\n return this._d[internal];\n }\n });\n };\n var $from = function from(source) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n }\n O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n var $of = function of() {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) {\n result[index] = arguments[index++];\n }\n return result;\n };\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () {\n arrayToLocaleString.call(new Uint8Array(1));\n });\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n var proto = {\n copyWithin: function copyWithin(target, start) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value) {\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) {\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement) {\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn) {\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn) {\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n }\n return that;\n },\n some: function some(callbackfn) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin));\n }\n };\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n var $set = function set(arrayLike) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) {\n this[offset + index] = src[index++];\n }\n };\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n var isTAIndex = function isTAIndex(target, key) {\n return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set') && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) {\n target[key] = desc.value;\n return target;\n }\n return dP(target, key, desc);\n };\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n if (fails(function () {\n arrayToString.call({});\n })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function constructor() {},\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function get() {\n return this[TYPED_ARRAY];\n }\n });\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function getter(that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function setter(that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function addElement(that, index) {\n dP(that, index, {\n get: function get() {\n return getter(this, index);\n },\n set: function set(value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) {\n addElement(that, index++);\n }\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1);\n }) || !$iterDetect(function (iter) {\n new TypedArray();\n new TypedArray(null);\n new TypedArray(1.5);\n new TypedArray(iter);\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function get() {\n return NAME;\n }\n });\n }\n O[NAME] = TypedArray;\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n $export($export.S + $export.F * fails(function () {\n Base.of.call(TypedArray, 1);\n }), NAME, {\n from: $from,\n of: $of\n });\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n $export($export.P, NAME, proto);\n setSpecies(NAME);\n $export($export.P + $export.F * FORCED_SET, NAME, {\n set: $set\n });\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, {\n slice: $slice\n });\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {\n toLocaleString: $toLocaleString\n });\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n } else module.exports = function () {};\n\n /***/\n }, /* 78 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(2);\n var DESCRIPTORS = __w_pdfjs_require__(3);\n var LIBRARY = __w_pdfjs_require__(24);\n var $typed = __w_pdfjs_require__(50);\n var hide = __w_pdfjs_require__(4);\n var redefineAll = __w_pdfjs_require__(47);\n var fails = __w_pdfjs_require__(17);\n var anInstance = __w_pdfjs_require__(34);\n var toInteger = __w_pdfjs_require__(11);\n var toLength = __w_pdfjs_require__(6);\n var toIndex = __w_pdfjs_require__(49);\n var gOPN = __w_pdfjs_require__(44).f;\n var dP = __w_pdfjs_require__(8).f;\n var arrayFill = __w_pdfjs_require__(35);\n var setToStringTag = __w_pdfjs_require__(26);\n var ARRAY_BUFFER = 'ArrayBuffer';\n var DATA_VIEW = 'DataView';\n var PROTOTYPE = 'prototype';\n var WRONG_LENGTH = 'Wrong length!';\n var WRONG_INDEX = 'Wrong index!';\n var $ArrayBuffer = global[ARRAY_BUFFER];\n var $DataView = global[DATA_VIEW];\n var Math = global.Math;\n var RangeError = global.RangeError;\n var Infinity = global.Infinity;\n var BaseBuffer = $ArrayBuffer;\n var abs = Math.abs;\n var pow = Math.pow;\n var floor = Math.floor;\n var log = Math.log;\n var LN2 = Math.LN2;\n var BUFFER = 'buffer';\n var BYTE_LENGTH = 'byteLength';\n var BYTE_OFFSET = 'byteOffset';\n var $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\n var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\n var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n function packIEEE754(value, mLen, nBytes) {\n var buffer = Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n if (value != value || value === Infinity) {\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {}\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {}\n buffer[--i] |= s * 128;\n return buffer;\n }\n function unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {}\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {}\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * pow(2, e - mLen);\n }\n function unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n }\n function packI8(it) {\n return [it & 0xff];\n }\n function packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n }\n function packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n }\n function packF64(it) {\n return packIEEE754(it, 52, 8);\n }\n function packF32(it) {\n return packIEEE754(it, 23, 4);\n }\n function addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, {\n get: function get() {\n return this[internal];\n }\n });\n }\n function get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n }\n function set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) {\n store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n }\n }\n if (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n } else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1);\n }) || fails(function () {\n new $ArrayBuffer();\n new $ArrayBuffer(1.5);\n new $ArrayBuffer(NaN);\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n }\n setToStringTag($ArrayBuffer, ARRAY_BUFFER);\n setToStringTag($DataView, DATA_VIEW);\n hide($DataView[PROTOTYPE], $typed.VIEW, true);\n exports[ARRAY_BUFFER] = $ArrayBuffer;\n exports[DATA_VIEW] = $DataView;\n\n /***/\n }, /* 79 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var classof = __w_pdfjs_require__(37);\n var ITERATOR = __w_pdfjs_require__(1)('iterator');\n var Iterators = __w_pdfjs_require__(10);\n module.exports = __w_pdfjs_require__(16).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n };\n\n /***/\n }, /* 80 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var addToUnscopables = __w_pdfjs_require__(59);\n var step = __w_pdfjs_require__(70);\n var Iterators = __w_pdfjs_require__(10);\n var toIObject = __w_pdfjs_require__(20);\n module.exports = __w_pdfjs_require__(68)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n }, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n }, 'values');\n Iterators.Arguments = Iterators.Array;\n addToUnscopables('keys');\n addToUnscopables('values');\n addToUnscopables('entries');\n\n /***/\n }, /* 81 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(77)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n }, true);\n\n /***/\n }, /* 82 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = undefined;\n var _util = __w_pdfjs_require__(0);\n var _pattern_helper = __w_pdfjs_require__(84);\n var _webgl = __w_pdfjs_require__(53);\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var MIN_WIDTH_FACTOR = 0.65;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n var IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n };\n function addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n this._originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n this._originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n this._originalRotate(angle);\n };\n }\n }\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n }();\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n }\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this.cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error('bad image kind: ' + imgData.kind);\n }\n }\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n function composeSMask(ctx, smask, layerCtx) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && _webgl.WebGLUtils.isEnabled) {\n var composed = _webgl.WebGLUtils.composeSMask(layerCtx.canvas, mask, {\n subtype: smask.subtype,\n backdrop: backdrop\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n transparency = _ref.transparency,\n _ref$background = _ref.background,\n background = _ref$background === undefined ? null : _ref$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n if (!objsPool.isResolved(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n this.cachedCanvases.clear();\n _webgl.WebGLUtils.clear();\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'RI':\n this.setRenderingIntent(value);\n break;\n case 'FL':\n this.setFlatness(value);\n break;\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this.cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this.cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n if (!fontObj) {\n throw new Error('Can\\'t find font for ' + fontRefName);\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n this.ctx.font = rule;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function CanvasGraphics_paintChar(character, x, y) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var addToPath;\n if (font.disableFontFace || isAddToPathSet) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n get isFontSubpixelAAEnabled() {\n var ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (current.patternFill) {\n ctx.fillStyle = current.fillColor.getPattern(ctx, this);\n }\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this.cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY);\n }\n }\n }\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this.cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n var pattern;\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n throw new Error('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n throw new Error('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if ((0, _util.isArray)(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = 'groupAt' + this.groupLevel;\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n if ((0, _util.isArray)(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n if (imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) {\n if (this.cachedGetSinglePixelWidth === null) {\n this.ctx.save();\n var inverse = this.ctx.mozCurrentTransformInverse;\n this.ctx.restore();\n this.cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n return this.cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n }();\n exports.CanvasGraphics = CanvasGraphics;\n\n /***/\n }, /* 83 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = undefined;\n var _util = __w_pdfjs_require__(0);\n function FontLoader(docId) {\n this.docId = docId;\n this.styleElement = null;\n this.nativeFontFaces = [];\n this.loadTestFontId = 0;\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n }\n FontLoader.prototype = {\n insertRule: function fontLoaderInsertRule(rule) {\n var styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n },\n clear: function fontLoaderClear() {\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n }\n };\n {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ' + 'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA' + 'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm' + 'FtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAA' + 'AADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6A' + 'ABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAA' + 'MQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAA' + 'AAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAA' + 'AAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQ' + 'AAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMA' + 'AQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAA' + 'EAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAA' + 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA' + 'AAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgc' + 'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF' + 'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA' + 'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg' + 'ABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n Object.defineProperty(FontLoader.prototype, 'loadTestFont', {\n get: function get() {\n return (0, _util.shadow)(this, 'loadTestFont', getLoadTestFont());\n },\n configurable: true\n });\n FontLoader.prototype.addNativeFontFace = function fontLoader_addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n };\n FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) {\n var rules = [];\n var fontsToLoad = [];\n var fontLoadPromises = [];\n var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n return nativeFontFace.loaded.catch(function (e) {\n (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + e);\n });\n };\n var isFontLoadingAPISupported = FontLoader.isFontLoadingAPISupported && !FontLoader.isSyncFontLoadingSupported;\n for (var i = 0, ii = fonts.length; i < ii; i++) {\n var font = fonts[i];\n if (font.attached || font.loading === false) {\n continue;\n }\n font.attached = true;\n if (isFontLoadingAPISupported) {\n var nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n }\n } else {\n var rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n rules.push(rule);\n fontsToLoad.push(font);\n }\n }\n }\n var request = this.queueLoadingCallback(callback);\n if (isFontLoadingAPISupported) {\n Promise.all(fontLoadPromises).then(function () {\n request.complete();\n });\n } else if (rules.length > 0 && !FontLoader.isSyncFontLoadingSupported) {\n this.prepareFontLoadEvent(rules, fontsToLoad, request);\n } else {\n request.complete();\n }\n };\n FontLoader.prototype.queueLoadingCallback = function FontLoader_queueLoadingCallback(callback) {\n function LoadLoader_completeRequest() {\n (0, _util.assert)(!request.end, 'completeRequest() cannot be called twice');\n request.end = Date.now();\n while (context.requests.length > 0 && context.requests[0].end) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n var context = this.loadingContext;\n var requestId = 'pdfjs-font-loading-' + context.nextRequestId++;\n var request = {\n id: requestId,\n complete: LoadLoader_completeRequest,\n callback: callback,\n started: Date.now()\n };\n context.requests.push(request);\n return request;\n };\n FontLoader.prototype.prepareFontLoadEvent = function fontLoaderPrepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substr(0, offset);\n var chunk2 = s.substr(offset + remove);\n return chunk1 + insert + chunk2;\n }\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++;\n var data = this.loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n var rule = '@font-face { font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n this.insertRule(rule);\n var names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n };\n }\n {\n FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' && !!document.fonts;\n }\n {\n var isSyncFontLoadingSupported = function isSyncFontLoadingSupported() {\n if (typeof navigator === 'undefined') {\n return true;\n }\n var supported = false;\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\n }\n return supported;\n };\n Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {\n get: function get() {\n return (0, _util.shadow)(FontLoader, 'isSyncFontLoadingSupported', isSyncFontLoadingSupported());\n },\n enumerable: true,\n configurable: true\n });\n }\n var IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n };\n var FontFaceObject = function FontFaceObjectClosure() {\n function FontFaceObject(translatedData, options) {\n this.compiledGlyphs = Object.create(null);\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n this.options = options;\n }\n FontFaceObject.prototype = {\n createNativeFontFace: function FontFaceObject_createNativeFontFace() {\n if (!this.data) {\n return null;\n }\n if (this.options.disableFontFace) {\n this.disableFontFace = true;\n return null;\n }\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.options.fontRegistry) {\n this.options.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n },\n createFontFaceRule: function FontFaceObject_createFontFaceRule() {\n if (!this.data) {\n return null;\n }\n if (this.options.disableFontFace) {\n this.disableFontFace = true;\n return null;\n }\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var fontName = this.loadedName;\n var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n var rule = '@font-face { font-family:\"' + fontName + '\";src:' + url + '}';\n if (this.options.fontRegistry) {\n this.options.fontRegistry.registerFont(this, url);\n }\n return rule;\n },\n getPathGenerator: function FontFaceObject_getPathGenerator(objs, character) {\n if (!(character in this.compiledGlyphs)) {\n var cmds = objs.get(this.loadedName + '_path_' + character);\n var current, i, len;\n if (this.options.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n for (i = 0, len = cmds.length; i < len; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n this.compiledGlyphs[character] = new Function('c', 'size', js);\n } else {\n this.compiledGlyphs[character] = function (c, size) {\n for (i = 0, len = cmds.length; i < len; i++) {\n current = cmds[i];\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }\n return this.compiledGlyphs[character];\n }\n };\n return FontFaceObject;\n }();\n exports.FontFaceObject = FontFaceObject;\n exports.FontLoader = FontLoader;\n\n /***/\n }, /* 84 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n var _util = __w_pdfjs_require__(0);\n var _webgl = __w_pdfjs_require__(53);\n var ShadingIRs = {};\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n }\n };\n }\n };\n var createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error('illegal figure');\n }\n }\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n if (_webgl.WebGLUtils.isEnabled) {\n canvas = _webgl.WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n return createMeshCanvas;\n }();\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n };\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error('Unknown IR type: ' + raw[0]);\n }\n return shadingIR.fromIR(raw);\n }\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(tmpCtx, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(context, paintType, color) {\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n break;\n default:\n throw new _util.FormatError('Unsupported paint type: ' + paintType);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n }();\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = TilingPattern;\n\n /***/\n }, /* 85 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = undefined;\n var _util = __w_pdfjs_require__(0);\n var PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isRangeSupported = !params.disableRange;\n this._isStreamingSupported = !params.disableStream;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({\n loaded: loaded\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.transportReady();\n }\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n if (firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n };\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n this._queuedChunks.push(chunk);\n },\n get headersReady() {\n return this._headersReady;\n },\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n get contentLength() {\n return this._stream._contentLength;\n },\n read: function PDFDataTransportStreamReader_read() {\n if (this._queuedChunks.length > 0) {\n var chunk = this._queuedChunks.shift();\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n };\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n },\n get isStreamingSupported() {\n return false;\n },\n read: function PDFDataTransportStreamRangeReader_read() {\n if (this._queuedChunk) {\n var chunk = this._queuedChunk;\n this._queuedChunk = null;\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n }();\n exports.PDFDataTransportStream = PDFDataTransportStream;\n\n /***/\n }, /* 86 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var pdfjsVersion = '1.9.489';\n var pdfjsBuild = 'b7fcaff0';\n var pdfjsSharedUtil = __w_pdfjs_require__(0);\n var pdfjsDisplayGlobal = __w_pdfjs_require__(54);\n var pdfjsDisplayAPI = __w_pdfjs_require__(30);\n var pdfjsDisplayTextLayer = __w_pdfjs_require__(32);\n var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(29);\n var pdfjsDisplayDOMUtils = __w_pdfjs_require__(7);\n var pdfjsDisplaySVG = __w_pdfjs_require__(31);\n {\n if (pdfjsSharedUtil.isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(56).PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNodeStream);\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(55).PDFNetworkStream;\n pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNetworkStream);\n }\n }\n exports.PDFJS = pdfjsDisplayGlobal.PDFJS;\n exports.build = pdfjsDisplayAPI.build;\n exports.version = pdfjsDisplayAPI.version;\n exports.getDocument = pdfjsDisplayAPI.getDocument;\n exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\n exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\n exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\n exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\n exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\n exports.CustomStyle = pdfjsDisplayDOMUtils.CustomStyle;\n exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\n exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\n exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\n exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\n exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\n exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\n exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\n exports.OPS = pdfjsSharedUtil.OPS;\n exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\n exports.isValidUrl = pdfjsDisplayDOMUtils.isValidUrl;\n exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\n exports.createObjectURL = pdfjsSharedUtil.createObjectURL;\n exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\n exports.shadow = pdfjsSharedUtil.shadow;\n exports.createBlob = pdfjsSharedUtil.createBlob;\n exports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\n exports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\n exports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\n exports.StatTimer = pdfjsSharedUtil.StatTimer;\n\n /***/\n }, /* 87 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {\n var globalScope = __w_pdfjs_require__(14);\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isAndroid = /Android/.test(userAgent);\n var isAndroidPre3 = /Android\\s[0-2][^\\d]/.test(userAgent);\n var isAndroidPre5 = /Android\\s[0-4][^\\d]/.test(userAgent);\n var isChrome = userAgent.indexOf('Chrom') >= 0;\n var isChromeWithRangeBug = /Chrome\\/(39|40)\\./.test(userAgent);\n var isIOSChrome = userAgent.indexOf('CriOS') >= 0;\n var isIE = userAgent.indexOf('Trident') >= 0;\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);\n var isOpera = userAgent.indexOf('Opera') >= 0;\n var isSafari = /Safari\\//.test(userAgent) && !/(Chrome\\/|Android\\s)/.test(userAgent);\n var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n if (typeof PDFJS === 'undefined') {\n globalScope.PDFJS = {};\n }\n PDFJS.compatibilityChecked = true;\n (function checkTypedArrayCompatibility() {\n if (typeof Uint8ClampedArray === 'undefined') {\n globalScope.Uint8ClampedArray = __w_pdfjs_require__(58);\n }\n if (typeof Uint8Array !== 'undefined') {\n if (typeof Uint8Array.prototype.subarray === 'undefined') {\n Uint8Array.prototype.subarray = function subarray(start, end) {\n return new Uint8Array(this.slice(start, end));\n };\n Float32Array.prototype.subarray = function subarray(start, end) {\n return new Float32Array(this.slice(start, end));\n };\n }\n if (typeof Float64Array === 'undefined') {\n globalScope.Float64Array = Float32Array;\n }\n return;\n }\n function subarray(start, end) {\n return new TypedArray(this.slice(start, end));\n }\n function setArrayOffset(array, offset) {\n if (arguments.length < 2) {\n offset = 0;\n }\n for (var i = 0, n = array.length; i < n; ++i, ++offset) {\n this[offset] = array[i] & 0xFF;\n }\n }\n function Uint32ArrayView(buffer, length) {\n this.buffer = buffer;\n this.byteLength = buffer.length;\n this.length = length;\n ensureUint32ArrayViewProps(this.length);\n }\n Uint32ArrayView.prototype = Object.create(null);\n var uint32ArrayViewSetters = 0;\n function createUint32ArrayProp(index) {\n return {\n get: function get() {\n var buffer = this.buffer,\n offset = index << 2;\n return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0;\n },\n set: function set(value) {\n var buffer = this.buffer,\n offset = index << 2;\n buffer[offset] = value & 255;\n buffer[offset + 1] = value >> 8 & 255;\n buffer[offset + 2] = value >> 16 & 255;\n buffer[offset + 3] = value >>> 24 & 255;\n }\n };\n }\n function ensureUint32ArrayViewProps(length) {\n while (uint32ArrayViewSetters < length) {\n Object.defineProperty(Uint32ArrayView.prototype, uint32ArrayViewSetters, createUint32ArrayProp(uint32ArrayViewSetters));\n uint32ArrayViewSetters++;\n }\n }\n function TypedArray(arg1) {\n var result, i, n;\n if (typeof arg1 === 'number') {\n result = [];\n for (i = 0; i < arg1; ++i) {\n result[i] = 0;\n }\n } else if ('slice' in arg1) {\n result = arg1.slice(0);\n } else {\n result = [];\n for (i = 0, n = arg1.length; i < n; ++i) {\n result[i] = arg1[i];\n }\n }\n result.subarray = subarray;\n result.buffer = result;\n result.byteLength = result.length;\n result.set = setArrayOffset;\n if ((typeof arg1 === 'undefined' ? 'undefined' : _typeof(arg1)) === 'object' && arg1.buffer) {\n result.buffer = arg1.buffer;\n }\n return result;\n }\n globalScope.Uint8Array = TypedArray;\n globalScope.Int8Array = TypedArray;\n globalScope.Int32Array = TypedArray;\n globalScope.Uint16Array = TypedArray;\n globalScope.Float32Array = TypedArray;\n globalScope.Float64Array = TypedArray;\n globalScope.Uint32Array = function () {\n if (arguments.length === 3) {\n if (arguments[1] !== 0) {\n throw new Error('offset !== 0 is not supported');\n }\n return new Uint32ArrayView(arguments[0], arguments[2]);\n }\n return TypedArray.apply(this, arguments);\n };\n })();\n (function canvasPixelArrayBuffer() {\n if (!hasDOM || !window.CanvasPixelArray) {\n return;\n }\n var cpaProto = window.CanvasPixelArray.prototype;\n if ('buffer' in cpaProto) {\n return;\n }\n Object.defineProperty(cpaProto, 'buffer', {\n get: function get() {\n return this;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(cpaProto, 'byteLength', {\n get: function get() {\n return this.length;\n },\n enumerable: false,\n configurable: true\n });\n })();\n (function normalizeURLObject() {\n if (!globalScope.URL) {\n globalScope.URL = globalScope.webkitURL;\n }\n })();\n (function checkObjectDefinePropertyCompatibility() {\n if (typeof Object.defineProperty !== 'undefined') {\n var definePropertyPossible = true;\n try {\n if (hasDOM) {\n Object.defineProperty(new Image(), 'id', {\n value: 'test'\n });\n }\n var Test = function Test() {};\n Test.prototype = {\n get id() {}\n };\n Object.defineProperty(new Test(), 'id', {\n value: '',\n configurable: true,\n enumerable: true,\n writable: false\n });\n } catch (e) {\n definePropertyPossible = false;\n }\n if (definePropertyPossible) {\n return;\n }\n }\n Object.defineProperty = function objectDefineProperty(obj, name, def) {\n delete obj[name];\n if ('get' in def) {\n obj.__defineGetter__(name, def['get']);\n }\n if ('set' in def) {\n obj.__defineSetter__(name, def['set']);\n }\n if ('value' in def) {\n obj.__defineSetter__(name, function objectDefinePropertySetter(value) {\n this.__defineGetter__(name, function objectDefinePropertyGetter() {\n return value;\n });\n return value;\n });\n obj[name] = def.value;\n }\n };\n })();\n (function checkXMLHttpRequestResponseCompatibility() {\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n var xhrPrototype = XMLHttpRequest.prototype;\n var xhr = new XMLHttpRequest();\n if (!('overrideMimeType' in xhr)) {\n Object.defineProperty(xhrPrototype, 'overrideMimeType', {\n value: function xmlHttpRequestOverrideMimeType(mimeType) {}\n });\n }\n if ('responseType' in xhr) {\n return;\n }\n Object.defineProperty(xhrPrototype, 'responseType', {\n get: function xmlHttpRequestGetResponseType() {\n return this._responseType || 'text';\n },\n set: function xmlHttpRequestSetResponseType(value) {\n if (value === 'text' || value === 'arraybuffer') {\n this._responseType = value;\n if (value === 'arraybuffer' && typeof this.overrideMimeType === 'function') {\n this.overrideMimeType('text/plain; charset=x-user-defined');\n }\n }\n }\n });\n if (typeof VBArray !== 'undefined') {\n Object.defineProperty(xhrPrototype, 'response', {\n get: function xmlHttpRequestResponseGet() {\n if (this.responseType === 'arraybuffer') {\n return new Uint8Array(new VBArray(this.responseBody).toArray());\n }\n return this.responseText;\n }\n });\n return;\n }\n Object.defineProperty(xhrPrototype, 'response', {\n get: function xmlHttpRequestResponseGet() {\n if (this.responseType !== 'arraybuffer') {\n return this.responseText;\n }\n var text = this.responseText;\n var i,\n n = text.length;\n var result = new Uint8Array(n);\n for (i = 0; i < n; ++i) {\n result[i] = text.charCodeAt(i) & 0xFF;\n }\n return result.buffer;\n }\n });\n })();\n (function checkWindowBtoaCompatibility() {\n if ('btoa' in globalScope) {\n return;\n }\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n globalScope.btoa = function (chars) {\n var buffer = '';\n var i, n;\n for (i = 0, n = chars.length; i < n; i += 3) {\n var b1 = chars.charCodeAt(i) & 0xFF;\n var b2 = chars.charCodeAt(i + 1) & 0xFF;\n var b3 = chars.charCodeAt(i + 2) & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < n ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < n ? b3 & 0x3F : 64;\n buffer += digits.charAt(d1) + digits.charAt(d2) + digits.charAt(d3) + digits.charAt(d4);\n }\n return buffer;\n };\n })();\n (function checkWindowAtobCompatibility() {\n if ('atob' in globalScope) {\n return;\n }\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n globalScope.atob = function (input) {\n input = input.replace(/=+$/, '');\n if (input.length % 4 === 1) {\n throw new Error('bad atob input');\n }\n for (var bc = 0, bs, buffer, idx = 0, output = ''; buffer = input.charAt(idx++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) {\n buffer = digits.indexOf(buffer);\n }\n return output;\n };\n })();\n (function checkFunctionPrototypeBindCompatibility() {\n if (typeof Function.prototype.bind !== 'undefined') {\n return;\n }\n Function.prototype.bind = function functionPrototypeBind(obj) {\n var fn = this,\n headArgs = Array.prototype.slice.call(arguments, 1);\n var bound = function functionPrototypeBindBound() {\n var args = headArgs.concat(Array.prototype.slice.call(arguments));\n return fn.apply(obj, args);\n };\n return bound;\n };\n })();\n (function checkDatasetProperty() {\n if (!hasDOM) {\n return;\n }\n var div = document.createElement('div');\n if ('dataset' in div) {\n return;\n }\n Object.defineProperty(HTMLElement.prototype, 'dataset', {\n get: function get() {\n if (this._dataset) {\n return this._dataset;\n }\n var dataset = {};\n for (var j = 0, jj = this.attributes.length; j < jj; j++) {\n var attribute = this.attributes[j];\n if (attribute.name.substring(0, 5) !== 'data-') {\n continue;\n }\n var key = attribute.name.substring(5).replace(/\\-([a-z])/g, function (all, ch) {\n return ch.toUpperCase();\n });\n dataset[key] = attribute.value;\n }\n Object.defineProperty(this, '_dataset', {\n value: dataset,\n writable: false,\n enumerable: false\n });\n return dataset;\n },\n enumerable: true\n });\n })();\n (function checkClassListProperty() {\n function changeList(element, itemName, add, remove) {\n var s = element.className || '';\n var list = s.split(/\\s+/g);\n if (list[0] === '') {\n list.shift();\n }\n var index = list.indexOf(itemName);\n if (index < 0 && add) {\n list.push(itemName);\n }\n if (index >= 0 && remove) {\n list.splice(index, 1);\n }\n element.className = list.join(' ');\n return index >= 0;\n }\n if (!hasDOM) {\n return;\n }\n var div = document.createElement('div');\n if ('classList' in div) {\n return;\n }\n var classListPrototype = {\n add: function add(name) {\n changeList(this.element, name, true, false);\n },\n contains: function contains(name) {\n return changeList(this.element, name, false, false);\n },\n remove: function remove(name) {\n changeList(this.element, name, false, true);\n },\n toggle: function toggle(name) {\n changeList(this.element, name, true, true);\n }\n };\n Object.defineProperty(HTMLElement.prototype, 'classList', {\n get: function get() {\n if (this._classList) {\n return this._classList;\n }\n var classList = Object.create(classListPrototype, {\n element: {\n value: this,\n writable: false,\n enumerable: true\n }\n });\n Object.defineProperty(this, '_classList', {\n value: classList,\n writable: false,\n enumerable: false\n });\n return classList;\n },\n enumerable: true\n });\n })();\n (function checkWorkerConsoleCompatibility() {\n if (typeof importScripts === 'undefined' || 'console' in globalScope) {\n return;\n }\n var consoleTimer = {};\n var workerConsole = {\n log: function log() {\n var args = Array.prototype.slice.call(arguments);\n globalScope.postMessage({\n targetName: 'main',\n action: 'console_log',\n data: args\n });\n },\n error: function error() {\n var args = Array.prototype.slice.call(arguments);\n globalScope.postMessage({\n targetName: 'main',\n action: 'console_error',\n data: args\n });\n },\n time: function time(name) {\n consoleTimer[name] = Date.now();\n },\n timeEnd: function timeEnd(name) {\n var time = consoleTimer[name];\n if (!time) {\n throw new Error('Unknown timer name ' + name);\n }\n this.log('Timer:', name, Date.now() - time);\n }\n };\n globalScope.console = workerConsole;\n })();\n (function checkConsoleCompatibility() {\n if (!hasDOM) {\n return;\n }\n if (!('console' in window)) {\n window.console = {\n log: function log() {},\n error: function error() {},\n warn: function warn() {}\n };\n return;\n }\n if (!('bind' in console.log)) {\n console.log = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.log);\n console.error = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.error);\n console.warn = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.warn);\n return;\n }\n })();\n (function checkOnClickCompatibility() {\n function ignoreIfTargetDisabled(event) {\n if (isDisabled(event.target)) {\n event.stopPropagation();\n }\n }\n function isDisabled(node) {\n return node.disabled || node.parentNode && isDisabled(node.parentNode);\n }\n if (isOpera) {\n document.addEventListener('click', ignoreIfTargetDisabled, true);\n }\n })();\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n PDFJS.disableCreateObjectURL = true;\n }\n })();\n (function checkNavigatorLanguage() {\n if (typeof navigator === 'undefined') {\n return;\n }\n if ('language' in navigator) {\n return;\n }\n PDFJS.locale = navigator.userLanguage || 'en-US';\n })();\n (function checkRangeRequests() {\n if (isSafari || isAndroidPre3 || isChromeWithRangeBug || isIOS) {\n PDFJS.disableRange = true;\n PDFJS.disableStream = true;\n }\n })();\n (function checkHistoryManipulation() {\n if (!hasDOM) {\n return;\n }\n if (!history.pushState || isAndroidPre3) {\n PDFJS.disableHistory = true;\n }\n })();\n (function checkSetPresenceInImageData() {\n if (!hasDOM) {\n return;\n }\n if (window.CanvasPixelArray) {\n if (typeof window.CanvasPixelArray.prototype.set !== 'function') {\n window.CanvasPixelArray.prototype.set = function (arr) {\n for (var i = 0, ii = this.length; i < ii; i++) {\n this[i] = arr[i];\n }\n };\n }\n } else {\n var polyfill = false,\n versionMatch;\n if (isChrome) {\n versionMatch = userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n polyfill = versionMatch && parseInt(versionMatch[2]) < 21;\n } else if (isAndroid) {\n polyfill = isAndroidPre5;\n } else if (isSafari) {\n versionMatch = userAgent.match(/Version\\/([0-9]+)\\.([0-9]+)\\.([0-9]+) Safari\\//);\n polyfill = versionMatch && parseInt(versionMatch[1]) < 6;\n }\n if (polyfill) {\n var contextPrototype = window.CanvasRenderingContext2D.prototype;\n var createImageData = contextPrototype.createImageData;\n contextPrototype.createImageData = function (w, h) {\n var imageData = createImageData.call(this, w, h);\n imageData.data.set = function (arr) {\n for (var i = 0, ii = this.length; i < ii; i++) {\n this[i] = arr[i];\n }\n };\n return imageData;\n };\n contextPrototype = null;\n }\n }\n })();\n (function checkRequestAnimationFrame() {\n function installFakeAnimationFrameFunctions() {\n window.requestAnimationFrame = function (callback) {\n return window.setTimeout(callback, 20);\n };\n window.cancelAnimationFrame = function (timeoutID) {\n window.clearTimeout(timeoutID);\n };\n }\n if (!hasDOM) {\n return;\n }\n if (isIOS) {\n installFakeAnimationFrameFunctions();\n return;\n }\n if ('requestAnimationFrame' in window) {\n return;\n }\n window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame;\n if (window.requestAnimationFrame) {\n return;\n }\n installFakeAnimationFrameFunctions();\n })();\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n PDFJS.maxCanvasPixels = 5242880;\n }\n })();\n (function checkFullscreenSupport() {\n if (!hasDOM) {\n return;\n }\n if (isIE && window.parent !== window) {\n PDFJS.disableFullscreen = true;\n }\n })();\n (function checkCurrentScript() {\n if (!hasDOM) {\n return;\n }\n if ('currentScript' in document) {\n return;\n }\n Object.defineProperty(document, 'currentScript', {\n get: function get() {\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n },\n enumerable: true,\n configurable: true\n });\n })();\n (function checkInputTypeNumberAssign() {\n if (!hasDOM) {\n return;\n }\n var el = document.createElement('input');\n try {\n el.type = 'number';\n } catch (ex) {\n var inputProto = el.constructor.prototype;\n var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type');\n Object.defineProperty(inputProto, 'type', {\n get: function get() {\n return typeProperty.get.call(this);\n },\n set: function set(value) {\n typeProperty.set.call(this, value === 'number' ? 'text' : value);\n },\n enumerable: true,\n configurable: true\n });\n }\n })();\n (function checkDocumentReadyState() {\n if (!hasDOM) {\n return;\n }\n if (!document.attachEvent) {\n return;\n }\n var documentProto = document.constructor.prototype;\n var readyStateProto = Object.getOwnPropertyDescriptor(documentProto, 'readyState');\n Object.defineProperty(documentProto, 'readyState', {\n get: function get() {\n var value = readyStateProto.get.call(this);\n return value === 'interactive' ? 'loading' : value;\n },\n set: function set(value) {\n readyStateProto.set.call(this, value);\n },\n enumerable: true,\n configurable: true\n });\n })();\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = function (value) {\n return typeof value === 'number' && isNaN(value);\n };\n })();\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n })();\n (function checkPromise() {\n if (globalScope.Promise) {\n if (typeof globalScope.Promise.all !== 'function') {\n globalScope.Promise.all = function (iterable) {\n var count = 0,\n results = [],\n resolve,\n reject;\n var promise = new globalScope.Promise(function (resolve_, reject_) {\n resolve = resolve_;\n reject = reject_;\n });\n iterable.forEach(function (p, i) {\n count++;\n p.then(function (result) {\n results[i] = result;\n count--;\n if (count === 0) {\n resolve(results);\n }\n }, reject);\n });\n if (count === 0) {\n resolve(results);\n }\n return promise;\n };\n }\n if (typeof globalScope.Promise.resolve !== 'function') {\n globalScope.Promise.resolve = function (value) {\n return new globalScope.Promise(function (resolve) {\n resolve(value);\n });\n };\n }\n if (typeof globalScope.Promise.reject !== 'function') {\n globalScope.Promise.reject = function (reason) {\n return new globalScope.Promise(function (resolve, reject) {\n reject(reason);\n });\n };\n }\n if (typeof globalScope.Promise.prototype.catch !== 'function') {\n globalScope.Promise.prototype.catch = function (onReject) {\n return globalScope.Promise.prototype.then(undefined, onReject);\n };\n }\n return;\n }\n var STATUS_PENDING = 0;\n var STATUS_RESOLVED = 1;\n var STATUS_REJECTED = 2;\n var REJECTION_TIMEOUT = 500;\n var HandlerManager = {\n handlers: [],\n running: false,\n unhandledRejections: [],\n pendingRejectionCheck: false,\n scheduleHandlers: function scheduleHandlers(promise) {\n if (promise._status === STATUS_PENDING) {\n return;\n }\n this.handlers = this.handlers.concat(promise._handlers);\n promise._handlers = [];\n if (this.running) {\n return;\n }\n this.running = true;\n setTimeout(this.runHandlers.bind(this), 0);\n },\n runHandlers: function runHandlers() {\n var RUN_TIMEOUT = 1;\n var timeoutAt = Date.now() + RUN_TIMEOUT;\n while (this.handlers.length > 0) {\n var handler = this.handlers.shift();\n var nextStatus = handler.thisPromise._status;\n var nextValue = handler.thisPromise._value;\n try {\n if (nextStatus === STATUS_RESOLVED) {\n if (typeof handler.onResolve === 'function') {\n nextValue = handler.onResolve(nextValue);\n }\n } else if (typeof handler.onReject === 'function') {\n nextValue = handler.onReject(nextValue);\n nextStatus = STATUS_RESOLVED;\n if (handler.thisPromise._unhandledRejection) {\n this.removeUnhandeledRejection(handler.thisPromise);\n }\n }\n } catch (ex) {\n nextStatus = STATUS_REJECTED;\n nextValue = ex;\n }\n handler.nextPromise._updateStatus(nextStatus, nextValue);\n if (Date.now() >= timeoutAt) {\n break;\n }\n }\n if (this.handlers.length > 0) {\n setTimeout(this.runHandlers.bind(this), 0);\n return;\n }\n this.running = false;\n },\n addUnhandledRejection: function addUnhandledRejection(promise) {\n this.unhandledRejections.push({\n promise: promise,\n time: Date.now()\n });\n this.scheduleRejectionCheck();\n },\n removeUnhandeledRejection: function removeUnhandeledRejection(promise) {\n promise._unhandledRejection = false;\n for (var i = 0; i < this.unhandledRejections.length; i++) {\n if (this.unhandledRejections[i].promise === promise) {\n this.unhandledRejections.splice(i);\n i--;\n }\n }\n },\n scheduleRejectionCheck: function scheduleRejectionCheck() {\n var _this = this;\n if (this.pendingRejectionCheck) {\n return;\n }\n this.pendingRejectionCheck = true;\n setTimeout(function () {\n _this.pendingRejectionCheck = false;\n var now = Date.now();\n for (var i = 0; i < _this.unhandledRejections.length; i++) {\n if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {\n var unhandled = _this.unhandledRejections[i].promise._value;\n var msg = 'Unhandled rejection: ' + unhandled;\n if (unhandled.stack) {\n msg += '\\n' + unhandled.stack;\n }\n try {\n throw new Error(msg);\n } catch (_) {\n console.warn(msg);\n }\n _this.unhandledRejections.splice(i);\n i--;\n }\n }\n if (_this.unhandledRejections.length) {\n _this.scheduleRejectionCheck();\n }\n }, REJECTION_TIMEOUT);\n }\n };\n var Promise = function Promise(resolver) {\n this._status = STATUS_PENDING;\n this._handlers = [];\n try {\n resolver.call(this, this._resolve.bind(this), this._reject.bind(this));\n } catch (e) {\n this._reject(e);\n }\n };\n Promise.all = function Promise_all(promises) {\n var resolveAll, rejectAll;\n var deferred = new Promise(function (resolve, reject) {\n resolveAll = resolve;\n rejectAll = reject;\n });\n var unresolved = promises.length;\n var results = [];\n if (unresolved === 0) {\n resolveAll(results);\n return deferred;\n }\n function reject(reason) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results = [];\n rejectAll(reason);\n }\n for (var i = 0, ii = promises.length; i < ii; ++i) {\n var promise = promises[i];\n var resolve = function (i) {\n return function (value) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results[i] = value;\n unresolved--;\n if (unresolved === 0) {\n resolveAll(results);\n }\n };\n }(i);\n if (Promise.isPromise(promise)) {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n return deferred;\n };\n Promise.isPromise = function Promise_isPromise(value) {\n return value && typeof value.then === 'function';\n };\n Promise.resolve = function Promise_resolve(value) {\n return new Promise(function (resolve) {\n resolve(value);\n });\n };\n Promise.reject = function Promise_reject(reason) {\n return new Promise(function (resolve, reject) {\n reject(reason);\n });\n };\n Promise.prototype = {\n _status: null,\n _value: null,\n _handlers: null,\n _unhandledRejection: null,\n _updateStatus: function Promise__updateStatus(status, value) {\n if (this._status === STATUS_RESOLVED || this._status === STATUS_REJECTED) {\n return;\n }\n if (status === STATUS_RESOLVED && Promise.isPromise(value)) {\n value.then(this._updateStatus.bind(this, STATUS_RESOLVED), this._updateStatus.bind(this, STATUS_REJECTED));\n return;\n }\n this._status = status;\n this._value = value;\n if (status === STATUS_REJECTED && this._handlers.length === 0) {\n this._unhandledRejection = true;\n HandlerManager.addUnhandledRejection(this);\n }\n HandlerManager.scheduleHandlers(this);\n },\n _resolve: function Promise_resolve(value) {\n this._updateStatus(STATUS_RESOLVED, value);\n },\n _reject: function Promise_reject(reason) {\n this._updateStatus(STATUS_REJECTED, reason);\n },\n then: function Promise_then(onResolve, onReject) {\n var nextPromise = new Promise(function (resolve, reject) {\n this.resolve = resolve;\n this.reject = reject;\n });\n this._handlers.push({\n thisPromise: this,\n onResolve: onResolve,\n onReject: onReject,\n nextPromise: nextPromise\n });\n HandlerManager.scheduleHandlers(this);\n return nextPromise;\n },\n catch: function Promise_catch(onReject) {\n return this.then(undefined, onReject);\n }\n };\n globalScope.Promise = Promise;\n })();\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n var id = 0;\n function WeakMap() {\n this.id = '$weakmap' + id++;\n }\n WeakMap.prototype = {\n has: function has(obj) {\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' && typeof obj !== 'function' || obj === null) {\n return false;\n }\n return !!Object.getOwnPropertyDescriptor(obj, this.id);\n },\n get: function get(obj) {\n return this.has(obj) ? obj[this.id] : undefined;\n },\n set: function set(obj, value) {\n Object.defineProperty(obj, this.id, {\n value: value,\n enumerable: false,\n configurable: true\n });\n },\n delete: function _delete(obj) {\n delete obj[this.id];\n }\n };\n globalScope.WeakMap = WeakMap;\n })();\n (function checkURLConstructor() {\n var hasWorkingUrl = false;\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n hasWorkingUrl = u.href === 'http://a/c%20d';\n }\n } catch (e) {}\n if (hasWorkingUrl) {\n return;\n }\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n return h.toLowerCase();\n }\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n break;\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n if (stateOverride) {\n break loop;\n }\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n break;\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n break;\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n break;\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n break;\n case 'relative':\n this._isRelative = true;\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n this._path.pop();\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n break;\n case 'authority second slash':\n state = 'authority ignore slashes';\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n break;\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n break;\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n seenAt = true;\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n var tempC = percentEscape(cp);\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n break;\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n break;\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n if (stateOverride) {\n break loop;\n }\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n break;\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n buffer = '';\n }\n if (stateOverride) {\n break loop;\n }\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n break;\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n state = 'relative path';\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n break;\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n var tmp;\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n if (buffer === '..') {\n this._path.pop();\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n this._path.push(buffer);\n }\n buffer = '';\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n break;\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n break;\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n break;\n }\n cursor++;\n }\n }\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n var authority = '';\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n get protocol() {\n return this._scheme + ':';\n },\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n parse.call(this, value + ':', 'scheme start');\n },\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'host');\n },\n get hostname() {\n return this._host;\n },\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'hostname');\n },\n get port() {\n return this._port;\n },\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'port');\n },\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._query = '?';\n if (value[0] === '?') {\n value = value.slice(1);\n }\n parse.call(this, value, 'query');\n },\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n this._fragment = '#';\n if (value[0] === '#') {\n value = value.slice(1);\n }\n parse.call(this, value, 'fragment');\n },\n get origin() {\n var host;\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n return 'null';\n }\n host = this.host;\n if (!host) {\n return '';\n }\n return this._scheme + '://' + host;\n }\n };\n var OriginalURL = globalScope.URL;\n if (OriginalURL) {\n JURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n JURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n globalScope.URL = JURL;\n })();\n }\n\n /***/\n }, /* 88 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var isReadableStreamSupported = false;\n if (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(57).ReadableStream;\n }\n\n /***/\n }\n /******/])\n );\n});","map":{"version":3,"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","pdfjsDistBuildPdf","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","unreachable","warn","utf8StringToString","stringToUTF8String","stringToPDFString","stringToBytes","string32","shadow","setVerbosityLevel","ReadableStream","removeNullCharacters","readUint32","readUint16","readInt8","log2","loadJpegStream","isEvalSupported","isLittleEndian","createValidAbsoluteUrl","isSameOrigin","isNodeJS","isSpace","isString","isNum","isInt","isEmptyObj","isBool","isArrayBuffer","isArray","info","getVerbosityLevel","getLookupTableFactory","deprecated","createObjectURL","createPromiseCapability","createBlob","bytesToString","assert","arraysToBytes","arrayByteLength","FormatError","XRefParseException","Util","UnknownErrorException","UnexpectedResponseException","TextRenderingMode","StreamType","StatTimer","PasswordResponses","PasswordException","PageViewport","NotImplementedException","NativeImageDecoding","MissingPDFException","MissingDataException","MessageHandler","InvalidPDFException","AbortException","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","UNSUPPORTED_FEATURES","VERBOSITY_LEVELS","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","undefined","_typeof","Symbol","iterator","obj","constructor","_streams_polyfill","NONE","DECODE","DISPLAY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","HIDDEN","PRINT","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","errors","warnings","infos","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","verbosity","level","msg","console","log","details","Error","cond","unknown","forms","javaScript","smask","shadingPattern","font","baseUrl","otherUrl","base","URL","origin","e","other","isValidProtocol","url","protocol","absoluteUrl","ex","prop","writable","initializer","lookup","create","NEED_PASSWORD","INCORRECT_PASSWORD","PasswordExceptionClosure","code","message","UnknownErrorExceptionClosure","InvalidPDFExceptionClosure","MissingPDFExceptionClosure","UnexpectedResponseExceptionClosure","status","NotImplementedExceptionClosure","MissingDataExceptionClosure","begin","end","XRefParseExceptionClosure","FormatErrorClosure","AbortExceptionClosure","NullCharactersRegExp","str","replace","bytes","length","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","Math","min","chunk","subarray","push","join","Uint8Array","charCodeAt","arr","byteLength","resultLength","ii","item","itemLength","pos","data","set","x","start","offset","buffer8","view32","Uint32Array","buffer","Function","UtilClosure","rgbBuf","makeCssRgb","Util_makeCssRgb","r","g","b","Util_transform","m1","m2","applyTransform","Util_applyTransform","xt","yt","applyInverseTransform","Util_applyInverseTransform","getAxialAlignedBoundingBox","Util_getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","Util_inverseTransform","apply3dTransform","Util_apply3dTransform","v","singularValueDecompose2dScale","Util_singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","Util_normalizeRect","rect","intersect","Util_intersect","rect1","rect2","compare","orderedX","sort","orderedY","result","sign","Util_sign","num","ROMAN_NUMBER_MAP","toRoman","Util_toRoman","number","lowerCase","romanBuf","romanStr","toLowerCase","appendToArray","Util_appendToArray","arr1","arr2","Array","prependToArray","Util_prependToArray","unshift","extendObj","obj1","obj2","key","getInheritableProperty","Util_getInheritableProperty","dict","getArray","has","inherit","Util_inherit","sub","loadScript","Util_loadScript","src","callback","script","document","createElement","loaded","setAttribute","onload","getElementsByTagName","appendChild","PageViewportClosure","viewBox","scale","rotation","offsetX","offsetY","dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","width","height","abs","fontScale","clone","PageViewPort_clone","args","convertToViewportPoint","PageViewport_convertToViewportPoint","y","convertToViewportRectangle","PageViewport_convertToViewportRectangle","tl","br","convertToPdfPoint","PageViewport_convertToPdfPoint","PDFStringTranslateTable","charAt","decodeURIComponent","escape","unescape","encodeURIComponent","ch","process","capability","promise","Promise","resolve","reject","StatTimerClosure","rpad","pad","started","times","enabled","time","StatTimer_time","Date","now","timeEnd","StatTimer_timeEnd","toString","StatTimer_toString","out","longest","span","duration","contentType","Blob","type","createObjectURLClosure","digits","forceDataSchema","arguments","blob","b1","b2","b3","d1","d2","d3","d4","resolveCall","fn","thisArg","wrapReason","reason","resolveOrReject","success","finalize","catch","sourceName","targetName","comObj","_this","callbackId","streamId","postMessageTransfers","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","isReply","error","action","_sourceName","_targetName","then","postMessage","_createStreamSink","addEventListener","on","actionName","handler","scope","send","transfers","sendWithPromise","sendWithStream","queueingStrategy","_this2","controller","startCapability","startCall","isClosed","desiredSize","pull","pullCapability","pullCall","cancel","cancelCapability","cancelCall","_this3","self","sendStreamRequest","_ref","streamSink","enqueue","size","isCancelled","lastDesiredSize","sinkCapability","ready","close","onPull","onCancel","_this4","sendStreamResponse","_ref2","deleteStreamController","all","map","destroy","removeEventListener","id","imageUrl","objs","img","Image","loadJpegStream_onloadClosure","onerror","loadJpegStream_onerrorClosure","store","uid","_Symbol","USE_SYMBOL","$exports","global","window","__g","dP","createDesc","f","it","toInteger","DOMCMapReaderFactory","DOMCanvasFactory","DEFAULT_LINK_REL","getDefaultSetting","LinkTarget","getFilenameFromUrl","isValidUrl","isExternalLinkTargetSet","addLinkAttributes","RenderingCancelledException","CustomStyle","_createClass","defineProperties","target","props","descriptor","Constructor","protoProps","staticProps","_util","_global_scope","_global_scope2","_interopRequireDefault","default","_classCallCheck","instance","TypeError","canvas","context","getContext","reset","canvasAndContext","_ref$baseUrl","_ref$isCompressed","isCompressed","fetch","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","CustomStyleClosure","prefixes","_cache","getProp","propName","element","documentElement","style","prefixed","uPropName","toUpperCase","setProp","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","link","params","href","title","rel","anchor","indexOf","query","substring","lastIndexOf","globalSettings","PDFJS","pdfBug","disableAutoFetch","disableStream","disableRange","disableFontFace","disableCreateObjectURL","disableWebGL","cMapUrl","cMapPacked","workerPort","workerSrc","disableWorker","maxImageSize","imageResourcesPath","externalLinkTarget","externalLinkRel","enableStats","pdfjsNext","allowRelative","anObject","IE8_DOM_DEFINE","toPrimitive","O","P","Attributes","ceil","floor","isNaN","defined","px","random","concat","isObject","core","version","__e","exec","bitmap","index","IObject","aFunction","that","split","hide","SRC","TO_STRING","$toString","TPL","inspectSource","val","safe","isFunction","def","TAG","tag","stat","shared","S","valueOf","AnnotationLayer","_dom_utils","AnnotationElementFactory","AnnotationElementFactory_create","parameters","subtype","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","AnnotationElementClosure","isRenderable","ignoreBorder","layer","page","viewport","linkService","downloadManager","renderInteractiveForms","container","_createContainer","AnnotationElement_createContainer","view","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderBottomStyle","color","borderColor","left","top","_createPopup","AnnotationElement_createPopup","trigger","popupElement","PopupElement","contents","hideWrapper","popup","render","AnnotationElement_render","LinkAnnotationElementClosure","LinkAnnotationElement_render","className","newWindow","_bindNamedAction","_bindLink","dest","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","TextAnnotationElementClosure","hasPopup","TextAnnotationElement_render","image","alt","dataset","l10nId","l10nArgs","JSON","stringify","WidgetAnnotationElementClosure","WidgetAnnotationElement_render","TextWidgetAnnotationElementClosure","TEXT_ALIGNMENT","hasAppearance","fieldValue","TextWidgetAnnotationElement_render","multiLine","textContent","disabled","readOnly","maxLen","maxLength","comb","fieldWidth","combWidth","classList","add","letterSpacing","verticalAlign","display","fontRefName","commonObjs","getData","_setTextStyle","textAlignment","textAlign","TextWidgetAnnotationElement_setTextStyle","fontSize","direction","fontDirection","fontWeight","black","bold","fontStyle","italic","fontFamily","loadedName","fallbackName","CheckboxWidgetAnnotationElementClosure","CheckboxWidgetAnnotationElement_render","RadioButtonWidgetAnnotationElementClosure","RadioButtonWidgetAnnotationElement_render","fieldName","buttonValue","ChoiceWidgetAnnotationElementClosure","ChoiceWidgetAnnotationElement_render","selectElement","combo","options","multiSelect","multiple","option","optionElement","displayValue","exportValue","PopupAnnotationElementClosure","IGNORE_TYPES","PopupAnnotationElement_render","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","PopupElementClosure","BACKGROUND_ENLIGHT","pinned","PopupElement_render","wrapper","hideElement","backgroundColor","_formatContents","_toggle","bind","_show","_hide","PopupElement_formatContents","lines","line","createTextNode","PopupElement_toggle","PopupElement_show","pin","hasAttribute","removeAttribute","zIndex","PopupElement_hide","unpin","LineAnnotationElementClosure","SVG_NS","LineAnnotationElement_render","svg","createElementNS","setAttributeNS","lineCoordinates","append","HighlightAnnotationElementClosure","HighlightAnnotationElement_render","UnderlineAnnotationElementClosure","UnderlineAnnotationElement_render","SquigglyAnnotationElementClosure","SquigglyAnnotationElement_render","StrikeOutAnnotationElementClosure","StrikeOutAnnotationElement_render","FileAttachmentAnnotationElementClosure","file","filename","content","onFileAttachmentAnnotation","FileAttachmentAnnotationElement_render","_download","FileAttachmentAnnotationElement_download","downloadData","AnnotationLayerClosure","AnnotationLayer_render","annotationElementFactory","annotations","div","update","AnnotationLayer_update","build","_UnsupportedManager","setPDFNetworkStreamClass","PDFPageProxy","PDFDocumentProxy","PDFWorker","PDFDataRangeTransport","LoopbackPort","getDocument","_font_loader","_canvas","_metadata","_transport_stream","DEFAULT_RANGE_CHUNK_SIZE","isWorkerDisabled","isPostMessageTransfersDisabled","pdfjsFilePath","currentScript","fakeWorkerFilesLoader","useRequireEnsure","require","ensure","requirejs","toUrl","dynamicLoaderSupported","load","worker","WorkerMessageHandler","PDFNetworkStream","cls","pdfDataRangeTransport","passwordCallback","progressCallback","task","PDFDocumentLoadingTask","initialData","abort","range","onPassword","onProgress","source","rangeTransport","CMapReaderFactory","location","pdfBytes","rangeChunkSize","ignoreErrors","stopAtErrors","disableNativeImageDecoder","nativeImageDecoderSupport","fromPort","_worker","docId","destroyed","_fetchDocument","workerId","networkStream","PDFDataTransportStream","messageHandler","port","transport","WorkerTransport","_transport","_capability","chunkedViewerLoading","password","docBaseUrl","PDFDocumentLoadingTaskClosure","nextDocumentId","onUnsupportedFeature","transportDestroyed","PDFDocumentLoadingTask_then","onFulfilled","onRejected","pdfDataRangeTransportClosure","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","addRangeListener","PDFDataRangeTransport_addRangeListener","listener","addProgressListener","PDFDataRangeTransport_addProgressListener","addProgressiveReadListener","PDFDataRangeTransport_addProgressiveReadListener","onDataRange","PDFDataRangeTransport_onDataRange","listeners","onDataProgress","PDFDataRangeTransport_onDataProgress","onDataProgressiveRead","transportReady","PDFDataRangeTransport_transportReady","requestDataRange","PDFDataRangeTransport_requestDataRange","PDFDataRangeTransport_abort","PDFDocumentProxyClosure","pdfInfo","loadingTask","numPages","fingerprint","getPage","PDFDocumentProxy_getPage","pageNumber","getPageIndex","PDFDocumentProxy_getPageIndex","ref","getDestinations","PDFDocumentProxy_getDestinations","getDestination","PDFDocumentProxy_getDestination","getPageLabels","PDFDocumentProxy_getPageLabels","getPageMode","getAttachments","PDFDocumentProxy_getAttachments","getJavaScript","PDFDocumentProxy_getJavaScript","getOutline","PDFDocumentProxy_getOutline","getMetadata","PDFDocumentProxy_getMetadata","PDFDocumentProxy_getData","getDownloadInfo","PDFDocumentProxy_getDownloadInfo","downloadInfoCapability","getStats","PDFDocumentProxy_getStats","cleanup","PDFDocumentProxy_cleanup","startCleanup","PDFDocumentProxy_destroy","PDFPageProxyClosure","pageIndex","pageInfo","stats","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","getViewport","PDFPageProxy_getViewport","getAnnotations","PDFPageProxy_getAnnotations","intent","annotationsPromise","annotationsIntent","PDFPageProxy_render","renderingIntent","canvasFactory","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","complete","renderTasks","internalRenderTask","splice","_tryCleanup","InternalRenderTask","useRequestAnimationFrame","renderTask","continueCallback","onContinue","transparency","initializeGraphics","operatorListChanged","getOperatorList","PDFPageProxy_getOperatorList","opListReadCapability","opListTask","streamTextContent","TEXT_CONTENT_CHUNK_SIZE","normalizeWhitespace","combineTextItems","disableCombineTextItems","highWaterMark","items","getTextContent","PDFPageProxy_getTextContent","readableStream","pump","reader","read","done","styles","getReader","_destroy","PDFPageProxy_destroy","pageCache","waitOn","keys","forEach","renderCompleted","clear","PDFPageProxy_cleanup","PDFPageProxy_tryCleanup","some","_startRenderPage","PDFPageProxy_startRenderPage","_renderPageChunk","PDFPageProxy_renderPageChunk","operatorListChunk","defer","_listeners","_defer","_deferred","_this5","cloneValue","cloned","transferable","byteOffset","desc","getOwnPropertyDescriptor","getPrototypeOf","WeakMap","terminate","PDFWorkerClosure","nextFakeWorkerId","getWorkerSrc","fakeWorkerFilesLoadedCapability","setupFakeWorkerGlobal","loader","pdfjsDistBuildPdfWorker","createCDNWrapper","pdfWorkerPorts","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","PDFWorker_initializeFromPort","PDFWorker_initialize","_this6","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","PDFWorker_setupFakeWorker","_this7","isTypedArraysPresent","Float32Array","workerHandler","setup","PDFWorker_destroy","delete","WorkerTransportClosure","fontLoader","FontLoader","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","WorkerTransport_destroy","_this8","terminated","cancelAllRequests","WorkerTransport_setupMessageHandler","sink","_this9","getFullReader","evt","total","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","_loadingTask","contentLength","_rangeReader","getRangeReader","_ref3","transportDoc","pdfDocument","transportPasswordRequest","exception","_this11","updatePassword","transportPasswordException","transportInvalidPDF","transportMissingPDF","transportUnexpectedResponse","transportUnknownError","transportPage","transportRender","transportObj","_this12","hasData","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","isEvalSuported","fontReady","fontObjs","pageProxy","imageData","MAX_IMAGE_SIZE_TO_STORE","transportDocProgress","transportError","pageNum","transportUnsupportedFeature","featureId","notify","components","rgbaLength","buf","tmpCanvas","tmpCtx","drawImage","getImageData","j","WorkerTransport_getData","WorkerTransport_getPage","_this13","WorkerTransport_getPageIndexByRef","WorkerTransport_getAnnotations","WorkerTransport_getDestinations","WorkerTransport_getDestination","WorkerTransport_getPageLabels","WorkerTransport_getAttachments","WorkerTransport_getJavaScript","WorkerTransport_getOutline","WorkerTransport_getMetadata","transportMetadata","results","metadata","Metadata","WorkerTransport_getStats","WorkerTransport_startCleanup","_this14","PDFObjectsClosure","ensureObj","PDFObjects_ensureObj","objId","resolved","PDFObjects_get","PDFObjects_resolve","isResolved","PDFObjects_isResolved","PDFObjects_hasData","PDFObjects_getData","PDFObjects_clear","RenderTask","RenderTaskClosure","_internalRenderTask","RenderTask_cancel","RenderTask_then","InternalRenderTaskClosure","canvasInRendering","operatorListIdx","running","graphicsReadyCallback","graphicsReady","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","canvasContext","InternalRenderTask_initializeGraphics","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","imageLayer","beginDrawing","background","InternalRenderTask_cancel","InternalRenderTask_operatorListChanged","updateOperatorList","InternalRenderTask__continue","InternalRenderTask__scheduleNext","requestAnimationFrame","InternalRenderTask__next","executeOperatorList","endDrawing","UnsupportedManagerClosure","listen","cb","SVGGraphics","SVG_DEFAULTS","fillColor","convertImgDataToPng","convertImgDataToPngClosure","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","Int32Array","h","crc32","crc","writePngChunk","body","len","adler32","deflateSync","literals","deflateSyncUncompressed","input","parseInt","versions","node","Buffer","output","maxBlockLength","deflateBlocks","idat","pi","adler","encode","imgData","kind","bitDepth","colorType","lineSize","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","SVGExtraStateClosure","fontSizeScale","textMatrix","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRise","strokeColor","fillAlpha","strokeAlpha","lineWidth","lineJoin","lineCap","miterLimit","dashArray","dashPhase","dependencies","activeClipUrl","clipGroup","maskId","SVGExtraState_clone","setCurrentPoint","SVGExtraState_setCurrentPoint","SVGGraphicsClosure","opListToTree","opList","opTree","tmp","opListLen","pop","pf","toFixed","substr","pm","acos","PI","current","transformMatrix","transformStack","extraStack","pendingClip","pendingEOFill","embedFonts","embeddedFonts","cssStyle","NS","XML_NS","XLINK_NS","LINE_CAP_STYLES","LINE_JOIN_STYLES","clipCount","maskCount","SVGGraphics_save","old","SVGGraphics_restore","tgrp","group","SVGGraphics_group","executeOpTree","loadDependencies","SVGGraphics_loadDependencies","fnArrayLen","deps","nn","common","SVGGraphics_transform","getSVG","SVGGraphics_getSVG","svgElement","convertOpList","SVGGraphics_convertOpList","REVOPS","op","fnId","SVGGraphics_executeOpTree","opTreeLen","SVGGraphics_setWordSpacing","SVGGraphics_setCharSpacing","SVGGraphics_nextLine","SVGGraphics_setTextMatrix","lineMatrix","xcoords","tspan","txtElement","SVGGraphics_beginText","txtgrp","SVGGraphics_moveText","SVGGraphics_showText","glyphs","glyphsLength","vertical","widthAdvanceScale","glyph","character","fontChar","spacing","charWidth","isInFont","missingFile","_ensureTransformGroup","SVGGraphics_setLeadingMoveText","addFontStyle","SVGGraphics_addFontStyle","fontObj","defs","mimetype","SVGGraphics_setFont","SVGGraphics_endText","SVGGraphics_setLineWidth","SVGGraphics_setLineCap","SVGGraphics_setLineJoin","SVGGraphics_setMiterLimit","limit","setStrokeAlpha","SVGGraphics_setStrokeAlpha","SVGGraphics_setStrokeRGBColor","setFillAlpha","SVGGraphics_setFillAlpha","SVGGraphics_setFillRGBColor","SVGGraphics_setDash","SVGGraphics_constructPath","ops","path","opLength","xw","yh","SVGGraphics_endPath","clipId","clipPath","clipElement","cloneNode","prev","SVGGraphics_clip","SVGGraphics_closePath","getAttributeNS","SVGGraphics_setLeading","SVGGraphics_setTextRise","SVGGraphics_setHScale","SVGGraphics_setGState","states","state","SVGGraphics_fill","SVGGraphics_stroke","SVGGraphics_eoFill","SVGGraphics_fillStroke","SVGGraphics_eoFillStroke","SVGGraphics_closeStroke","SVGGraphics_closeFillStroke","SVGGraphics_paintSolidColorImageMask","SVGGraphics_paintJpegXObject","w","imgObj","imgEl","SVGGraphics_paintImageXObject","SVGGraphics_paintInlineImageXObject","mask","imgSrc","cliprect","SVGGraphics_paintImageMaskXObject","SVGGraphics_paintFormXObjectBegin","matrix","bbox","SVGGraphics_paintFormXObjectEnd","SVGGraphics_initialize","definitions","rootGroup","_ensureClipGroup","SVGGraphics_ensureClipGroup","SVGGraphics_ensureTransformGroup","renderTextLayer","renderTextLayerClosure","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","test","styleBuf","appendText","geom","textDiv","textDivProperties","angle","canvasWidth","isWhitespace","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","fontHeight","fontAscent","ascent","descent","sin","cos","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","expand","bounds","expanded","expandBounds","divProperties","points","ts","Float64Array","t","findPositiveMin","count","boxScale","boxes","box","x1","y1","x2","y2","x1New","x2New","expandBoundsLTR","fakeBoundary","Infinity","horizon","boundary","horizonPart","affectedBoundary","q","k","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","TextLayer_cancel","clearTimeout","_processItems","styleCache","textLayerFrag","_lastFontSize","_lastFontFamily","measureText","_render","TextLayer_render","timeout","mozOpaque","alpha","textItems","textStyles","setTimeout","expandTextDivs","TextLayer_expandTextDivs","expandDivs","padding","renderParameters","forbiddenField","toObject","toAbsoluteIndex","toLength","aLen","endPos","toIObject","IS_INCLUDES","$this","el","fromIndex","cof","ARG","tryGet","T","B","callee","is","redefine","ctx","PROTOTYPE","$export","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","expProto","own","exp","U","W","R","propertyIsEnumerable","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","createDict","iframe","lt","gt","iframeDocument","contentWindow","write","Properties","$keys","hiddenKeys","getOwnPropertyNames","ObjectProto","arrayIndexOf","names","SHARED","RangeError","TYPED","VIEW","ABV","ArrayBuffer","DataView","CONSTR","Typed","TypedArrayConstructors","fixMetadata","meta","codes","chars","parser","DOMParser","parseFromString","Document","metaDocument","parse","Metadata_parse","doc","rdf","nodeName","firstChild","nextSibling","hasChildNodes","children","childNodes","entry","iLength","trim","Metadata_get","Metadata_has","validateRangeRequestCapabilities","getResponseHeader","isHttp","returnValues","allowRangeRequests","suggestedLength","contentEncoding","WebGLUtils","WebGLUtilsClosure","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","compiled","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","linked","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","useProgram","cache","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","composeSMask","properties","drawingBufferWidth","drawingBufferHeight","uniform2f","backdrop","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","enable","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","scaleLocation","offsetLocation","colorLocation","drawFigures","figures","rows","coords","verticesPerRow","colors","coordsMap","colorsMap","pIndex","cIndex","figure","ps","cs","cols","row","col","jj","coordsBuffer","colorsBuffer","scaleX","scaleY","isEnabled","isWorker","globalScope","_api","_annotation_layer","_text_layer","_svg","PDFJS_createObjectURL","PDFJS_isLittleEndian","savedOpenExternalLinksInNewWindow","openExternalLinksInNewWindow","hasCanvasTypedArrays","UnsupportedManager","NetworkManager","_network_utils","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","httpHeaders","withCredentials","getXhr","NetworkManager_getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","array","supportsMozChunked","supportsMozChunkedClosure","requestRange","NetworkManager_requestRange","requestFull","NetworkManager_requestFull","NetworkManager_request","xhrId","pendingRequest","setRequestHeader","rangeStr","expectedStatus","useMozChunkedLoading","onProgressiveData","mozChunked","onError","onStateChange","onprogress","onHeadersReceived","onDone","NetworkManager_onProgress","NetworkManager_onStateChange","xhrStatus","ok_response_on_range_request","rangeHeader","matches","hasPendingRequests","NetworkManager_hasPendingRequests","getRequestXhr","isStreamingRequest","NetworkManager_isStreamingRequest","isPendingRequest","NetworkManager_isPendingRequest","isLoadedRequest","NetworkManager_isLoadedRequest","abortAllRequests","NetworkManager_abortAllRequests","abortRequest","NetworkManager_abortRequest","_options","_manager","_rangeChunkSize","_fullRequestReader","_rangeRequestReaders","_onRangeRequestReaderClosed","PDFNetworkStream_onRangeRequestReaderClosed","PDFNetworkStream_getFullReader","PDFNetworkStreamFullRequestReader","PDFNetworkStream_getRangeReader","PDFNetworkStreamRangeRequestReader","onClosed","PDFNetworkStream_cancelAllRequests","readers","manager","_onHeadersReceived","_onProgressiveData","_onDone","_onError","_onProgress","_url","_fullRequestId","_headersReceivedCapability","_disableRange","_contentLength","_isStreamingSupported","_isRangeSupported","_cachedChunks","_requests","_done","_storedError","PDFNetworkStreamFullRequestReader_onHeadersReceived","fullRequestXhrId","fullRequestXhr","_validateRangeRequest","networkManager","PDFNetworkStreamFullRequestReader_onProgressiveData","requestCapability","shift","PDFNetworkStreamFullRequestReader_onDone","PDFNetworkStreamFullRequestReader_onError","PDFNetworkStreamFullRequestReader_onProgress","lengthComputable","PDFNetworkStreamFullRequestReader_read","PDFNetworkStreamFullRequestReader_cancel","_requestId","_queuedChunk","_close","PDFNetworkStreamRangeRequestReader_close","PDFNetworkStreamRangeRequestReader_onDone","PDFNetworkStreamRangeRequestReader_onProgress","PDFNetworkStreamRangeRequestReader_read","PDFNetworkStreamRangeRequestReader_cancel","PDFNodeStream","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","fs","http","https","isFsUrl","host","_fullRequest","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","rangeReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_errored","_reason","_loaded","_readableStream","_readCapability","_headersCapability","_error","_setReadableStream","BaseRangeReader","createRequestOptions","headers","auth","hostname","method","_BaseFullReader","handleResponse","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","createReadStream","lstat","_BaseRangeReader2","_typeof2","_require","IsPropertyKey","argument","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","Number","Call","V","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","ValidateAndNormalizeQueuingStrategy","rethrowAssertionErrorRejection","AssertionError","stack","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamCloseQueuedOrInFlight","WritableStreamDefaultWriter","wasAlreadyErroring","_resolve","_reject","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","_closedPromise","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","releaseLock","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","pair","_require4","_require5","underlyingSource","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","mode","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","pipeThrough","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","_ref4","preventClose","preventAbort","preventCancel","Boolean","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","err","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","newError","isError","ReadableStreamReaderGenericRelease","tee","branches","ReadableStreamTee","IsReadableStreamDisturbed","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamBYOBReader","ReadableStreamDefaultReader","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","branch1","branch2","value1","value2","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","_i","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","respond","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","isInteger","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","viewE","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","queue","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","writableStream","TransformStream","TransformStreamCloseReadable","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","_writable","Uint8ClampedArray","UNSCOPABLES","ArrayProto","copyWithin","to","from","inc","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","res","SPECIES","original","C","speciesConstructor","Iterators","ITERATOR","arg","setToStringTag","IteratorPrototype","NAME","next","LIBRARY","$iterCreate","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","getMethod","proto","values","entries","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","methods","SAFE_CLOSING","riter","skipClosing","iter","getKeys","pIE","gOPD","DESCRIPTORS","KEY","D","fails","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","ArrayIterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","SHARED_BUFFER","$ArrayBuffer","$DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","TYPED_ARRAY","WRONG_LENGTH","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","validate","speciesFromList","list","fromList","addGetter","internal","_d","$from","mapfn","mapping","iterFn","step","$of","of","TO_LOCALE_BUG","$toLocaleString","every","filter","find","predicate","findIndex","searchElement","includes","separator","reverse","middle","comparefn","$begin","$slice","$set","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","setter","round","addElement","$offset","$length","klass","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","DATA_VIEW","WRONG_INDEX","BaseBuffer","pow","LN2","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","packI8","packI16","packI32","packF64","packF32","numIndex","intIndex","_b","pack","conversion","bufferLength","getInt8","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt8","setUint8","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBufferProto","$setInt8","getIteratorMethod","addToUnscopables","iterated","_t","_k","Arguments","_pattern_helper","_webgl","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","getCurrentTransform","getCurrentTransformInverse","ad_bc","bc_ad","ctxSave","ctxRestore","ctxTranslate","ctxScale","ctxTransform","ctxSetTransform","ctxRotate","cosValue","sinValue","CachedCanvases","CachedCanvasesClosure","getCanvas","CachedCanvases_getCanvas","trackTransform","canvasEntry","compileType3Glyph","POINT_TO_PROCESS_LIMIT","j0","width1","POINT_TYPES","data0","elem","sum","steps","outlines","p0","pp","drawOutline","beginPath","CanvasExtraState","CanvasExtraStateClosure","alphaIsShape","textMatrixScale","textRenderingMode","patternFill","activeSMask","resumeSMaskCtx","CanvasExtraState_clone","CanvasExtraState_setCurrentPoint","CanvasGraphicsClosure","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","stateStack","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","destPos","thisChunkHeight","elemsInThisChunk","srcLength","dest32","dest32DataLength","fullSrcDiff","white","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","hasBackdrop","composeFn","PIXELS_TO_PROCESS","chunkHeight","composed","NORMAL_CLIP","EO_CLIP","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","CanvasGraphics_executeOperatorList","executionStartIdx","argsArrayLen","chunkOperations","endTime","breakIt","depObjId","objsPool","CanvasGraphics_endDrawing","endSMaskGroup","endLayout","CanvasGraphics_setLineWidth","CanvasGraphics_setLineCap","CanvasGraphics_setLineJoin","CanvasGraphics_setMiterLimit","CanvasGraphics_setDash","CanvasGraphics_setRenderingIntent","CanvasGraphics_setFlatness","flatness","CanvasGraphics_setGState","suspendSMaskGroup","beginSMaskGroup","CanvasGraphics_beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","CanvasGraphics_endSMaskGroup","deltaTransform","clearRect","resumeSMaskGroup","CanvasGraphics_save","CanvasGraphics_restore","CanvasGraphics_transform","CanvasGraphics_constructPath","getSinglePixelWidth","bezierCurveTo","CanvasGraphics_closePath","CanvasGraphics_stroke","consumePath","getPattern","CanvasGraphics_closeStroke","CanvasGraphics_fill","isPatternFill","needRestore","CanvasGraphics_eoFill","CanvasGraphics_fillStroke","CanvasGraphics_eoFillStroke","CanvasGraphics_closeFillStroke","CanvasGraphics_closeEOFillStroke","CanvasGraphics_endPath","CanvasGraphics_clip","CanvasGraphics_eoClip","CanvasGraphics_beginText","CanvasGraphics_endText","paths","pendingTextPaths","addToPath","CanvasGraphics_setCharSpacing","CanvasGraphics_setWordSpacing","CanvasGraphics_setHScale","CanvasGraphics_setLeading","CanvasGraphics_setFont","isType3Font","typeface","browserFontSize","rule","CanvasGraphics_setTextRenderingMode","CanvasGraphics_setTextRise","rise","CanvasGraphics_moveText","CanvasGraphics_setLeadingMoveText","CanvasGraphics_setTextMatrix","CanvasGraphics_nextLine","paintChar","CanvasGraphics_paintChar","fillStrokeMode","isAddToPathSet","getPathGenerator","fillText","strokeText","isFontSubpixelAAEnabled","CanvasGraphics_showText","showType3Text","spacingDir","defaultVMetrics","simpleFillText","restoreNeeded","accent","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","remeasure","measuredWidth","characterScaleX","CanvasGraphics_showType3Text","isTextInvisible","spacingLength","charProcOperatorList","operatorListId","transformed","CanvasGraphics_setCharWidth","xWidth","yWidth","CanvasGraphics_setCharWidthAndBounds","llx","lly","urx","ury","getColorN_Pattern","CanvasGraphics_getColorN_Pattern","IR","pattern","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","CanvasGraphics_setStrokeColorN","CanvasGraphics_setFillColorN","CanvasGraphics_setStrokeRGBColor","CanvasGraphics_setFillRGBColor","CanvasGraphics_shadingFill","patternIR","inv","bl","ul","ur","x0","y0","CanvasGraphics_beginInlineImage","CanvasGraphics_beginImageData","CanvasGraphics_paintFormXObjectBegin","CanvasGraphics_paintFormXObjectEnd","CanvasGraphics_beginGroup","isolated","knockout","canvasBounds","CanvasGraphics_endGroup","imageSmoothingEnabled","mozImageSmoothingEnabled","CanvasGraphics_beginAnnotations","CanvasGraphics_endAnnotations","CanvasGraphics_beginAnnotation","CanvasGraphics_endAnnotation","CanvasGraphics_paintJpegXObject","domImage","position","getCanvasPosition","appendImage","CanvasGraphics_paintImageMaskXObject","maskCanvas","CanvasGraphics_paintImageMaskXObjectRepeat","positions","CanvasGraphics_paintImageMaskXObjectGroup","images","CanvasGraphics_paintImageXObject","CanvasGraphics_paintImageXObjectRepeat","CanvasGraphics_paintInlineImageXObject","widthScale","heightScale","imgToPaint","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","CanvasGraphics_paintInlineImageXObjectGroup","CanvasGraphics_paintSolidColorImageMask","CanvasGraphics_paintXObject","CanvasGraphics_markPoint","CanvasGraphics_markPointProps","CanvasGraphics_beginMarkedContent","CanvasGraphics_beginMarkedContentProps","CanvasGraphics_endMarkedContent","CanvasGraphics_beginCompat","CanvasGraphics_endCompat","CanvasGraphics_consumePath","CanvasGraphics_getSinglePixelWidth","inverse","CanvasGraphics_getCanvasPosition","styleElement","nativeFontFaces","loadTestFontId","loadingContext","requests","nextRequestId","insertRule","fontLoaderInsertRule","styleSheet","sheet","cssRules","fontLoaderClear","remove","nativeFontFace","fonts","getLoadTestFont","atob","addNativeFontFace","fontLoader_addNativeFontFace","fontLoaderBind","rules","fontsToLoad","fontLoadPromises","getNativeFontPromise","family","isFontLoadingAPISupported","isSyncFontLoadingSupported","attached","loading","createNativeFontFace","createFontFaceRule","queueLoadingCallback","prepareFontLoadEvent","FontLoader_queueLoadingCallback","LoadLoader_completeRequest","otherRequest","requestId","fontLoaderPrepareFontLoadEvent","int32","spliceString","insert","chunk1","chunk2","called","isFontReady","loadTestFont","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","btoa","removeChild","navigator","supported","userAgent","IsEvalSupportedCached","FontFaceObjectClosure","translatedData","compiledGlyphs","FontFaceObject_createNativeFontFace","FontFace","FontFaceObject_createFontFaceRule","FontFaceObject_getPathGenerator","cmds","js","cmd","ShadingIRs","RadialAxial","fromIR","RadialAxial_fromIR","raw","colorStops","r1","RadialAxial_getPattern","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","createMeshCanvasClosure","drawTriangle","c1","c2","c3","rowSize","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","combinesScale","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","Mesh","Mesh_fromIR","Mesh_getPattern","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","Dummy_fromIR","Dummy_fromIR_getPattern","shadingIR","TilingPatternClosure","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","createPatternCanvas","TilinPattern_createPatternCanvas","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","TilingPattern_setScale","TilingPattern_transformToScale","tmpScale","scaleToContext","TilingPattern_scaleToContext","bboxWidth","bboxHeight","cssColor","TilingPattern_getPattern","PDFDataTransportStreamClosure","_queuedChunks","_pdfDataRangeTransport","_rangeReaders","_onReceiveData","PDFDataTransportStream_onReceiveData","_enqueue","found","_begin","PDFDataTransportStream_onDataProgress","firstReader","_removeRangeReader","PDFDataTransportStream_removeRangeReader","PDFDataTransportStream_getFullReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStream_getRangeReader","PDFDataTransportStreamRangeReader","PDFDataTransportStream_cancelAllRequests","_headersReady","PDFDataTransportStreamReader_enqueue","PDFDataTransportStreamReader_read","PDFDataTransportStreamReader_cancel","_end","PDFDataTransportStreamRangeReader_enqueue","requestsCapability","PDFDataTransportStreamRangeReader_read","PDFDataTransportStreamRangeReader_cancel","pdfjsVersion","pdfjsBuild","pdfjsSharedUtil","pdfjsDisplayGlobal","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","compatibilityChecked","isAndroid","isAndroidPre3","isAndroidPre5","isChrome","isChromeWithRangeBug","isIOSChrome","isIE","isIOS","isOpera","isSafari","hasDOM","checkTypedArrayCompatibility","setArrayOffset","Uint32ArrayView","ensureUint32ArrayViewProps","uint32ArrayViewSetters","createUint32ArrayProp","arg1","Int8Array","canvasPixelArrayBuffer","CanvasPixelArray","cpaProto","normalizeURLObject","webkitURL","checkObjectDefinePropertyCompatibility","definePropertyPossible","Test","objectDefineProperty","__defineGetter__","__defineSetter__","objectDefinePropertySetter","objectDefinePropertyGetter","checkXMLHttpRequestResponseCompatibility","xhrPrototype","xmlHttpRequestOverrideMimeType","mimeType","xmlHttpRequestGetResponseType","_responseType","xmlHttpRequestSetResponseType","overrideMimeType","VBArray","xmlHttpRequestResponseGet","responseBody","toArray","text","checkWindowBtoaCompatibility","checkWindowAtobCompatibility","bc","bs","idx","checkFunctionPrototypeBindCompatibility","functionPrototypeBind","headArgs","bound","functionPrototypeBindBound","checkDatasetProperty","_dataset","attributes","attribute","checkClassListProperty","changeList","itemName","classListPrototype","contains","toggle","_classList","checkWorkerConsoleCompatibility","importScripts","consoleTimer","workerConsole","checkConsoleCompatibility","checkOnClickCompatibility","ignoreIfTargetDisabled","isDisabled","stopPropagation","parentNode","checkOnBlobSupport","checkNavigatorLanguage","locale","userLanguage","checkRangeRequests","checkHistoryManipulation","history","pushState","disableHistory","checkSetPresenceInImageData","polyfill","versionMatch","match","contextPrototype","CanvasRenderingContext2D","checkRequestAnimationFrame","installFakeAnimationFrameFunctions","cancelAnimationFrame","timeoutID","mozRequestAnimationFrame","webkitRequestAnimationFrame","checkCanvasSizeLimitation","maxCanvasPixels","checkFullscreenSupport","parent","disableFullscreen","checkCurrentScript","scripts","checkInputTypeNumberAssign","inputProto","typeProperty","checkDocumentReadyState","attachEvent","documentProto","readyStateProto","checkChildNodeRemove","Element","checkNumberIsNaN","checkNumberIsInteger","isFinite","checkPromise","iterable","resolve_","reject_","onReject","STATUS_PENDING","STATUS_RESOLVED","STATUS_REJECTED","REJECTION_TIMEOUT","HandlerManager","handlers","unhandledRejections","pendingRejectionCheck","scheduleHandlers","_status","_handlers","runHandlers","RUN_TIMEOUT","timeoutAt","nextStatus","thisPromise","nextValue","_value","onResolve","_unhandledRejection","removeUnhandeledRejection","nextPromise","_updateStatus","addUnhandledRejection","scheduleRejectionCheck","unhandled","_","resolver","Promise_all","promises","resolveAll","rejectAll","deferred","unresolved","isPromise","Promise_isPromise","Promise_resolve","Promise_reject","Promise__updateStatus","Promise_then","Promise_catch","checkWeakMap","_delete","checkURLConstructor","hasWorkingUrl","u","pathname","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","stateOverride","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","JURL","authority","search","hash","OriginalURL","revokeObjectURL","isReadableStreamSupported"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/ng2-pdf-viewer/node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsDistBuildPdf = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__w_pdfjs_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 86);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.loadJpegStream = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isNodeJS = exports.isSpace = exports.isString = exports.isNum = exports.isInt = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.isArray = exports.info = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.createBlob = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.StatTimer = exports.PasswordResponses = exports.PasswordException = exports.PageViewport = exports.NotImplementedException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.MessageHandler = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VERBOSITY_LEVELS = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n__w_pdfjs_require__(87);\n\nvar _streams_polyfill = __w_pdfjs_require__(88);\n\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nvar VERBOSITY_LEVELS = {\n errors: 0,\n warnings: 1,\n infos: 5\n};\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nvar verbosity = VERBOSITY_LEVELS.warnings;\nfunction setVerbosityLevel(level) {\n verbosity = level;\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VERBOSITY_LEVELS.infos) {\n console.log('Info: ' + msg);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VERBOSITY_LEVELS.warnings) {\n console.log('Warning: ' + msg);\n }\n}\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\nfunction isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n}\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\nvar NotImplementedException = function NotImplementedExceptionClosure() {\n function NotImplementedException(msg) {\n this.message = msg;\n }\n NotImplementedException.prototype = new Error();\n NotImplementedException.prototype.name = 'NotImplementedException';\n NotImplementedException.constructor = NotImplementedException;\n return NotImplementedException;\n}();\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\nvar NullCharactersRegExp = /\\x00/g;\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n return str.replace(NullCharactersRegExp, '');\n}\nfunction bytesToString(bytes) {\n assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n var strBuf = [];\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n}\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n var pos = 0;\n var data = new Uint8Array(resultLength);\n for (i = 0; i < ii; i++) {\n item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction log2(x) {\n var n = 1,\n i = 0;\n while (x > n) {\n n <<= 1;\n i++;\n }\n return i;\n}\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nvar Util = function UtilClosure() {\n function Util() {}\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n Util.transform = function Util_transform(m1, m2) {\n 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]];\n };\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n 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])];\n };\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n 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];\n };\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n 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]];\n };\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n };\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n return result;\n };\n Util.sign = function Util_sign(num) {\n return num < 0 ? -1 : 1;\n };\n 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'];\n Util.toRoman = function Util_toRoman(number, lowerCase) {\n assert(isInt(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n };\n Util.appendToArray = function Util_appendToArray(arr1, arr2) {\n Array.prototype.push.apply(arr1, arr2);\n };\n Util.prependToArray = function Util_prependToArray(arr1, arr2) {\n Array.prototype.unshift.apply(arr1, arr2);\n };\n Util.extendObj = function extendObj(obj1, obj2) {\n for (var key in obj2) {\n obj1[key] = obj2[key];\n }\n };\n Util.getInheritableProperty = function Util_getInheritableProperty(dict, name, getArray) {\n while (dict && !dict.has(name)) {\n dict = dict.get('Parent');\n }\n if (!dict) {\n return null;\n }\n return getArray ? dict.getArray(name) : dict.get(name);\n };\n Util.inherit = function Util_inherit(sub, base, prototype) {\n sub.prototype = Object.create(base.prototype);\n sub.prototype.constructor = sub;\n for (var prop in prototype) {\n sub.prototype[prop] = prototype[prop];\n }\n };\n Util.loadScript = function Util_loadScript(src, callback) {\n var script = document.createElement('script');\n var loaded = false;\n script.setAttribute('src', src);\n if (callback) {\n script.onload = function () {\n if (!loaded) {\n callback();\n }\n loaded = true;\n };\n }\n document.getElementsByTagName('head')[0].appendChild(script);\n };\n return Util;\n}();\nvar PageViewport = function PageViewportClosure() {\n function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n this.fontScale = scale;\n }\n PageViewport.prototype = {\n clone: function PageViewPort_clone(args) {\n args = args || {};\n var scale = 'scale' in args ? args.scale : this.scale;\n var rotation = 'rotation' in args ? args.rotation : this.rotation;\n return new PageViewport(this.viewBox.slice(), scale, rotation, this.offsetX, this.offsetY, args.dontFlip);\n },\n convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n },\n convertToViewportRectangle: function PageViewport_convertToViewportRectangle(rect) {\n var tl = Util.applyTransform([rect[0], rect[1]], this.transform);\n var br = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [tl[0], tl[1], br[0], br[1]];\n },\n convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n };\n return PageViewport;\n}();\nvar 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];\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join('');\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n return true;\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isInt(v) {\n return typeof v === 'number' && (v | 0) === v;\n}\nfunction isNum(v) {\n return typeof v === 'number';\n}\nfunction isString(v) {\n return typeof v === 'string';\n}\nfunction isArray(v) {\n return v instanceof Array;\n}\nfunction isArrayBuffer(v) {\n return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined;\n}\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\nfunction isNodeJS() {\n return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]';\n}\nfunction createPromiseCapability() {\n var capability = {};\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = resolve;\n capability.reject = reject;\n });\n return capability;\n}\nvar StatTimer = function StatTimerClosure() {\n function rpad(str, pad, length) {\n while (str.length < length) {\n str += pad;\n }\n return str;\n }\n function StatTimer() {\n this.started = Object.create(null);\n this.times = [];\n this.enabled = true;\n }\n StatTimer.prototype = {\n time: function StatTimer_time(name) {\n if (!this.enabled) {\n return;\n }\n if (name in this.started) {\n warn('Timer is already running for ' + name);\n }\n this.started[name] = Date.now();\n },\n timeEnd: function StatTimer_timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n if (!(name in this.started)) {\n warn('Timer has not been started for ' + name);\n }\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n },\n toString: function StatTimer_toString() {\n var i, ii;\n var times = this.times;\n var out = '';\n var longest = 0;\n for (i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (i = 0, ii = times.length; i < ii; ++i) {\n var span = times[i];\n var duration = span.end - span.start;\n out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\\n';\n }\n return out;\n }\n };\n return StatTimer;\n}();\nvar createBlob = function createBlob(data, contentType) {\n if (typeof Blob !== 'undefined') {\n return new Blob([data], { type: contentType });\n }\n throw new Error('The \"Blob\" constructor is not supported.');\n};\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = createBlob(data, contentType);\n return URL.createObjectURL(blob);\n }\n var buffer = 'data:' + contentType + ';base64,';\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n}();\nfunction resolveCall(fn, args) {\n var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!fn) {\n return Promise.resolve(undefined);\n }\n return new Promise(function (resolve, reject) {\n resolve(fn.apply(thisArg, args));\n });\n}\nfunction wrapReason(reason) {\n if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') {\n return reason;\n }\n switch (reason.name) {\n case 'AbortException':\n return new AbortException(reason.message);\n case 'MissingPDFException':\n return new MissingPDFException(reason.message);\n case 'UnexpectedResponseException':\n return new UnexpectedResponseException(reason.message, reason.status);\n default:\n return new UnknownErrorException(reason.message, reason.details);\n }\n}\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n if (data.targetName !== _this.sourceName) {\n return;\n }\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error('Cannot resolve callback ' + callbackId);\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n if (reason instanceof Error) {\n reason = reason + '';\n }\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: reason\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error('Unknown action from worker: ' + data.action);\n }\n };\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error('There is already an actionName called \"' + actionName + '\"');\n }\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = createPromiseCapability();\n this.callbacksCapabilities[callbackId] = capability;\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _streams_polyfill.ReadableStream({\n start: function start(controller) {\n var startCapability = createPromiseCapability();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = createPromiseCapability();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = createPromiseCapability();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = createPromiseCapability();\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments[2];\n\n if (this.isCancelled) {\n return;\n }\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = createPromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({ stream: 'close' });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n case 'enqueue':\n assert(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n break;\n case 'close':\n assert(this.streamControllers[data.streamId], 'close should have stream controller');\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n case 'error':\n assert(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\nfunction loadJpegStream(id, imageUrl, objs) {\n var img = new Image();\n img.onload = function loadJpegStream_onloadClosure() {\n objs.resolve(id, img);\n };\n img.onerror = function loadJpegStream_onerrorClosure() {\n objs.resolve(id, null);\n warn('Error during JPEG image loading');\n };\n img.src = imageUrl;\n}\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nexports.OPS = OPS;\nexports.VERBOSITY_LEVELS = VERBOSITY_LEVELS;\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nexports.AnnotationFlag = AnnotationFlag;\nexports.AnnotationType = AnnotationType;\nexports.FontType = FontType;\nexports.ImageKind = ImageKind;\nexports.CMapCompressionType = CMapCompressionType;\nexports.AbortException = AbortException;\nexports.InvalidPDFException = InvalidPDFException;\nexports.MessageHandler = MessageHandler;\nexports.MissingDataException = MissingDataException;\nexports.MissingPDFException = MissingPDFException;\nexports.NativeImageDecoding = NativeImageDecoding;\nexports.NotImplementedException = NotImplementedException;\nexports.PageViewport = PageViewport;\nexports.PasswordException = PasswordException;\nexports.PasswordResponses = PasswordResponses;\nexports.StatTimer = StatTimer;\nexports.StreamType = StreamType;\nexports.TextRenderingMode = TextRenderingMode;\nexports.UnexpectedResponseException = UnexpectedResponseException;\nexports.UnknownErrorException = UnknownErrorException;\nexports.Util = Util;\nexports.XRefParseException = XRefParseException;\nexports.FormatError = FormatError;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createBlob = createBlob;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createObjectURL = createObjectURL;\nexports.deprecated = deprecated;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArray = isArray;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isInt = isInt;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isNodeJS = isNodeJS;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.loadJpegStream = loadJpegStream;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.ReadableStream = _streams_polyfill.ReadableStream;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(48)('wks');\nvar uid = __w_pdfjs_require__(13);\nvar _Symbol = __w_pdfjs_require__(2).Symbol;\nvar USE_SYMBOL = typeof _Symbol == 'function';\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n$exports.store = store;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(17)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(8);\nvar createDesc = __w_pdfjs_require__(18);\nmodule.exports = __w_pdfjs_require__(3) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(11);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.getDefaultSetting = exports.LinkTarget = exports.getFilenameFromUrl = exports.isValidUrl = exports.isExternalLinkTargetSet = exports.addLinkAttributes = exports.RenderingCancelledException = exports.CustomStyle = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _global_scope = __w_pdfjs_require__(14);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\n\nvar DOMCanvasFactory = function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: 'create',\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: 'reset',\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: 'destroy',\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nvar DOMCMapReaderFactory = function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: 'fetch',\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n var data = void 0;\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nvar CustomStyle = function CustomStyleClosure() {\n var prefixes = ['ms', 'Moz', 'Webkit', 'O'];\n var _cache = Object.create(null);\n function CustomStyle() {}\n CustomStyle.getProp = function get(propName, element) {\n if (arguments.length === 1 && typeof _cache[propName] === 'string') {\n return _cache[propName];\n }\n element = element || document.documentElement;\n var style = element.style,\n prefixed,\n uPropName;\n if (typeof style[propName] === 'string') {\n return _cache[propName] = propName;\n }\n uPropName = propName.charAt(0).toUpperCase() + propName.slice(1);\n for (var i = 0, l = prefixes.length; i < l; i++) {\n prefixed = prefixes[i] + uPropName;\n if (typeof style[prefixed] === 'string') {\n return _cache[propName] = prefixed;\n }\n }\n return _cache[propName] = 'undefined';\n };\n CustomStyle.setProp = function set(propName, element, str) {\n var prop = this.getProp(propName);\n if (prop !== 'undefined') {\n element.style[prop] = str;\n }\n };\n return CustomStyle;\n}();\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\nfunction addLinkAttributes(link, params) {\n var url = params && params.url;\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n if (url) {\n var target = params.target;\n if (typeof target === 'undefined') {\n target = getDefaultSetting('externalLinkTarget');\n }\n link.target = LinkTargetStringMap[target];\n var rel = params.rel;\n if (typeof rel === 'undefined') {\n rel = getDefaultSetting('externalLinkRel');\n }\n link.rel = rel;\n }\n}\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\nfunction getDefaultSetting(id) {\n var globalSettings = _global_scope2.default.PDFJS;\n switch (id) {\n case 'pdfBug':\n return globalSettings ? globalSettings.pdfBug : false;\n case 'disableAutoFetch':\n return globalSettings ? globalSettings.disableAutoFetch : false;\n case 'disableStream':\n return globalSettings ? globalSettings.disableStream : false;\n case 'disableRange':\n return globalSettings ? globalSettings.disableRange : false;\n case 'disableFontFace':\n return globalSettings ? globalSettings.disableFontFace : false;\n case 'disableCreateObjectURL':\n return globalSettings ? globalSettings.disableCreateObjectURL : false;\n case 'disableWebGL':\n return globalSettings ? globalSettings.disableWebGL : true;\n case 'cMapUrl':\n return globalSettings ? globalSettings.cMapUrl : null;\n case 'cMapPacked':\n return globalSettings ? globalSettings.cMapPacked : false;\n case 'postMessageTransfers':\n return globalSettings ? globalSettings.postMessageTransfers : true;\n case 'workerPort':\n return globalSettings ? globalSettings.workerPort : null;\n case 'workerSrc':\n return globalSettings ? globalSettings.workerSrc : null;\n case 'disableWorker':\n return globalSettings ? globalSettings.disableWorker : false;\n case 'maxImageSize':\n return globalSettings ? globalSettings.maxImageSize : -1;\n case 'imageResourcesPath':\n return globalSettings ? globalSettings.imageResourcesPath : '';\n case 'isEvalSupported':\n return globalSettings ? globalSettings.isEvalSupported : true;\n case 'externalLinkTarget':\n if (!globalSettings) {\n return LinkTarget.NONE;\n }\n switch (globalSettings.externalLinkTarget) {\n case LinkTarget.NONE:\n case LinkTarget.SELF:\n case LinkTarget.BLANK:\n case LinkTarget.PARENT:\n case LinkTarget.TOP:\n return globalSettings.externalLinkTarget;\n }\n (0, _util.warn)('PDFJS.externalLinkTarget is invalid: ' + globalSettings.externalLinkTarget);\n globalSettings.externalLinkTarget = LinkTarget.NONE;\n return LinkTarget.NONE;\n case 'externalLinkRel':\n return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL;\n case 'enableStats':\n return !!(globalSettings && globalSettings.enableStats);\n case 'pdfjsNext':\n return !!(globalSettings && globalSettings.pdfjsNext);\n default:\n throw new Error('Unknown default setting: ' + id);\n }\n}\nfunction isExternalLinkTargetSet() {\n var externalLinkTarget = getDefaultSetting('externalLinkTarget');\n switch (externalLinkTarget) {\n case LinkTarget.NONE:\n return false;\n case LinkTarget.SELF:\n case LinkTarget.BLANK:\n case LinkTarget.PARENT:\n case LinkTarget.TOP:\n return true;\n }\n}\nfunction isValidUrl(url, allowRelative) {\n (0, _util.deprecated)('isValidUrl(), please use createValidAbsoluteUrl() instead.');\n var baseUrl = allowRelative ? 'http://example.com' : null;\n return (0, _util.createValidAbsoluteUrl)(url, baseUrl) !== null;\n}\nexports.CustomStyle = CustomStyle;\nexports.RenderingCancelledException = RenderingCancelledException;\nexports.addLinkAttributes = addLinkAttributes;\nexports.isExternalLinkTargetSet = isExternalLinkTargetSet;\nexports.isValidUrl = isValidUrl;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.LinkTarget = LinkTarget;\nexports.getDefaultSetting = getDefaultSetting;\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nexports.DOMCanvasFactory = DOMCanvasFactory;\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(15);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(41);\nvar toPrimitive = __w_pdfjs_require__(28);\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(3) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nmodule.exports = function (it) {\n return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(38);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(9);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = { version: '2.5.0' };\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(11);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(42);\nvar defined = __w_pdfjs_require__(38);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(33);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar hide = __w_pdfjs_require__(4);\nvar has = __w_pdfjs_require__(5);\nvar SRC = __w_pdfjs_require__(13)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n__w_pdfjs_require__(16).inspectSource = function (it) {\n return $toString.call(it);\n};\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(8).f;\nvar has = __w_pdfjs_require__(5);\nvar TAG = __w_pdfjs_require__(1)('toStringTag');\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(48)('keys');\nvar uid = __w_pdfjs_require__(13);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(9);\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = undefined;\n\nvar _dom_utils = __w_pdfjs_require__(7);\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction AnnotationElementFactory() {}\nAnnotationElementFactory.prototype = {\n create: function AnnotationElementFactory_create(parameters) {\n var subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n (0, _util.warn)('Unimplemented button widget annotation: pushbutton');\n break;\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n};\nvar AnnotationElement = function AnnotationElementClosure() {\n function AnnotationElement(parameters, isRenderable, ignoreBorder) {\n this.isRenderable = isRenderable || false;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n AnnotationElement.prototype = {\n _createContainer: function AnnotationElement_createContainer(ignoreBorder) {\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n 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]]);\n _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')');\n _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px');\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n _dom_utils.CustomStyle.setProp('borderRadius', container, radius);\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n default:\n break;\n }\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n },\n _createPopup: function AnnotationElement_createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n },\n render: function AnnotationElement_render() {\n throw new Error('Abstract method AnnotationElement.render called');\n }\n };\n return AnnotationElement;\n}();\nvar LinkAnnotationElement = function LinkAnnotationElementClosure() {\n function LinkAnnotationElement(parameters) {\n AnnotationElement.call(this, parameters, true);\n }\n _util.Util.inherit(LinkAnnotationElement, AnnotationElement, {\n render: function LinkAnnotationElement_render() {\n this.container.className = 'linkAnnotation';\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: this.data.url,\n target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined\n });\n if (!this.data.url) {\n if (this.data.action) {\n this._bindNamedAction(link, this.data.action);\n } else {\n this._bindLink(link, this.data.dest);\n }\n }\n this.container.appendChild(link);\n return this.container;\n },\n _bindLink: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = 'internalLink';\n }\n },\n _bindNamedAction: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n return false;\n };\n link.className = 'internalLink';\n }\n });\n return LinkAnnotationElement;\n}();\nvar TextAnnotationElement = function TextAnnotationElementClosure() {\n function TextAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(TextAnnotationElement, AnnotationElement, {\n render: function TextAnnotationElement_render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n });\n return TextAnnotationElement;\n}();\nvar WidgetAnnotationElement = function WidgetAnnotationElementClosure() {\n function WidgetAnnotationElement(parameters, isRenderable) {\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(WidgetAnnotationElement, AnnotationElement, {\n render: function WidgetAnnotationElement_render() {\n return this.container;\n }\n });\n return WidgetAnnotationElement;\n}();\nvar TextWidgetAnnotationElement = function TextWidgetAnnotationElementClosure() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n function TextWidgetAnnotationElement(parameters) {\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n WidgetAnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(TextWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function TextWidgetAnnotationElement_render() {\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n element.disabled = this.data.readOnly;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n if (this.data.fontRefName) {\n font = this.page.commonObjs.getData(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n this.container.appendChild(element);\n return this.container;\n },\n _setTextStyle: function TextWidgetAnnotationElement_setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n if (!font) {\n return;\n }\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n });\n return TextWidgetAnnotationElement;\n}();\nvar CheckboxWidgetAnnotationElement = function CheckboxWidgetAnnotationElementClosure() {\n function CheckboxWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(CheckboxWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function CheckboxWidgetAnnotationElement_render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n });\n return CheckboxWidgetAnnotationElement;\n}();\nvar RadioButtonWidgetAnnotationElement = function RadioButtonWidgetAnnotationElementClosure() {\n function RadioButtonWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(RadioButtonWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function RadioButtonWidgetAnnotationElement_render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n this.container.appendChild(element);\n return this.container;\n }\n });\n return RadioButtonWidgetAnnotationElement;\n}();\nvar ChoiceWidgetAnnotationElement = function ChoiceWidgetAnnotationElementClosure() {\n function ChoiceWidgetAnnotationElement(parameters) {\n WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms);\n }\n _util.Util.inherit(ChoiceWidgetAnnotationElement, WidgetAnnotationElement, {\n render: function ChoiceWidgetAnnotationElement_render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.indexOf(option.displayValue) >= 0) {\n optionElement.setAttribute('selected', true);\n }\n selectElement.appendChild(optionElement);\n }\n this.container.appendChild(selectElement);\n return this.container;\n }\n });\n return ChoiceWidgetAnnotationElement;\n}();\nvar PopupAnnotationElement = function PopupAnnotationElementClosure() {\n var IGNORE_TYPES = ['Line'];\n function PopupAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable);\n }\n _util.Util.inherit(PopupAnnotationElement, AnnotationElement, {\n render: function PopupAnnotationElement_render() {\n this.container.className = 'popupAnnotation';\n if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) {\n return this.container;\n }\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top);\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n });\n return PopupAnnotationElement;\n}();\nvar PopupElement = function PopupElementClosure() {\n var BACKGROUND_ENLIGHT = 0.7;\n function PopupElement(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n PopupElement.prototype = {\n render: function PopupElement_render() {\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n var contents = this._formatContents(this.contents);\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n },\n _formatContents: function PopupElement_formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n return p;\n },\n _toggle: function PopupElement_toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n },\n _show: function PopupElement_show(pin) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n },\n _hide: function PopupElement_hide(unpin) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n };\n return PopupElement;\n}();\nvar LineAnnotationElement = function LineAnnotationElementClosure() {\n var SVG_NS = 'http://www.w3.org/2000/svg';\n function LineAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(LineAnnotationElement, AnnotationElement, {\n render: function LineAnnotationElement_render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttributeNS(null, 'version', '1.1');\n svg.setAttributeNS(null, 'width', width + 'px');\n svg.setAttributeNS(null, 'height', height + 'px');\n svg.setAttributeNS(null, 'preserveAspectRatio', 'none');\n svg.setAttributeNS(null, 'viewBox', '0 0 ' + width + ' ' + height);\n var line = document.createElementNS(SVG_NS, 'svg:line');\n line.setAttributeNS(null, 'x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttributeNS(null, 'y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttributeNS(null, 'x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttributeNS(null, 'y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttributeNS(null, 'stroke-width', data.borderStyle.width);\n line.setAttributeNS(null, 'stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, this.data);\n return this.container;\n }\n });\n return LineAnnotationElement;\n}();\nvar HighlightAnnotationElement = function HighlightAnnotationElementClosure() {\n function HighlightAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(HighlightAnnotationElement, AnnotationElement, {\n render: function HighlightAnnotationElement_render() {\n this.container.className = 'highlightAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return HighlightAnnotationElement;\n}();\nvar UnderlineAnnotationElement = function UnderlineAnnotationElementClosure() {\n function UnderlineAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(UnderlineAnnotationElement, AnnotationElement, {\n render: function UnderlineAnnotationElement_render() {\n this.container.className = 'underlineAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return UnderlineAnnotationElement;\n}();\nvar SquigglyAnnotationElement = function SquigglyAnnotationElementClosure() {\n function SquigglyAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(SquigglyAnnotationElement, AnnotationElement, {\n render: function SquigglyAnnotationElement_render() {\n this.container.className = 'squigglyAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return SquigglyAnnotationElement;\n}();\nvar StrikeOutAnnotationElement = function StrikeOutAnnotationElementClosure() {\n function StrikeOutAnnotationElement(parameters) {\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n AnnotationElement.call(this, parameters, isRenderable, true);\n }\n _util.Util.inherit(StrikeOutAnnotationElement, AnnotationElement, {\n render: function StrikeOutAnnotationElement_render() {\n this.container.className = 'strikeoutAnnotation';\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n });\n return StrikeOutAnnotationElement;\n}();\nvar FileAttachmentAnnotationElement = function FileAttachmentAnnotationElementClosure() {\n function FileAttachmentAnnotationElement(parameters) {\n AnnotationElement.call(this, parameters, true);\n var file = this.data.file;\n this.filename = (0, _dom_utils.getFilenameFromUrl)(file.filename);\n this.content = file.content;\n this.linkService.onFileAttachmentAnnotation({\n id: (0, _util.stringToPDFString)(file.filename),\n filename: file.filename,\n content: file.content\n });\n }\n _util.Util.inherit(FileAttachmentAnnotationElement, AnnotationElement, {\n render: function FileAttachmentAnnotationElement_render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n this.container.appendChild(trigger);\n return this.container;\n },\n _download: function FileAttachmentAnnotationElement_download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n });\n return FileAttachmentAnnotationElement;\n}();\nvar AnnotationLayer = function AnnotationLayerClosure() {\n return {\n render: function AnnotationLayer_render(parameters) {\n var annotationElementFactory = new AnnotationElementFactory();\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n if (!data) {\n continue;\n }\n var element = annotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || (0, _dom_utils.getDefaultSetting)('imageResourcesPath'),\n renderInteractiveForms: parameters.renderInteractiveForms || false\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n },\n update: function AnnotationLayer_update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n if (element) {\n _dom_utils.CustomStyle.setProp('transform', element, 'matrix(' + parameters.viewport.transform.join(',') + ')');\n }\n }\n parameters.div.removeAttribute('hidden');\n }\n };\n}();\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.build = exports.version = exports._UnsupportedManager = exports.setPDFNetworkStreamClass = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _dom_utils = __w_pdfjs_require__(7);\n\nvar _font_loader = __w_pdfjs_require__(83);\n\nvar _canvas = __w_pdfjs_require__(82);\n\nvar _global_scope = __w_pdfjs_require__(14);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _metadata = __w_pdfjs_require__(51);\n\nvar _transport_stream = __w_pdfjs_require__(85);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar workerSrc;\nvar isPostMessageTransfersDisabled = false;\nvar pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : null;\nvar fakeWorkerFilesLoader = null;\nvar useRequireEnsure = false;\n{\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function (callback) {\n require.ensure([], function () {\n var worker;\n worker = require('./pdf.worker.js');\n callback(worker.WorkerMessageHandler);\n });\n } : dynamicLoaderSupported ? function (callback) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n callback(worker.WorkerMessageHandler);\n });\n } : null;\n}\nvar PDFNetworkStream;\nfunction setPDFNetworkStreamClass(cls) {\n PDFNetworkStream = cls;\n}\nfunction getDocument(src, pdfDataRangeTransport, passwordCallback, progressCallback) {\n var task = new PDFDocumentLoadingTask();\n if (arguments.length > 1) {\n (0, _util.deprecated)('getDocument is called with pdfDataRangeTransport, ' + 'passwordCallback or progressCallback argument');\n }\n if (pdfDataRangeTransport) {\n if (!(pdfDataRangeTransport instanceof PDFDataRangeTransport)) {\n pdfDataRangeTransport = Object.create(pdfDataRangeTransport);\n pdfDataRangeTransport.length = src.length;\n pdfDataRangeTransport.initialData = src.initialData;\n if (!pdfDataRangeTransport.abort) {\n pdfDataRangeTransport.abort = function () {};\n }\n }\n src = Object.create(src);\n src.range = pdfDataRangeTransport;\n }\n task.onPassword = passwordCallback || null;\n task.onProgress = progressCallback || null;\n var source;\n if (typeof src === 'string') {\n source = { url: src };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n var params = {};\n var rangeTransport = null;\n var worker = null;\n var CMapReaderFactory = _dom_utils.DOMCMapReaderFactory;\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n continue;\n } else if (key === 'CMapReaderFactory') {\n CMapReaderFactory = source[key];\n continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.ignoreErrors = params.stopAtErrors !== true;\n if (params.disableNativeImageDecoder !== undefined) {\n (0, _util.deprecated)('parameter disableNativeImageDecoder, ' + 'use nativeImageDecoderSupport instead');\n }\n params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || (params.disableNativeImageDecoder === true ? _util.NativeImageDecoding.NONE : _util.NativeImageDecoding.DECODE);\n if (params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DECODE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DISPLAY) {\n (0, _util.warn)('Invalid parameter nativeImageDecoderSupport: ' + 'need a state of enum {NativeImageDecoding}');\n params.nativeImageDecoderSupport = _util.NativeImageDecoding.DECODE;\n }\n if (!worker) {\n var workerPort = (0, _dom_utils.getDefaultSetting)('workerPort');\n worker = workerPort ? PDFWorker.fromPort(workerPort) : new PDFWorker();\n task._worker = worker;\n }\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n var networkStream = void 0;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream(params, rangeTransport);\n } else if (!params.data) {\n networkStream = new PDFNetworkStream({\n source: params,\n disableRange: (0, _dom_utils.getDefaultSetting)('disableRange')\n });\n }\n var messageHandler = new _util.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, CMapReaderFactory);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');\n source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');\n source.chunkedViewerLoading = !!pdfDataRangeTransport;\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: (0, _dom_utils.getDefaultSetting)('maxImageSize'),\n disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n disableCreateObjectURL: (0, _dom_utils.getDefaultSetting)('disableCreateObjectURL'),\n postMessageTransfers: (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n return workerId;\n });\n}\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n function PDFDocumentLoadingTask() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n PDFDocumentLoadingTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n destroy: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n if (_this._worker) {\n _this._worker.destroy();\n _this._worker = null;\n }\n });\n },\n\n then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return PDFDocumentLoadingTask;\n}();\nvar PDFDataRangeTransport = function pdfDataRangeTransportClosure() {\n function PDFDataRangeTransport(length, initialData) {\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n PDFDataRangeTransport.prototype = {\n addRangeListener: function PDFDataRangeTransport_addRangeListener(listener) {\n this._rangeListeners.push(listener);\n },\n addProgressListener: function PDFDataRangeTransport_addProgressListener(listener) {\n this._progressListeners.push(listener);\n },\n addProgressiveReadListener: function PDFDataRangeTransport_addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n },\n onDataRange: function PDFDataRangeTransport_onDataRange(begin, chunk) {\n var listeners = this._rangeListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](begin, chunk);\n }\n },\n onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var listeners = _this2._progressListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](loaded);\n }\n });\n },\n onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var listeners = _this3._progressiveReadListeners;\n for (var i = 0, n = listeners.length; i < n; ++i) {\n listeners[i](chunk);\n }\n });\n },\n transportReady: function PDFDataRangeTransport_transportReady() {\n this._readyCapability.resolve();\n },\n requestDataRange: function PDFDataRangeTransport_requestDataRange(begin, end) {\n throw new Error('Abstract method PDFDataRangeTransport.requestDataRange');\n },\n abort: function PDFDataRangeTransport_abort() {}\n };\n return PDFDataRangeTransport;\n}();\nvar PDFDocumentProxy = function PDFDocumentProxyClosure() {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n this.pdfInfo = pdfInfo;\n this.transport = transport;\n this.loadingTask = loadingTask;\n }\n PDFDocumentProxy.prototype = {\n get numPages() {\n return this.pdfInfo.numPages;\n },\n get fingerprint() {\n return this.pdfInfo.fingerprint;\n },\n getPage: function PDFDocumentProxy_getPage(pageNumber) {\n return this.transport.getPage(pageNumber);\n },\n getPageIndex: function PDFDocumentProxy_getPageIndex(ref) {\n return this.transport.getPageIndex(ref);\n },\n getDestinations: function PDFDocumentProxy_getDestinations() {\n return this.transport.getDestinations();\n },\n getDestination: function PDFDocumentProxy_getDestination(id) {\n return this.transport.getDestination(id);\n },\n getPageLabels: function PDFDocumentProxy_getPageLabels() {\n return this.transport.getPageLabels();\n },\n getPageMode: function getPageMode() {\n return this.transport.getPageMode();\n },\n\n getAttachments: function PDFDocumentProxy_getAttachments() {\n return this.transport.getAttachments();\n },\n getJavaScript: function PDFDocumentProxy_getJavaScript() {\n return this.transport.getJavaScript();\n },\n getOutline: function PDFDocumentProxy_getOutline() {\n return this.transport.getOutline();\n },\n getMetadata: function PDFDocumentProxy_getMetadata() {\n return this.transport.getMetadata();\n },\n getData: function PDFDocumentProxy_getData() {\n return this.transport.getData();\n },\n getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() {\n return this.transport.downloadInfoCapability.promise;\n },\n getStats: function PDFDocumentProxy_getStats() {\n return this.transport.getStats();\n },\n cleanup: function PDFDocumentProxy_cleanup() {\n this.transport.startCleanup();\n },\n destroy: function PDFDocumentProxy_destroy() {\n return this.loadingTask.destroy();\n }\n };\n return PDFDocumentProxy;\n}();\nvar PDFPageProxy = function PDFPageProxyClosure() {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n this.pageIndex = pageIndex;\n this.pageInfo = pageInfo;\n this.transport = transport;\n this.stats = new _util.StatTimer();\n this.stats.enabled = (0, _dom_utils.getDefaultSetting)('enableStats');\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n PDFPageProxy.prototype = {\n get pageNumber() {\n return this.pageIndex + 1;\n },\n get rotate() {\n return this.pageInfo.rotate;\n },\n get ref() {\n return this.pageInfo.ref;\n },\n get userUnit() {\n return this.pageInfo.userUnit;\n },\n get view() {\n return this.pageInfo.view;\n },\n getViewport: function PDFPageProxy_getViewport(scale, rotate) {\n if (arguments.length < 2) {\n rotate = this.rotate;\n }\n return new _util.PageViewport(this.view, scale, rotate, 0, 0);\n },\n getAnnotations: function PDFPageProxy_getAnnotations(params) {\n var intent = params && params.intent || null;\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n },\n render: function PDFPageProxy_render(params) {\n var _this4 = this;\n\n var stats = this.stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = params.intent === 'print' ? 'print' : 'display';\n var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this.stats.time('Page Request');\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: params.renderInteractiveForms === true\n });\n }\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n _this4._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);\n internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n if (params.continueCallback) {\n (0, _util.deprecated)('render is used with continueCallback parameter');\n renderTask.onContinue = params.continueCallback;\n }\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n },\n getOperatorList: function PDFPageProxy_getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n var renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n this.transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n },\n streamTextContent: function streamTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this.transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: params.normalizeWhitespace === true,\n combineTextItems: params.disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n },\n\n getTextContent: function PDFPageProxy_getTextContent(params) {\n params = params || {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref) {\n var value = _ref.value,\n done = _ref.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n _util.Util.extendObj(textContent.styles, value.styles);\n _util.Util.appendToArray(textContent.items, value.items);\n pump();\n }, reject);\n }\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n },\n _destroy: function PDFPageProxy_destroy() {\n this.destroyed = true;\n this.transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n },\n destroy: function destroy() {\n (0, _util.deprecated)('page destroy method, use cleanup() instead');\n this.cleanup();\n },\n\n cleanup: function PDFPageProxy_cleanup() {\n this.pendingCleanup = true;\n this._tryCleanup();\n },\n _tryCleanup: function PDFPageProxy_tryCleanup() {\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n },\n _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n },\n _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n var i, ii;\n for (i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n this._tryCleanup();\n }\n }\n };\n return PDFPageProxy;\n}();\n\nvar LoopbackPort = function () {\n function LoopbackPort(defer) {\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: 'postMessage',\n value: function postMessage(obj, transfers) {\n var _this5 = this;\n\n function cloneValue(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n var result;\n var buffer;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.indexOf(buffer) >= 0;\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (var i in value) {\n var desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, { data: obj });\n }, this);\n return;\n }\n var cloned = new WeakMap();\n var e = { data: cloneValue(obj) };\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: 'addEventListener',\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: 'removeEventListener',\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n }, {\n key: 'terminate',\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\nvar PDFWorker = function PDFWorkerClosure() {\n var nextFakeWorkerId = 0;\n function getWorkerSrc() {\n if (typeof workerSrc !== 'undefined') {\n return workerSrc;\n }\n if ((0, _dom_utils.getDefaultSetting)('workerSrc')) {\n return (0, _dom_utils.getDefaultSetting)('workerSrc');\n }\n if (pdfjsFilePath) {\n return pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n throw new Error('No PDFJS.workerSrc specified');\n }\n var fakeWorkerFilesLoadedCapability = void 0;\n function setupFakeWorkerGlobal() {\n var WorkerMessageHandler;\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var loader = fakeWorkerFilesLoader || function (callback) {\n _util.Util.loadScript(getWorkerSrc(), function () {\n callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);\n });\n };\n loader(fakeWorkerFilesLoadedCapability.resolve);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return URL.createObjectURL(new Blob([wrapper]));\n }\n var pdfWorkerPorts = new WeakMap();\n function PDFWorker(name, port) {\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n PDFWorker.prototype = {\n get promise() {\n return this._readyCapability.promise;\n },\n get port() {\n return this._port;\n },\n get messageHandler() {\n return this._messageHandler;\n },\n _initializeFromPort: function PDFWorker_initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _util.MessageHandler('main', 'worker', port);\n this._messageHandler.on('ready', function () {});\n this._readyCapability.resolve();\n },\n _initialize: function PDFWorker_initialize() {\n var _this6 = this;\n\n if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {\n var workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n var worker = new Worker(workerSrc);\n var messageHandler = new _util.MessageHandler('main', 'worker', worker);\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n var supportTypedArray = data && data.supportTypedArray;\n if (supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n isPostMessageTransfersDisabled = true;\n }\n _this6._readyCapability.resolve();\n messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() });\n } else {\n _this6._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('console_log', function (data) {\n console.log.apply(console, data);\n });\n messageHandler.on('console_error', function (data) {\n console.error.apply(console, data);\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n var sendTest = function sendTest() {\n var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled;\n var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n this._setupFakeWorker();\n },\n _setupFakeWorker: function PDFWorker_setupFakeWorker() {\n var _this7 = this;\n\n if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n return;\n }\n var isTypedArraysPresent = Uint8Array !== Float32Array;\n var port = new LoopbackPort(isTypedArraysPresent);\n _this7._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _util.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _util.MessageHandler(id, id + '_worker', port);\n _this7._messageHandler = messageHandler;\n _this7._readyCapability.resolve();\n });\n },\n destroy: function PDFWorker_destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n };\n PDFWorker.fromPort = function (port) {\n if (pdfWorkerPorts.has(port)) {\n return pdfWorkerPorts.get(port);\n }\n return new PDFWorker(null, port);\n };\n return PDFWorker;\n}();\nvar WorkerTransport = function WorkerTransportClosure() {\n function WorkerTransport(messageHandler, loadingTask, networkStream, CMapReaderFactory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader(loadingTask.docId);\n this.CMapReaderFactory = new CMapReaderFactory({\n baseUrl: (0, _dom_utils.getDefaultSetting)('cMapUrl'),\n isCompressed: (0, _dom_utils.getDefaultSetting)('cMapPacked')\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n WorkerTransport.prototype = {\n destroy: function WorkerTransport_destroy() {\n var _this8 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n _this8.messageHandler = null;\n }\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n },\n setupMessageHandler: function WorkerTransport_setupMessageHandler() {\n var messageHandler = this.messageHandler;\n var loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress) {\n var _loadingTask = _this10.loadingTask;\n if (_loadingTask.onProgress) {\n _loadingTask.onProgress(_this10._lastProgress);\n }\n }\n fullReader.onProgress = function (evt) {\n var loadingTask = _this10.loadingTask;\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n var _rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n sink.onPull = function () {\n _rangeReader.read().then(function (_ref3) {\n var value = _ref3.value,\n done = _ref3.done;\n\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n sink.onCancel = function (reason) {\n _rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function transportDoc(data) {\n var pdfInfo = data.pdfInfo;\n this.numPages = data.pdfInfo.numPages;\n var loadingTask = this.loadingTask;\n var pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n this.pdfDocument = pdfDocument;\n loadingTask._capability.resolve(pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({ password: password });\n };\n loadingTask.onPassword(updatePassword, exception.code);\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function transportPasswordException(exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function transportInvalidPDF(exception) {\n this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function transportMissingPDF(exception) {\n this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function transportUnexpectedResponse(exception) {\n this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function transportUnknownError(exception) {\n this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function transportPage(data) {\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('PDFManagerReady', function transportPage(data) {}, this);\n messageHandler.on('StartRenderPage', function transportRender(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page.stats.timeEnd('Page Request');\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function transportRender(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageIndex];\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function transportObj(data) {\n var _this12 = this;\n\n if (this.destroyed) {\n return;\n }\n var id = data[0];\n var type = data[1];\n if (this.commonObjs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'Font':\n var exportedData = data[2];\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)('Error during font loading: ' + exportedError);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n var fontRegistry = null;\n if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.FontInspector && _global_scope2.default['FontInspector'].enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope2.default['FontInspector'].fontAdded(font, url);\n }\n };\n }\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSuported: (0, _dom_utils.getDefaultSetting)('isEvalSupported'),\n disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),\n fontRegistry: fontRegistry\n });\n var fontReady = function fontReady(fontObjs) {\n _this12.commonObjs.resolve(id, font);\n };\n this.fontLoader.bind([font], fontReady);\n break;\n case 'FontPath':\n this.commonObjs.resolve(id, data[2]);\n break;\n default:\n throw new Error('Got unknown common object type ' + type);\n }\n }, this);\n messageHandler.on('obj', function transportObj(data) {\n if (this.destroyed) {\n return;\n }\n var id = data[0];\n var pageIndex = data[1];\n var type = data[2];\n var pageProxy = this.pageCache[pageIndex];\n var imageData;\n if (pageProxy.objs.hasData(id)) {\n return;\n }\n switch (type) {\n case 'JpegStream':\n imageData = data[3];\n (0, _util.loadJpegStream)(id, imageData, pageProxy.objs);\n break;\n case 'Image':\n imageData = data[3];\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error('Got unknown object type ' + type);\n }\n }, this);\n messageHandler.on('DocProgress', function transportDocProgress(data) {\n if (this.destroyed) {\n return;\n }\n var loadingTask = this.loadingTask;\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function transportError(data) {\n if (this.destroyed) {\n return;\n }\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', function transportUnsupportedFeature(data) {\n if (this.destroyed) {\n return;\n }\n var featureId = data.featureId;\n var loadingTask = this.loadingTask;\n if (loadingTask.onUnsupportedFeature) {\n loadingTask.onUnsupportedFeature(featureId);\n }\n _UnsupportedManager.notify(featureId);\n }, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n var imageUrl = data[0];\n var components = data[1];\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8Array(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n var i, j;\n if (components === 3) {\n for (i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (i = 0, j = 0; i < rgbaLength; i += 4, j++) {\n buf[j] = data[i];\n }\n }\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n return this.CMapReaderFactory.fetch({ name: data.name });\n }, this);\n },\n getData: function WorkerTransport_getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n },\n getPage: function WorkerTransport_getPage(pageNumber, capability) {\n var _this13 = this;\n\n if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n var pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n },\n getPageIndex: function WorkerTransport_getPageIndexByRef(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n },\n getAnnotations: function WorkerTransport_getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n },\n getDestinations: function WorkerTransport_getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n },\n getDestination: function WorkerTransport_getDestination(id) {\n return this.messageHandler.sendWithPromise('GetDestination', { id: id });\n },\n getPageLabels: function WorkerTransport_getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n },\n getPageMode: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n },\n\n getAttachments: function WorkerTransport_getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n },\n getJavaScript: function WorkerTransport_getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n },\n getOutline: function WorkerTransport_getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n },\n getMetadata: function WorkerTransport_getMetadata() {\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function transportMetadata(results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null\n };\n });\n },\n getStats: function WorkerTransport_getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n },\n startCleanup: function WorkerTransport_startCleanup() {\n var _this14 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this14.pageCache.length; i < ii; i++) {\n var page = _this14.pageCache[i];\n if (page) {\n page.cleanup();\n }\n }\n _this14.commonObjs.clear();\n _this14.fontLoader.clear();\n });\n }\n };\n return WorkerTransport;\n}();\nvar PDFObjects = function PDFObjectsClosure() {\n function PDFObjects() {\n this.objs = Object.create(null);\n }\n PDFObjects.prototype = {\n ensureObj: function PDFObjects_ensureObj(objId) {\n if (this.objs[objId]) {\n return this.objs[objId];\n }\n var obj = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n this.objs[objId] = obj;\n return obj;\n },\n get: function PDFObjects_get(objId, callback) {\n if (callback) {\n this.ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n var obj = this.objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error('Requesting object that isn\\'t resolved yet ' + objId);\n }\n return obj.data;\n },\n resolve: function PDFObjects_resolve(objId, data) {\n var obj = this.ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n },\n isResolved: function PDFObjects_isResolved(objId) {\n var objs = this.objs;\n if (!objs[objId]) {\n return false;\n }\n return objs[objId].resolved;\n },\n hasData: function PDFObjects_hasData(objId) {\n return this.isResolved(objId);\n },\n getData: function PDFObjects_getData(objId) {\n var objs = this.objs;\n if (!objs[objId] || !objs[objId].resolved) {\n return null;\n }\n return objs[objId].data;\n },\n clear: function PDFObjects_clear() {\n this.objs = Object.create(null);\n }\n };\n return PDFObjects;\n}();\nvar RenderTask = function RenderTaskClosure() {\n function RenderTask(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n RenderTask.prototype = {\n get promise() {\n return this._internalRenderTask.capability.promise;\n },\n cancel: function RenderTask_cancel() {\n this._internalRenderTask.cancel();\n },\n then: function RenderTask_then(onFulfilled, onRejected) {\n return this.promise.then.apply(this.promise, arguments);\n }\n };\n return RenderTask;\n}();\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakMap();\n function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this.useRequestAnimationFrame = false;\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n InternalRenderTask.prototype = {\n initializeGraphics: function InternalRenderTask_initializeGraphics(transparency) {\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n canvasInRendering.set(this._canvas, this);\n }\n if (this.cancelled) {\n return;\n }\n if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _global_scope2.default.StepperManager && _global_scope2.default.StepperManager.enabled) {\n this.stepper = _global_scope2.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n var params = this.params;\n this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer);\n this.gfx.beginDrawing({\n transform: params.transform,\n viewport: params.viewport,\n transparency: transparency,\n background: params.background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n },\n cancel: function InternalRenderTask_cancel() {\n this.running = false;\n this.cancelled = true;\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n if ((0, _dom_utils.getDefaultSetting)('pdfjsNext')) {\n this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas'));\n } else {\n this.callback('cancelled');\n }\n },\n operatorListChanged: function InternalRenderTask_operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n },\n _continue: function InternalRenderTask__continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n },\n _scheduleNext: function InternalRenderTask__scheduleNext() {\n if (this.useRequestAnimationFrame && typeof window !== 'undefined') {\n window.requestAnimationFrame(this._nextBound);\n } else {\n Promise.resolve(undefined).then(this._nextBound);\n }\n },\n _next: function InternalRenderTask__next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n };\n return InternalRenderTask;\n}();\nvar _UnsupportedManager = function UnsupportedManagerClosure() {\n var listeners = [];\n return {\n listen: function listen(cb) {\n (0, _util.deprecated)('Global UnsupportedManager.listen is used: ' + ' use PDFDocumentLoadingTask.onUnsupportedFeature instead');\n listeners.push(cb);\n },\n notify: function notify(featureId) {\n for (var i = 0, ii = listeners.length; i < ii; i++) {\n listeners[i](featureId);\n }\n }\n };\n}();\nvar version, build;\n{\n exports.version = version = '1.9.489';\n exports.build = build = 'b7fcaff0';\n}\nexports.getDocument = getDocument;\nexports.LoopbackPort = LoopbackPort;\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nexports.PDFWorker = PDFWorker;\nexports.PDFDocumentProxy = PDFDocumentProxy;\nexports.PDFPageProxy = PDFPageProxy;\nexports.setPDFNetworkStreamClass = setPDFNetworkStreamClass;\nexports._UnsupportedManager = _UnsupportedManager;\nexports.version = version;\nexports.build = build;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n for (var i = 0; i < 256; i++) {\n var c = i;\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n var crc = -1;\n for (var i = start; i < end; i++) {\n var a = (crc ^ data[i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!(0, _util.isNodeJS)()) {\n return deflateSyncUncompressed(literals);\n }\n try {\n var input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n var output = require('zlib').deflateSync(input, { level: 9 });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error('invalid format');\n }\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP) {\n offsetLiterals = 0;\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n 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]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema);\n };\n }();\n var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (value === (value | 0)) {\n return value.toString();\n }\n var s = value.toFixed(10);\n var i = s.length - 1;\n if (s[i] !== '0') {\n return s;\n }\n do {\n i--;\n } while (s[i] === '0');\n return s.substr(0, s[i] === '.' ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n }\n var NS = 'http://www.w3.org/2000/svg';\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n this.current.dependencies.push(promise);\n }\n }\n }\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n var svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n var opTree = _this2.convertOpList(operatorList);\n _this2.executeOpTree(opTree);\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTree[x].items);\n break;\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = document.createElementNS(NS, 'svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = document.createElementNS(NS, 'svg:tspan');\n this.current.txtElement = document.createElementNS(NS, 'svg:text');\n this.current.txtgrp = document.createElementNS(NS, 'svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n var textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = document.createElementNS(NS, 'svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = document.createElementNS(NS, 'svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n },\n endText: function SVGGraphics_endText() {},\n setLineWidth: function SVGGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.current.fillColor = color;\n this.current.tspan = document.createElementNS(NS, 'svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = document.createElementNS(NS, 'svg:path');\n var d = [];\n var opLength = ops.length;\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n this._ensureTransformGroup().appendChild(current.path);\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n clipCount++;\n var clipPath = document.createElementNS(NS, 'svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode();\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n }\n current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'Font':\n this.setFont(value);\n break;\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n case 'ca':\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n },\n stroke: function SVGGraphics_stroke() {\n var current = this.current;\n current.element.setAttributeNS(null, 'stroke', current.strokeColor);\n current.element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n current.element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n current.element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n current.element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n current.element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n current.element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n current.element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n current.element.setAttributeNS(null, 'fill', 'none');\n },\n eoFill: function SVGGraphics_eoFill() {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\n var rect = document.createElementNS(NS, 'svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = document.createElementNS(NS, 'svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema);\n var cliprect = document.createElementNS(NS, 'svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = document.createElementNS(NS, 'svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = document.createElementNS(NS, 'svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = document.createElementNS(NS, 'svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n if ((0, _util.isArray)(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = document.createElementNS(NS, 'svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n },\n paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: function SVGGraphics_initialize(viewport) {\n var svg = document.createElementNS(NS, 'svg:svg');\n svg.setAttributeNS(null, 'version', '1.1');\n svg.setAttributeNS(null, 'width', viewport.width + 'px');\n svg.setAttributeNS(null, 'height', viewport.height + 'px');\n svg.setAttributeNS(null, 'preserveAspectRatio', 'none');\n svg.setAttributeNS(null, 'viewBox', '0 0 ' + viewport.width + ' ' + viewport.height);\n var definitions = document.createElementNS(NS, 'svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = document.createElementNS(NS, 'svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n },\n _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = document.createElementNS(NS, 'svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = document.createElementNS(NS, 'svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _dom_utils = __w_pdfjs_require__(7);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('div');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n var left;\n var top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n if ((0, _dom_utils.getDefaultSetting)('pdfBug')) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\n }\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n };\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref) {\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n this._reader = null;\n }\n this._canceled = true;\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n var textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._lastFontSize = fontSize;\n this._lastFontFamily = fontFamily;\n }\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n var transform = '';\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = 'scaleX(' + textDivProperties.scale + ')';\n }\n if (textDivProperties.angle !== 0) {\n transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform;\n }\n if (transform !== '') {\n textDivProperties.originalTransform = transform;\n _dom_utils.CustomStyle.setProp('transform', textDiv, transform);\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n textLayerFrag.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', { alpha: false });\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n _util.Util.extendObj(styleCache, value.styles);\n _this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n capability.promise.then(function () {\n styleCache = null;\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n var divProperties = this._textDivProperties.get(div);\n if (divProperties.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n var transform = '',\n padding = '';\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n if (transform !== '') {\n _dom_utils.CustomStyle.setProp('transform', div, transform);\n }\n } else {\n div.style.padding = 0;\n _dom_utils.CustomStyle.setProp('transform', div, divProperties.originalTransform || '');\n }\n }\n }\n };\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n}();\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n return it;\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toObject = __w_pdfjs_require__(12);\nvar toAbsoluteIndex = __w_pdfjs_require__(19);\nvar toLength = __w_pdfjs_require__(6);\nmodule.exports = function fill(value) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) {\n O[index++] = value;\n }return O;\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(20);\nvar toLength = __w_pdfjs_require__(6);\nvar toAbsoluteIndex = __w_pdfjs_require__(19);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(21);\nvar TAG = __w_pdfjs_require__(1)('toStringTag');\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(9);\nvar document = __w_pdfjs_require__(2).document;\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar core = __w_pdfjs_require__(16);\nvar hide = __w_pdfjs_require__(4);\nvar redefine = __w_pdfjs_require__(25);\nvar ctx = __w_pdfjs_require__(22);\nvar PROTOTYPE = 'prototype';\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(3) && !__w_pdfjs_require__(17)(function () {\n return Object.defineProperty(__w_pdfjs_require__(39)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(21);\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(15);\nvar dPs = __w_pdfjs_require__(71);\nvar enumBugKeys = __w_pdfjs_require__(23);\nvar IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\nvar Empty = function Empty() {};\nvar PROTOTYPE = 'prototype';\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(39)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __w_pdfjs_require__(64).appendChild(iframe);\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }return _createDict();\n};\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar hiddenKeys = __w_pdfjs_require__(23).concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(5);\nvar toObject = __w_pdfjs_require__(12);\nvar IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\nvar ObjectProto = Object.prototype;\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(5);\nvar toIObject = __w_pdfjs_require__(20);\nvar arrayIndexOf = __w_pdfjs_require__(36)(false);\nvar IE_PROTO = __w_pdfjs_require__(27)('IE_PROTO');\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }return result;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(25);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }return target;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(11);\nvar toLength = __w_pdfjs_require__(6);\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar hide = __w_pdfjs_require__(4);\nvar uid = __w_pdfjs_require__(13);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\nvar TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(',');\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction fixMetadata(meta) {\n return meta.replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n });\n var chars = '';\n for (var i = 0; i < bytes.length; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n chars += code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38 ? String.fromCharCode(code) : '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n return '>' + chars;\n });\n}\nfunction Metadata(meta) {\n if (typeof meta === 'string') {\n meta = fixMetadata(meta);\n var parser = new DOMParser();\n meta = parser.parseFromString(meta, 'application/xml');\n } else if (!(meta instanceof Document)) {\n throw new Error('Metadata: Invalid metadata object');\n }\n this.metaDocument = meta;\n this.metadata = Object.create(null);\n this.parse();\n}\nMetadata.prototype = {\n parse: function Metadata_parse() {\n var doc = this.metaDocument;\n var rdf = doc.documentElement;\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n var children = rdf.childNodes,\n desc,\n entry,\n name,\n i,\n ii,\n length,\n iLength;\n for (i = 0, length = children.length; i < length; i++) {\n desc = children[i];\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n for (ii = 0, iLength = desc.childNodes.length; ii < iLength; ii++) {\n if (desc.childNodes[ii].nodeName.toLowerCase() !== '#text') {\n entry = desc.childNodes[ii];\n name = entry.nodeName.toLowerCase();\n this.metadata[name] = entry.textContent.trim();\n }\n }\n }\n },\n get: function Metadata_get(name) {\n return this.metadata[name] || null;\n },\n has: function Metadata_has(name) {\n return typeof this.metadata[name] !== 'undefined';\n }\n};\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validateRangeRequestCapabilities = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n\n (0, _util.assert)(rangeChunkSize > 0);\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n var length = getResponseHeader('Content-Length');\n length = parseInt(length, 10);\n if (!(0, _util.isInt)(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLUtils = undefined;\n\nvar _dom_utils = __w_pdfjs_require__(7);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false });\n }\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n 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);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n return {\n get isEnabled() {\n if ((0, _dom_utils.getDefaultSetting)('disableWebGL')) {\n return false;\n }\n var enabled = false;\n try {\n generateGL();\n enabled = !!currentGL;\n } catch (e) {}\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n clear: cleanup\n };\n}();\nexports.WebGLUtils = WebGLUtils;\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFJS = exports.isWorker = exports.globalScope = undefined;\n\nvar _api = __w_pdfjs_require__(30);\n\nvar _dom_utils = __w_pdfjs_require__(7);\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _annotation_layer = __w_pdfjs_require__(29);\n\nvar _global_scope = __w_pdfjs_require__(14);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _metadata = __w_pdfjs_require__(51);\n\nvar _text_layer = __w_pdfjs_require__(32);\n\nvar _svg = __w_pdfjs_require__(31);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isWorker = typeof window === 'undefined';\nif (!_global_scope2.default.PDFJS) {\n _global_scope2.default.PDFJS = {};\n}\nvar PDFJS = _global_scope2.default.PDFJS;\n{\n PDFJS.version = '1.9.489';\n PDFJS.build = 'b7fcaff0';\n}\nPDFJS.pdfBug = false;\nif (PDFJS.verbosity !== undefined) {\n (0, _util.setVerbosityLevel)(PDFJS.verbosity);\n}\ndelete PDFJS.verbosity;\nObject.defineProperty(PDFJS, 'verbosity', {\n get: function get() {\n return (0, _util.getVerbosityLevel)();\n },\n set: function set(level) {\n (0, _util.setVerbosityLevel)(level);\n },\n\n enumerable: true,\n configurable: true\n});\nPDFJS.VERBOSITY_LEVELS = _util.VERBOSITY_LEVELS;\nPDFJS.OPS = _util.OPS;\nPDFJS.UNSUPPORTED_FEATURES = _util.UNSUPPORTED_FEATURES;\nPDFJS.isValidUrl = _dom_utils.isValidUrl;\nPDFJS.shadow = _util.shadow;\nPDFJS.createBlob = _util.createBlob;\nPDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {\n return (0, _util.createObjectURL)(data, contentType, PDFJS.disableCreateObjectURL);\n};\nObject.defineProperty(PDFJS, 'isLittleEndian', {\n configurable: true,\n get: function PDFJS_isLittleEndian() {\n return (0, _util.shadow)(PDFJS, 'isLittleEndian', (0, _util.isLittleEndian)());\n }\n});\nPDFJS.removeNullCharacters = _util.removeNullCharacters;\nPDFJS.PasswordResponses = _util.PasswordResponses;\nPDFJS.PasswordException = _util.PasswordException;\nPDFJS.UnknownErrorException = _util.UnknownErrorException;\nPDFJS.InvalidPDFException = _util.InvalidPDFException;\nPDFJS.MissingPDFException = _util.MissingPDFException;\nPDFJS.UnexpectedResponseException = _util.UnexpectedResponseException;\nPDFJS.Util = _util.Util;\nPDFJS.PageViewport = _util.PageViewport;\nPDFJS.createPromiseCapability = _util.createPromiseCapability;\nPDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize;\nPDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;\nPDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;\nPDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;\nPDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;\nPDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;\nPDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;\nPDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;\nPDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;\nPDFJS.disableStream = PDFJS.disableStream === undefined ? false : PDFJS.disableStream;\nPDFJS.disableAutoFetch = PDFJS.disableAutoFetch === undefined ? false : PDFJS.disableAutoFetch;\nPDFJS.pdfBug = PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug;\nPDFJS.postMessageTransfers = PDFJS.postMessageTransfers === undefined ? true : PDFJS.postMessageTransfers;\nPDFJS.disableCreateObjectURL = PDFJS.disableCreateObjectURL === undefined ? false : PDFJS.disableCreateObjectURL;\nPDFJS.disableWebGL = PDFJS.disableWebGL === undefined ? true : PDFJS.disableWebGL;\nPDFJS.externalLinkTarget = PDFJS.externalLinkTarget === undefined ? _dom_utils.LinkTarget.NONE : PDFJS.externalLinkTarget;\nPDFJS.externalLinkRel = PDFJS.externalLinkRel === undefined ? _dom_utils.DEFAULT_LINK_REL : PDFJS.externalLinkRel;\nPDFJS.isEvalSupported = PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported;\nPDFJS.pdfjsNext = PDFJS.pdfjsNext === undefined ? false : PDFJS.pdfjsNext;\n{\n var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;\n delete PDFJS.openExternalLinksInNewWindow;\n Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {\n get: function get() {\n return PDFJS.externalLinkTarget === _dom_utils.LinkTarget.BLANK;\n },\n set: function set(value) {\n if (value) {\n (0, _util.deprecated)('PDFJS.openExternalLinksInNewWindow, please use ' + '\"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK\" instead.');\n }\n if (PDFJS.externalLinkTarget !== _dom_utils.LinkTarget.NONE) {\n (0, _util.warn)('PDFJS.externalLinkTarget is already initialized');\n return;\n }\n PDFJS.externalLinkTarget = value ? _dom_utils.LinkTarget.BLANK : _dom_utils.LinkTarget.NONE;\n },\n\n enumerable: true,\n configurable: true\n });\n if (savedOpenExternalLinksInNewWindow) {\n PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;\n }\n}\nPDFJS.getDocument = _api.getDocument;\nPDFJS.LoopbackPort = _api.LoopbackPort;\nPDFJS.PDFDataRangeTransport = _api.PDFDataRangeTransport;\nPDFJS.PDFWorker = _api.PDFWorker;\nPDFJS.hasCanvasTypedArrays = true;\nPDFJS.CustomStyle = _dom_utils.CustomStyle;\nPDFJS.LinkTarget = _dom_utils.LinkTarget;\nPDFJS.addLinkAttributes = _dom_utils.addLinkAttributes;\nPDFJS.getFilenameFromUrl = _dom_utils.getFilenameFromUrl;\nPDFJS.isExternalLinkTargetSet = _dom_utils.isExternalLinkTargetSet;\nPDFJS.AnnotationLayer = _annotation_layer.AnnotationLayer;\nPDFJS.renderTextLayer = _text_layer.renderTextLayer;\nPDFJS.Metadata = _metadata.Metadata;\nPDFJS.SVGGraphics = _svg.SVGGraphics;\nPDFJS.UnsupportedManager = _api._UnsupportedManager;\nexports.globalScope = _global_scope2.default;\nexports.isWorker = isWorker;\nexports.PDFJS = PDFJS;\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkManager = exports.PDFNetworkStream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _global_scope = __w_pdfjs_require__(14);\n\nvar _global_scope2 = _interopRequireDefault(_global_scope);\n\nvar _network_utils = __w_pdfjs_require__(52);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\nfunction NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n}\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n if (typeof data !== 'string') {\n return data;\n }\n var length = data.length;\n var array = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n array[i] = data.charCodeAt(i) & 0xFF;\n }\n return array.buffer;\n}\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope2.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\nNetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n },\n onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n var onProgress = pendingRequest.onProgress;\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n var xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\nfunction PDFNetworkStream(options) {\n this._options = options;\n var source = options.source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n}\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._options);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n};\nfunction PDFNetworkStreamFullRequestReader(manager, options) {\n this._manager = manager;\n var source = options.source;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = options.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n}\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n },\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n this._contentLength = suggestedLength || this._contentLength;\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n var networkManager = this._manager;\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception;\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n exception = new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n } else {\n exception = new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n get contentLength() {\n return this._contentLength;\n },\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n read: function PDFNetworkStreamFullRequestReader_read() {\n if (this._storedError) {\n return Promise.reject(this._storedError);\n }\n if (this._cachedChunks.length > 0) {\n var chunk = this._cachedChunks.shift();\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n};\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n}\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({ loaded: evt.loaded });\n }\n },\n get isStreamingSupported() {\n return false;\n },\n read: function PDFNetworkStreamRangeRequestReader_read() {\n if (this._queuedChunk !== null) {\n var chunk = this._queuedChunk;\n this._queuedChunk = null;\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n};\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = undefined;\n\nvar _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _network_utils = __w_pdfjs_require__(52);\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar fs = require('fs');\nvar http = require('http');\nvar https = require('https');\nvar url = require('url');\n\nvar PDFNodeStream = function () {\n function PDFNodeStream(options) {\n _classCallCheck(this, PDFNodeStream);\n\n this.options = options;\n this.source = options.source;\n this.url = url.parse(this.source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:' || !this.url.host;\n this.httpHeaders = this.isHttp && this.source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: 'getFullReader',\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: 'getRangeReader',\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n }, {\n key: 'cancelAllRequests',\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n var readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nvar BaseFullReader = function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._errored = false;\n this._reason = null;\n this.onProgress = null;\n this._contentLength = stream.source.length;\n this._loaded = 0;\n this._disableRange = stream.options.disableRange || false;\n this._rangeChunkSize = stream.source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !stream.source.disableStream;\n this._isRangeSupported = !stream.options.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: 'read',\n value: function read() {\n var _this = this;\n\n return this._readCapability.promise.then(function () {\n if (_this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n if (_this._errored) {\n return Promise.reject(_this._reason);\n }\n var chunk = _this._readableStream.read();\n if (chunk === null) {\n _this._readCapability = (0, _util.createPromiseCapability)();\n return _this.read();\n }\n _this._loaded += chunk.length;\n if (_this.onProgress) {\n _this.onProgress({\n loaded: _this._loaded,\n total: _this._contentLength\n });\n }\n var buffer = new Uint8Array(chunk).buffer;\n return Promise.resolve({\n value: buffer,\n done: false\n });\n });\n }\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._errored = true;\n this._reason = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n if (this._errored) {\n this._readableStream.destroy(this._reason);\n }\n }\n }, {\n key: 'headersReady',\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: 'contentLength',\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: 'isRangeSupported',\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader = function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._errored = false;\n this._reason = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !stream.source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: 'read',\n value: function read() {\n var _this3 = this;\n\n return this._readCapability.promise.then(function () {\n if (_this3._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n if (_this3._errored) {\n return Promise.reject(_this3._reason);\n }\n var chunk = _this3._readableStream.read();\n if (chunk === null) {\n _this3._readCapability = (0, _util.createPromiseCapability)();\n return _this3.read();\n }\n _this3._loaded += chunk.length;\n if (_this3.onProgress) {\n _this3.onProgress({ loaded: _this3._loaded });\n }\n var buffer = new Uint8Array(chunk).buffer;\n return Promise.resolve({\n value: buffer,\n done: false\n });\n });\n }\n }, {\n key: 'cancel',\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n }, {\n key: '_error',\n value: function _error(reason) {\n this._errored = true;\n this._reason = reason;\n this._readCapability.resolve();\n }\n }, {\n key: '_setReadableStream',\n value: function _setReadableStream(readableStream) {\n var _this4 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this4._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this4._done = true;\n _this4._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this4._error(reason);\n });\n if (this._errored) {\n this._readableStream.destroy(this._reason);\n }\n }\n }, {\n key: 'isStreamingSupported',\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader = function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n var _this5 = _possibleConstructorReturn(this, (PDFNodeStreamFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFullReader)).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n _this5._headersCapability.resolve();\n _this5._setReadableStream(response);\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: function getResponseHeader(name) {\n return _this5._readableStream.headers[name.toLowerCase()];\n },\n isHttp: stream.isHttp,\n rangeChunkSize: _this5._rangeChunkSize,\n disableRange: _this5._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n _this5._isRangeSupported = true;\n }\n _this5._contentLength = suggestedLength;\n };\n _this5._request = null;\n if (_this5._url.protocol === 'http:') {\n _this5._request = http.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n } else {\n _this5._request = https.request(createRequestOptions(_this5._url, stream.httpHeaders), handleResponse);\n }\n _this5._request.on('error', function (reason) {\n _this5._errored = true;\n _this5._reason = reason;\n _this5._headersCapability.reject(reason);\n });\n _this5._request.end();\n return _this5;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader = function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n var _this6 = _possibleConstructorReturn(this, (PDFNodeStreamRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamRangeReader)).call(this, stream));\n\n _this6._httpHeaders = {};\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n if (typeof value === 'undefined') {\n continue;\n }\n _this6._httpHeaders[property] = value;\n }\n _this6._httpHeaders['Range'] = 'bytes=' + start + '-' + (end - 1);\n _this6._request = null;\n if (_this6._url.protocol === 'http:') {\n _this6._request = http.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n _this6._setReadableStream(response);\n });\n } else {\n _this6._request = https.request(createRequestOptions(_this6._url, _this6._httpHeaders), function (response) {\n _this6._setReadableStream(response);\n });\n }\n _this6._request.on('error', function (reason) {\n _this6._errored = true;\n _this6._reason = reason;\n });\n _this6._request.end();\n return _this6;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader = function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n var _this7 = _possibleConstructorReturn(this, (PDFNodeStreamFsFullReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsFullReader)).call(this, stream));\n\n _this7._setReadableStream(fs.createReadStream(_this7._url.path));\n fs.lstat(_this7._url.path, function (error, stat) {\n if (error) {\n _this7._errored = true;\n _this7._reason = error;\n _this7._headersCapability.reject(error);\n return;\n }\n _this7._contentLength = stat.size;\n _this7._headersCapability.resolve();\n });\n return _this7;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader = function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n var _this8 = _possibleConstructorReturn(this, (PDFNodeStreamFsRangeReader.__proto__ || Object.getPrototypeOf(PDFNodeStreamFsRangeReader)).call(this, stream));\n\n _this8._setReadableStream(fs.createReadStream(_this8._url.path, {\n start: start,\n end: end - 1\n }));\n return _this8;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\nexports.PDFNodeStream = PDFNodeStream;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n __w_pdfjs_require__.d(getter, 'a', getter);\n return getter;\n };\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);\n };\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n };\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\n };\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n return highWaterMark;\n };\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n _classCallCheck(this, WritableStream);\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n this._writableStreamController.__startSteps();\n }\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n }\n }]);\n return WritableStream;\n }();\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n var error = new TypeError('Requested to abort');\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n stream._writableStreamController.__errorSteps();\n var storedError = stream._storedError;\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n writeRequest._reject(storedError);\n }\n stream._writeRequests = [];\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n promise.then(function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n writer._closedPromise.catch(function () {});\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n this._readyPromise.catch(function () {});\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n this._closedPromise.catch(function () {});\n }\n }\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n }\n }]);\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n writer._closedPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n writer._readyPromise.catch(function () {});\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n return WritableStreamDefaultController;\n }();\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n if (strategySize === undefined) {\n return 1;\n }\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return;\n }\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n };\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n };\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n _classCallCheck(this, ReadableStream);\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n if (done === true) {\n return;\n }\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsReadableStreamLocked(this);\n }\n }]);\n return ReadableStream;\n }();\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n return [branch1Stream, branch2Stream];\n }\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n teeState.closedOrErrored = true;\n }\n if (teeState.closedOrErrored === true) {\n return;\n }\n var value1 = value;\n var value2 = value;\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n return f;\n }\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n teeState._resolve(cancelResult);\n }\n return teeState.promise;\n }\n return f;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n _resolve(CreateIterResultObject(undefined, true));\n }\n reader._readRequests = [];\n }\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return undefined;\n }\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n readRequest._reject(e);\n }\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n readIntoRequest._reject(e);\n }\n reader._readIntoRequests = [];\n }\n defaultReaderClosedPromiseReject(reader, e);\n reader._closedPromise.catch(function () {});\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n return true;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n return true;\n }\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamDefaultReader;\n }();\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n }\n }]);\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n reader._closedPromise.catch(function () {});\n }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n reader._closedPromise.catch(function () {});\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableStream._state;\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n var stream = this._controlledReadableStream;\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return undefined;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\n }\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n var readableStream = __w_pdfjs_require__(4);\n var writableStream = __w_pdfjs_require__(2);\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n TransformStreamCloseReadableInternal(transformStream);\n }\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n var controller = transformStream._readableController;\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n TransformStreamErrorInternal(transformStream, e);\n }\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n transformStream._readableClosed = true;\n }\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n transformStream._backpressure = backpressure;\n }\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n return TransformStreamSink;\n }();\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n return TransformStreamSource;\n }();\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n this._controlledTransformStream = transformStream;\n }\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n return TransformStreamDefaultController;\n }();\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, TransformStream);\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n }\n }]);\n return TransformStream;\n }();\n module.exports = { TransformStream: TransformStream };\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(81);\nmodule.exports = __w_pdfjs_require__(16).Uint8ClampedArray;\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(1)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(4)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toObject = __w_pdfjs_require__(12);\nvar toAbsoluteIndex = __w_pdfjs_require__(19);\nvar toLength = __w_pdfjs_require__(6);\nmodule.exports = [].copyWithin || function copyWithin(target, start) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];else delete O[to];\n to += inc;\n from += inc;\n }\n return O;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(22);\nvar IObject = __w_pdfjs_require__(42);\nvar toObject = __w_pdfjs_require__(12);\nvar toLength = __w_pdfjs_require__(6);\nvar asc = __w_pdfjs_require__(63);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n case 5:\n return val;\n case 6:\n return index;\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(9);\nvar isArray = __w_pdfjs_require__(66);\nvar SPECIES = __w_pdfjs_require__(1)('species');\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(62);\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(2).document;\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(10);\nvar ITERATOR = __w_pdfjs_require__(1)('iterator');\nvar ArrayProto = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(21);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(43);\nvar descriptor = __w_pdfjs_require__(18);\nvar setToStringTag = __w_pdfjs_require__(26);\nvar IteratorPrototype = {};\n__w_pdfjs_require__(4)(IteratorPrototype, __w_pdfjs_require__(1)('iterator'), function () {\n return this;\n});\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(24);\nvar $export = __w_pdfjs_require__(40);\nvar redefine = __w_pdfjs_require__(25);\nvar hide = __w_pdfjs_require__(4);\nvar has = __w_pdfjs_require__(5);\nvar Iterators = __w_pdfjs_require__(10);\nvar $iterCreate = __w_pdfjs_require__(67);\nvar setToStringTag = __w_pdfjs_require__(26);\nvar getPrototypeOf = __w_pdfjs_require__(45);\nvar ITERATOR = __w_pdfjs_require__(1)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar returnThis = function returnThis() {\n return this;\n};\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() {\n return $native.call(this);\n };\n }\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(1)('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () {\n return { done: safe = true };\n };\n arr[ITERATOR] = function () {\n return iter;\n };\n exec(arr);\n } catch (e) {}\n return safe;\n};\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(8);\nvar anObject = __w_pdfjs_require__(15);\nvar getKeys = __w_pdfjs_require__(73);\nmodule.exports = __w_pdfjs_require__(3) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }return O;\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(74);\nvar createDesc = __w_pdfjs_require__(18);\nvar toIObject = __w_pdfjs_require__(20);\nvar toPrimitive = __w_pdfjs_require__(28);\nvar has = __w_pdfjs_require__(5);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(41);\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(3) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(46);\nvar enumBugKeys = __w_pdfjs_require__(23);\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar dP = __w_pdfjs_require__(8);\nvar DESCRIPTORS = __w_pdfjs_require__(3);\nvar SPECIES = __w_pdfjs_require__(1)('species');\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(15);\nvar aFunction = __w_pdfjs_require__(33);\nvar SPECIES = __w_pdfjs_require__(1)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nif (__w_pdfjs_require__(3)) {\n var LIBRARY = __w_pdfjs_require__(24);\n var global = __w_pdfjs_require__(2);\n var fails = __w_pdfjs_require__(17);\n var $export = __w_pdfjs_require__(40);\n var $typed = __w_pdfjs_require__(50);\n var $buffer = __w_pdfjs_require__(78);\n var ctx = __w_pdfjs_require__(22);\n var anInstance = __w_pdfjs_require__(34);\n var propertyDesc = __w_pdfjs_require__(18);\n var hide = __w_pdfjs_require__(4);\n var redefineAll = __w_pdfjs_require__(47);\n var toInteger = __w_pdfjs_require__(11);\n var toLength = __w_pdfjs_require__(6);\n var toIndex = __w_pdfjs_require__(49);\n var toAbsoluteIndex = __w_pdfjs_require__(19);\n var toPrimitive = __w_pdfjs_require__(28);\n var has = __w_pdfjs_require__(5);\n var classof = __w_pdfjs_require__(37);\n var isObject = __w_pdfjs_require__(9);\n var toObject = __w_pdfjs_require__(12);\n var isArrayIter = __w_pdfjs_require__(65);\n var create = __w_pdfjs_require__(43);\n var getPrototypeOf = __w_pdfjs_require__(45);\n var gOPN = __w_pdfjs_require__(44).f;\n var getIterFn = __w_pdfjs_require__(79);\n var uid = __w_pdfjs_require__(13);\n var wks = __w_pdfjs_require__(1);\n var createArrayMethod = __w_pdfjs_require__(61);\n var createArrayIncludes = __w_pdfjs_require__(36);\n var speciesConstructor = __w_pdfjs_require__(76);\n var ArrayIterators = __w_pdfjs_require__(80);\n var Iterators = __w_pdfjs_require__(10);\n var $iterDetect = __w_pdfjs_require__(69);\n var setSpecies = __w_pdfjs_require__(75);\n var arrayFill = __w_pdfjs_require__(35);\n var arrayCopyWithin = __w_pdfjs_require__(60);\n var $DP = __w_pdfjs_require__(8);\n var $GOPD = __w_pdfjs_require__(72);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n var LITTLE_ENDIAN = fails(function () {\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n var toOffset = function toOffset(it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n var validate = function validate(it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n var allocate = function allocate(C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n }\n return new C(length);\n };\n var speciesFromList = function speciesFromList(O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n var fromList = function fromList(C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) {\n result[index] = list[index++];\n }return result;\n };\n var addGetter = function addGetter(it, key, internal) {\n dP(it, key, {\n get: function get() {\n return this._d[internal];\n }\n });\n };\n var $from = function from(source) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n }\n O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n var $of = function of() {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) {\n result[index] = arguments[index++];\n }return result;\n };\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () {\n arrayToLocaleString.call(new Uint8Array(1));\n });\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n var proto = {\n copyWithin: function copyWithin(target, start) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value) {\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) {\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement) {\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn) {\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn) {\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n }\n return that;\n },\n some: function some(callbackfn) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin));\n }\n };\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n var $set = function set(arrayLike) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) {\n this[offset + index] = src[index++];\n }\n };\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n var isTAIndex = function isTAIndex(target, key) {\n return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set') && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) {\n target[key] = desc.value;\n return target;\n }\n return dP(target, key, desc);\n };\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n if (fails(function () {\n arrayToString.call({});\n })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function constructor() {},\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function get() {\n return this[TYPED_ARRAY];\n }\n });\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function getter(that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function setter(that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function addElement(that, index) {\n dP(that, index, {\n get: function get() {\n return getter(this, index);\n },\n set: function set(value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) {\n addElement(that, index++);\n }\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1);\n }) || !$iterDetect(function (iter) {\n new TypedArray();\n new TypedArray(null);\n new TypedArray(1.5);\n new TypedArray(iter);\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function get() {\n return NAME;\n }\n });\n }\n O[NAME] = TypedArray;\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n $export($export.S, NAME, { BYTES_PER_ELEMENT: BYTES });\n $export($export.S + $export.F * fails(function () {\n Base.of.call(TypedArray, 1);\n }), NAME, {\n from: $from,\n of: $of\n });\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n $export($export.P, NAME, proto);\n setSpecies(NAME);\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () {};\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(2);\nvar DESCRIPTORS = __w_pdfjs_require__(3);\nvar LIBRARY = __w_pdfjs_require__(24);\nvar $typed = __w_pdfjs_require__(50);\nvar hide = __w_pdfjs_require__(4);\nvar redefineAll = __w_pdfjs_require__(47);\nvar fails = __w_pdfjs_require__(17);\nvar anInstance = __w_pdfjs_require__(34);\nvar toInteger = __w_pdfjs_require__(11);\nvar toLength = __w_pdfjs_require__(6);\nvar toIndex = __w_pdfjs_require__(49);\nvar gOPN = __w_pdfjs_require__(44).f;\nvar dP = __w_pdfjs_require__(8).f;\nvar arrayFill = __w_pdfjs_require__(35);\nvar setToStringTag = __w_pdfjs_require__(26);\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n if (value != value || value === Infinity) {\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {}\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {}\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {}\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {}\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, {\n get: function get() {\n return this[internal];\n }\n });\n}\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) {\n store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n }\n}\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1);\n }) || fails(function () {\n new $ArrayBuffer();\n new $ArrayBuffer(1.5);\n new $ArrayBuffer(NaN);\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(37);\nvar ITERATOR = __w_pdfjs_require__(1)('iterator');\nvar Iterators = __w_pdfjs_require__(10);\nmodule.exports = __w_pdfjs_require__(16).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(59);\nvar step = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(10);\nvar toIObject = __w_pdfjs_require__(20);\nmodule.exports = __w_pdfjs_require__(68)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(77)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _pattern_helper = __w_pdfjs_require__(84);\n\nvar _webgl = __w_pdfjs_require__(53);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n};\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n this._originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n this._originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n this._originalRotate(angle);\n };\n }\n}\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this.cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error('bad image kind: ' + imgData.kind);\n }\n }\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n function composeSMask(ctx, smask, layerCtx) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && _webgl.WebGLUtils.isEnabled) {\n var composed = _webgl.WebGLUtils.composeSMask(layerCtx.canvas, mask, {\n subtype: smask.subtype,\n backdrop: backdrop\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n transparency = _ref.transparency,\n _ref$background = _ref.background,\n background = _ref$background === undefined ? null : _ref$background;\n\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n if (!objsPool.isResolved(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n this.cachedCanvases.clear();\n _webgl.WebGLUtils.clear();\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n case 'LC':\n this.setLineCap(value);\n break;\n case 'LJ':\n this.setLineJoin(value);\n break;\n case 'ML':\n this.setMiterLimit(value);\n break;\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n case 'RI':\n this.setRenderingIntent(value);\n break;\n case 'FL':\n this.setFlatness(value);\n break;\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this.cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this.cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n if (!fontObj) {\n throw new Error('Can\\'t find font for ' + fontRefName);\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = '\"' + name + '\", ' + fontObj.fallbackName;\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;\n this.ctx.font = rule;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function CanvasGraphics_paintChar(character, x, y) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var addToPath;\n if (font.disableFontFace || isAddToPathSet) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n get isFontSubpixelAAEnabled() {\n var ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (current.patternFill) {\n ctx.fillStyle = current.fillColor.getPattern(ctx, this);\n }\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this.cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY);\n }\n }\n }\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this.cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)('Type3 character \"' + glyph.operatorListId + '\" is not available.');\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n throw new Error('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n throw new Error('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if ((0, _util.isArray)(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = 'groupAt' + this.groupLevel;\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n if ((0, _util.isArray)(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n if (imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) {\n if (this.cachedGetSinglePixelWidth === null) {\n this.ctx.save();\n var inverse = this.ctx.mozCurrentTransformInverse;\n this.ctx.restore();\n this.cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n return this.cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n}();\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nfunction FontLoader(docId) {\n this.docId = docId;\n this.styleElement = null;\n this.nativeFontFaces = [];\n this.loadTestFontId = 0;\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n}\nFontLoader.prototype = {\n insertRule: function fontLoaderInsertRule(rule) {\n var styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId;\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n },\n clear: function fontLoaderClear() {\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n }\n};\n{\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ' + 'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA' + 'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm' + 'FtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAA' + 'AADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6A' + 'ABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAA' + 'MQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAA' + 'AAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAA' + 'AAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQ' + 'AAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMA' + 'AQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAA' + 'EAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAA' + 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA' + 'AAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgc' + 'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF' + 'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA' + 'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg' + 'ABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n Object.defineProperty(FontLoader.prototype, 'loadTestFont', {\n get: function get() {\n return (0, _util.shadow)(this, 'loadTestFont', getLoadTestFont());\n },\n\n configurable: true\n });\n FontLoader.prototype.addNativeFontFace = function fontLoader_addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n };\n FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) {\n var rules = [];\n var fontsToLoad = [];\n var fontLoadPromises = [];\n var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) {\n return nativeFontFace.loaded.catch(function (e) {\n (0, _util.warn)('Failed to load font \"' + nativeFontFace.family + '\": ' + e);\n });\n };\n var isFontLoadingAPISupported = FontLoader.isFontLoadingAPISupported && !FontLoader.isSyncFontLoadingSupported;\n for (var i = 0, ii = fonts.length; i < ii; i++) {\n var font = fonts[i];\n if (font.attached || font.loading === false) {\n continue;\n }\n font.attached = true;\n if (isFontLoadingAPISupported) {\n var nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n fontLoadPromises.push(getNativeFontPromise(nativeFontFace));\n }\n } else {\n var rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n rules.push(rule);\n fontsToLoad.push(font);\n }\n }\n }\n var request = this.queueLoadingCallback(callback);\n if (isFontLoadingAPISupported) {\n Promise.all(fontLoadPromises).then(function () {\n request.complete();\n });\n } else if (rules.length > 0 && !FontLoader.isSyncFontLoadingSupported) {\n this.prepareFontLoadEvent(rules, fontsToLoad, request);\n } else {\n request.complete();\n }\n };\n FontLoader.prototype.queueLoadingCallback = function FontLoader_queueLoadingCallback(callback) {\n function LoadLoader_completeRequest() {\n (0, _util.assert)(!request.end, 'completeRequest() cannot be called twice');\n request.end = Date.now();\n while (context.requests.length > 0 && context.requests[0].end) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n var context = this.loadingContext;\n var requestId = 'pdfjs-font-loading-' + context.nextRequestId++;\n var request = {\n id: requestId,\n complete: LoadLoader_completeRequest,\n callback: callback,\n started: Date.now()\n };\n context.requests.push(request);\n return request;\n };\n FontLoader.prototype.prepareFontLoadEvent = function fontLoaderPrepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substr(0, offset);\n var chunk2 = s.substr(offset + remove);\n return chunk1 + insert + chunk2;\n }\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++;\n var data = this.loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = 'url(data:font/opentype;base64,' + btoa(data) + ');';\n var rule = '@font-face { font-family:\"' + loadTestFontId + '\";src:' + url + '}';\n this.insertRule(rule);\n var names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n };\n}\n{\n FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' && !!document.fonts;\n}\n{\n var isSyncFontLoadingSupported = function isSyncFontLoadingSupported() {\n if (typeof navigator === 'undefined') {\n return true;\n }\n var supported = false;\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\n }\n return supported;\n };\n Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {\n get: function get() {\n return (0, _util.shadow)(FontLoader, 'isSyncFontLoadingSupported', isSyncFontLoadingSupported());\n },\n\n enumerable: true,\n configurable: true\n });\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n};\nvar FontFaceObject = function FontFaceObjectClosure() {\n function FontFaceObject(translatedData, options) {\n this.compiledGlyphs = Object.create(null);\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n this.options = options;\n }\n FontFaceObject.prototype = {\n createNativeFontFace: function FontFaceObject_createNativeFontFace() {\n if (!this.data) {\n return null;\n }\n if (this.options.disableFontFace) {\n this.disableFontFace = true;\n return null;\n }\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.options.fontRegistry) {\n this.options.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n },\n createFontFaceRule: function FontFaceObject_createFontFaceRule() {\n if (!this.data) {\n return null;\n }\n if (this.options.disableFontFace) {\n this.disableFontFace = true;\n return null;\n }\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var fontName = this.loadedName;\n var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');';\n var rule = '@font-face { font-family:\"' + fontName + '\";src:' + url + '}';\n if (this.options.fontRegistry) {\n this.options.fontRegistry.registerFont(this, url);\n }\n return rule;\n },\n getPathGenerator: function FontFaceObject_getPathGenerator(objs, character) {\n if (!(character in this.compiledGlyphs)) {\n var cmds = objs.get(this.loadedName + '_path_' + character);\n var current, i, len;\n if (this.options.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n for (i = 0, len = cmds.length; i < len; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n this.compiledGlyphs[character] = new Function('c', 'size', js);\n } else {\n this.compiledGlyphs[character] = function (c, size) {\n for (i = 0, len = cmds.length; i < len; i++) {\n current = cmds[i];\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }\n return this.compiledGlyphs[character];\n }\n };\n return FontFaceObject;\n}();\nexports.FontFaceObject = FontFaceObject;\nexports.FontLoader = FontLoader;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TilingPattern = exports.getShadingPatternFromIR = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar _webgl = __w_pdfjs_require__(53);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n }\n };\n }\n};\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error('illegal figure');\n }\n }\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n if (_webgl.WebGLUtils.isEnabled) {\n canvas = _webgl.WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n return createMeshCanvas;\n}();\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error('Unknown IR type: ' + raw[0]);\n }\n return shadingIR.fromIR(raw);\n}\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(tmpCtx, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if ((0, _util.isArray)(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(context, paintType, color) {\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n break;\n default:\n throw new _util.FormatError('Unsupported paint type: ' + paintType);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = undefined;\n\nvar _util = __w_pdfjs_require__(0);\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isRangeSupported = !params.disableRange;\n this._isStreamingSupported = !params.disableStream;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({ loaded: loaded });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({ chunk: chunk });\n });\n this._pdfDataRangeTransport.transportReady();\n }\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n if (firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n var readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n };\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n this._queuedChunks.push(chunk);\n },\n get headersReady() {\n return this._headersReady;\n },\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n get contentLength() {\n return this._stream._contentLength;\n },\n read: function PDFDataTransportStreamReader_read() {\n if (this._queuedChunks.length > 0) {\n var chunk = this._queuedChunks.shift();\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n };\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n },\n get isStreamingSupported() {\n return false;\n },\n read: function PDFDataTransportStreamRangeReader_read() {\n if (this._queuedChunk) {\n var chunk = this._queuedChunk;\n this._queuedChunk = null;\n return Promise.resolve({\n value: chunk,\n done: false\n });\n }\n if (this._done) {\n return Promise.resolve({\n value: undefined,\n done: true\n });\n }\n var requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n },\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n}();\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '1.9.489';\nvar pdfjsBuild = 'b7fcaff0';\nvar pdfjsSharedUtil = __w_pdfjs_require__(0);\nvar pdfjsDisplayGlobal = __w_pdfjs_require__(54);\nvar pdfjsDisplayAPI = __w_pdfjs_require__(30);\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(32);\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(29);\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(7);\nvar pdfjsDisplaySVG = __w_pdfjs_require__(31);\n{\n if (pdfjsSharedUtil.isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(56).PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNodeStream);\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(55).PDFNetworkStream;\n pdfjsDisplayAPI.setPDFNetworkStreamClass(PDFNetworkStream);\n }\n}\nexports.PDFJS = pdfjsDisplayGlobal.PDFJS;\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.CustomStyle = pdfjsDisplayDOMUtils.CustomStyle;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.isValidUrl = pdfjsDisplayDOMUtils.isValidUrl;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.createBlob = pdfjsSharedUtil.createBlob;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.StatTimer = pdfjsSharedUtil.StatTimer;\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nif (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {\n var globalScope = __w_pdfjs_require__(14);\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isAndroid = /Android/.test(userAgent);\n var isAndroidPre3 = /Android\\s[0-2][^\\d]/.test(userAgent);\n var isAndroidPre5 = /Android\\s[0-4][^\\d]/.test(userAgent);\n var isChrome = userAgent.indexOf('Chrom') >= 0;\n var isChromeWithRangeBug = /Chrome\\/(39|40)\\./.test(userAgent);\n var isIOSChrome = userAgent.indexOf('CriOS') >= 0;\n var isIE = userAgent.indexOf('Trident') >= 0;\n var isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);\n var isOpera = userAgent.indexOf('Opera') >= 0;\n var isSafari = /Safari\\//.test(userAgent) && !/(Chrome\\/|Android\\s)/.test(userAgent);\n var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object';\n if (typeof PDFJS === 'undefined') {\n globalScope.PDFJS = {};\n }\n PDFJS.compatibilityChecked = true;\n (function checkTypedArrayCompatibility() {\n if (typeof Uint8ClampedArray === 'undefined') {\n globalScope.Uint8ClampedArray = __w_pdfjs_require__(58);\n }\n if (typeof Uint8Array !== 'undefined') {\n if (typeof Uint8Array.prototype.subarray === 'undefined') {\n Uint8Array.prototype.subarray = function subarray(start, end) {\n return new Uint8Array(this.slice(start, end));\n };\n Float32Array.prototype.subarray = function subarray(start, end) {\n return new Float32Array(this.slice(start, end));\n };\n }\n if (typeof Float64Array === 'undefined') {\n globalScope.Float64Array = Float32Array;\n }\n return;\n }\n function subarray(start, end) {\n return new TypedArray(this.slice(start, end));\n }\n function setArrayOffset(array, offset) {\n if (arguments.length < 2) {\n offset = 0;\n }\n for (var i = 0, n = array.length; i < n; ++i, ++offset) {\n this[offset] = array[i] & 0xFF;\n }\n }\n function Uint32ArrayView(buffer, length) {\n this.buffer = buffer;\n this.byteLength = buffer.length;\n this.length = length;\n ensureUint32ArrayViewProps(this.length);\n }\n Uint32ArrayView.prototype = Object.create(null);\n var uint32ArrayViewSetters = 0;\n function createUint32ArrayProp(index) {\n return {\n get: function get() {\n var buffer = this.buffer,\n offset = index << 2;\n return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0;\n },\n set: function set(value) {\n var buffer = this.buffer,\n offset = index << 2;\n buffer[offset] = value & 255;\n buffer[offset + 1] = value >> 8 & 255;\n buffer[offset + 2] = value >> 16 & 255;\n buffer[offset + 3] = value >>> 24 & 255;\n }\n };\n }\n function ensureUint32ArrayViewProps(length) {\n while (uint32ArrayViewSetters < length) {\n Object.defineProperty(Uint32ArrayView.prototype, uint32ArrayViewSetters, createUint32ArrayProp(uint32ArrayViewSetters));\n uint32ArrayViewSetters++;\n }\n }\n function TypedArray(arg1) {\n var result, i, n;\n if (typeof arg1 === 'number') {\n result = [];\n for (i = 0; i < arg1; ++i) {\n result[i] = 0;\n }\n } else if ('slice' in arg1) {\n result = arg1.slice(0);\n } else {\n result = [];\n for (i = 0, n = arg1.length; i < n; ++i) {\n result[i] = arg1[i];\n }\n }\n result.subarray = subarray;\n result.buffer = result;\n result.byteLength = result.length;\n result.set = setArrayOffset;\n if ((typeof arg1 === 'undefined' ? 'undefined' : _typeof(arg1)) === 'object' && arg1.buffer) {\n result.buffer = arg1.buffer;\n }\n return result;\n }\n globalScope.Uint8Array = TypedArray;\n globalScope.Int8Array = TypedArray;\n globalScope.Int32Array = TypedArray;\n globalScope.Uint16Array = TypedArray;\n globalScope.Float32Array = TypedArray;\n globalScope.Float64Array = TypedArray;\n globalScope.Uint32Array = function () {\n if (arguments.length === 3) {\n if (arguments[1] !== 0) {\n throw new Error('offset !== 0 is not supported');\n }\n return new Uint32ArrayView(arguments[0], arguments[2]);\n }\n return TypedArray.apply(this, arguments);\n };\n })();\n (function canvasPixelArrayBuffer() {\n if (!hasDOM || !window.CanvasPixelArray) {\n return;\n }\n var cpaProto = window.CanvasPixelArray.prototype;\n if ('buffer' in cpaProto) {\n return;\n }\n Object.defineProperty(cpaProto, 'buffer', {\n get: function get() {\n return this;\n },\n\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(cpaProto, 'byteLength', {\n get: function get() {\n return this.length;\n },\n\n enumerable: false,\n configurable: true\n });\n })();\n (function normalizeURLObject() {\n if (!globalScope.URL) {\n globalScope.URL = globalScope.webkitURL;\n }\n })();\n (function checkObjectDefinePropertyCompatibility() {\n if (typeof Object.defineProperty !== 'undefined') {\n var definePropertyPossible = true;\n try {\n if (hasDOM) {\n Object.defineProperty(new Image(), 'id', { value: 'test' });\n }\n var Test = function Test() {};\n Test.prototype = {\n get id() {}\n };\n Object.defineProperty(new Test(), 'id', {\n value: '',\n configurable: true,\n enumerable: true,\n writable: false\n });\n } catch (e) {\n definePropertyPossible = false;\n }\n if (definePropertyPossible) {\n return;\n }\n }\n Object.defineProperty = function objectDefineProperty(obj, name, def) {\n delete obj[name];\n if ('get' in def) {\n obj.__defineGetter__(name, def['get']);\n }\n if ('set' in def) {\n obj.__defineSetter__(name, def['set']);\n }\n if ('value' in def) {\n obj.__defineSetter__(name, function objectDefinePropertySetter(value) {\n this.__defineGetter__(name, function objectDefinePropertyGetter() {\n return value;\n });\n return value;\n });\n obj[name] = def.value;\n }\n };\n })();\n (function checkXMLHttpRequestResponseCompatibility() {\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n var xhrPrototype = XMLHttpRequest.prototype;\n var xhr = new XMLHttpRequest();\n if (!('overrideMimeType' in xhr)) {\n Object.defineProperty(xhrPrototype, 'overrideMimeType', {\n value: function xmlHttpRequestOverrideMimeType(mimeType) {}\n });\n }\n if ('responseType' in xhr) {\n return;\n }\n Object.defineProperty(xhrPrototype, 'responseType', {\n get: function xmlHttpRequestGetResponseType() {\n return this._responseType || 'text';\n },\n set: function xmlHttpRequestSetResponseType(value) {\n if (value === 'text' || value === 'arraybuffer') {\n this._responseType = value;\n if (value === 'arraybuffer' && typeof this.overrideMimeType === 'function') {\n this.overrideMimeType('text/plain; charset=x-user-defined');\n }\n }\n }\n });\n if (typeof VBArray !== 'undefined') {\n Object.defineProperty(xhrPrototype, 'response', {\n get: function xmlHttpRequestResponseGet() {\n if (this.responseType === 'arraybuffer') {\n return new Uint8Array(new VBArray(this.responseBody).toArray());\n }\n return this.responseText;\n }\n });\n return;\n }\n Object.defineProperty(xhrPrototype, 'response', {\n get: function xmlHttpRequestResponseGet() {\n if (this.responseType !== 'arraybuffer') {\n return this.responseText;\n }\n var text = this.responseText;\n var i,\n n = text.length;\n var result = new Uint8Array(n);\n for (i = 0; i < n; ++i) {\n result[i] = text.charCodeAt(i) & 0xFF;\n }\n return result.buffer;\n }\n });\n })();\n (function checkWindowBtoaCompatibility() {\n if ('btoa' in globalScope) {\n return;\n }\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n globalScope.btoa = function (chars) {\n var buffer = '';\n var i, n;\n for (i = 0, n = chars.length; i < n; i += 3) {\n var b1 = chars.charCodeAt(i) & 0xFF;\n var b2 = chars.charCodeAt(i + 1) & 0xFF;\n var b3 = chars.charCodeAt(i + 2) & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < n ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < n ? b3 & 0x3F : 64;\n buffer += digits.charAt(d1) + digits.charAt(d2) + digits.charAt(d3) + digits.charAt(d4);\n }\n return buffer;\n };\n })();\n (function checkWindowAtobCompatibility() {\n if ('atob' in globalScope) {\n return;\n }\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n globalScope.atob = function (input) {\n input = input.replace(/=+$/, '');\n if (input.length % 4 === 1) {\n throw new Error('bad atob input');\n }\n for (var bc = 0, bs, buffer, idx = 0, output = ''; buffer = input.charAt(idx++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) {\n buffer = digits.indexOf(buffer);\n }\n return output;\n };\n })();\n (function checkFunctionPrototypeBindCompatibility() {\n if (typeof Function.prototype.bind !== 'undefined') {\n return;\n }\n Function.prototype.bind = function functionPrototypeBind(obj) {\n var fn = this,\n headArgs = Array.prototype.slice.call(arguments, 1);\n var bound = function functionPrototypeBindBound() {\n var args = headArgs.concat(Array.prototype.slice.call(arguments));\n return fn.apply(obj, args);\n };\n return bound;\n };\n })();\n (function checkDatasetProperty() {\n if (!hasDOM) {\n return;\n }\n var div = document.createElement('div');\n if ('dataset' in div) {\n return;\n }\n Object.defineProperty(HTMLElement.prototype, 'dataset', {\n get: function get() {\n if (this._dataset) {\n return this._dataset;\n }\n var dataset = {};\n for (var j = 0, jj = this.attributes.length; j < jj; j++) {\n var attribute = this.attributes[j];\n if (attribute.name.substring(0, 5) !== 'data-') {\n continue;\n }\n var key = attribute.name.substring(5).replace(/\\-([a-z])/g, function (all, ch) {\n return ch.toUpperCase();\n });\n dataset[key] = attribute.value;\n }\n Object.defineProperty(this, '_dataset', {\n value: dataset,\n writable: false,\n enumerable: false\n });\n return dataset;\n },\n\n enumerable: true\n });\n })();\n (function checkClassListProperty() {\n function changeList(element, itemName, add, remove) {\n var s = element.className || '';\n var list = s.split(/\\s+/g);\n if (list[0] === '') {\n list.shift();\n }\n var index = list.indexOf(itemName);\n if (index < 0 && add) {\n list.push(itemName);\n }\n if (index >= 0 && remove) {\n list.splice(index, 1);\n }\n element.className = list.join(' ');\n return index >= 0;\n }\n if (!hasDOM) {\n return;\n }\n var div = document.createElement('div');\n if ('classList' in div) {\n return;\n }\n var classListPrototype = {\n add: function add(name) {\n changeList(this.element, name, true, false);\n },\n contains: function contains(name) {\n return changeList(this.element, name, false, false);\n },\n remove: function remove(name) {\n changeList(this.element, name, false, true);\n },\n toggle: function toggle(name) {\n changeList(this.element, name, true, true);\n }\n };\n Object.defineProperty(HTMLElement.prototype, 'classList', {\n get: function get() {\n if (this._classList) {\n return this._classList;\n }\n var classList = Object.create(classListPrototype, {\n element: {\n value: this,\n writable: false,\n enumerable: true\n }\n });\n Object.defineProperty(this, '_classList', {\n value: classList,\n writable: false,\n enumerable: false\n });\n return classList;\n },\n\n enumerable: true\n });\n })();\n (function checkWorkerConsoleCompatibility() {\n if (typeof importScripts === 'undefined' || 'console' in globalScope) {\n return;\n }\n var consoleTimer = {};\n var workerConsole = {\n log: function log() {\n var args = Array.prototype.slice.call(arguments);\n globalScope.postMessage({\n targetName: 'main',\n action: 'console_log',\n data: args\n });\n },\n error: function error() {\n var args = Array.prototype.slice.call(arguments);\n globalScope.postMessage({\n targetName: 'main',\n action: 'console_error',\n data: args\n });\n },\n time: function time(name) {\n consoleTimer[name] = Date.now();\n },\n timeEnd: function timeEnd(name) {\n var time = consoleTimer[name];\n if (!time) {\n throw new Error('Unknown timer name ' + name);\n }\n this.log('Timer:', name, Date.now() - time);\n }\n };\n globalScope.console = workerConsole;\n })();\n (function checkConsoleCompatibility() {\n if (!hasDOM) {\n return;\n }\n if (!('console' in window)) {\n window.console = {\n log: function log() {},\n error: function error() {},\n warn: function warn() {}\n };\n return;\n }\n if (!('bind' in console.log)) {\n console.log = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.log);\n console.error = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.error);\n console.warn = function (fn) {\n return function (msg) {\n return fn(msg);\n };\n }(console.warn);\n return;\n }\n })();\n (function checkOnClickCompatibility() {\n function ignoreIfTargetDisabled(event) {\n if (isDisabled(event.target)) {\n event.stopPropagation();\n }\n }\n function isDisabled(node) {\n return node.disabled || node.parentNode && isDisabled(node.parentNode);\n }\n if (isOpera) {\n document.addEventListener('click', ignoreIfTargetDisabled, true);\n }\n })();\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n PDFJS.disableCreateObjectURL = true;\n }\n })();\n (function checkNavigatorLanguage() {\n if (typeof navigator === 'undefined') {\n return;\n }\n if ('language' in navigator) {\n return;\n }\n PDFJS.locale = navigator.userLanguage || 'en-US';\n })();\n (function checkRangeRequests() {\n if (isSafari || isAndroidPre3 || isChromeWithRangeBug || isIOS) {\n PDFJS.disableRange = true;\n PDFJS.disableStream = true;\n }\n })();\n (function checkHistoryManipulation() {\n if (!hasDOM) {\n return;\n }\n if (!history.pushState || isAndroidPre3) {\n PDFJS.disableHistory = true;\n }\n })();\n (function checkSetPresenceInImageData() {\n if (!hasDOM) {\n return;\n }\n if (window.CanvasPixelArray) {\n if (typeof window.CanvasPixelArray.prototype.set !== 'function') {\n window.CanvasPixelArray.prototype.set = function (arr) {\n for (var i = 0, ii = this.length; i < ii; i++) {\n this[i] = arr[i];\n }\n };\n }\n } else {\n var polyfill = false,\n versionMatch;\n if (isChrome) {\n versionMatch = userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n polyfill = versionMatch && parseInt(versionMatch[2]) < 21;\n } else if (isAndroid) {\n polyfill = isAndroidPre5;\n } else if (isSafari) {\n versionMatch = userAgent.match(/Version\\/([0-9]+)\\.([0-9]+)\\.([0-9]+) Safari\\//);\n polyfill = versionMatch && parseInt(versionMatch[1]) < 6;\n }\n if (polyfill) {\n var contextPrototype = window.CanvasRenderingContext2D.prototype;\n var createImageData = contextPrototype.createImageData;\n contextPrototype.createImageData = function (w, h) {\n var imageData = createImageData.call(this, w, h);\n imageData.data.set = function (arr) {\n for (var i = 0, ii = this.length; i < ii; i++) {\n this[i] = arr[i];\n }\n };\n return imageData;\n };\n contextPrototype = null;\n }\n }\n })();\n (function checkRequestAnimationFrame() {\n function installFakeAnimationFrameFunctions() {\n window.requestAnimationFrame = function (callback) {\n return window.setTimeout(callback, 20);\n };\n window.cancelAnimationFrame = function (timeoutID) {\n window.clearTimeout(timeoutID);\n };\n }\n if (!hasDOM) {\n return;\n }\n if (isIOS) {\n installFakeAnimationFrameFunctions();\n return;\n }\n if ('requestAnimationFrame' in window) {\n return;\n }\n window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame;\n if (window.requestAnimationFrame) {\n return;\n }\n installFakeAnimationFrameFunctions();\n })();\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n PDFJS.maxCanvasPixels = 5242880;\n }\n })();\n (function checkFullscreenSupport() {\n if (!hasDOM) {\n return;\n }\n if (isIE && window.parent !== window) {\n PDFJS.disableFullscreen = true;\n }\n })();\n (function checkCurrentScript() {\n if (!hasDOM) {\n return;\n }\n if ('currentScript' in document) {\n return;\n }\n Object.defineProperty(document, 'currentScript', {\n get: function get() {\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n },\n\n enumerable: true,\n configurable: true\n });\n })();\n (function checkInputTypeNumberAssign() {\n if (!hasDOM) {\n return;\n }\n var el = document.createElement('input');\n try {\n el.type = 'number';\n } catch (ex) {\n var inputProto = el.constructor.prototype;\n var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type');\n Object.defineProperty(inputProto, 'type', {\n get: function get() {\n return typeProperty.get.call(this);\n },\n set: function set(value) {\n typeProperty.set.call(this, value === 'number' ? 'text' : value);\n },\n\n enumerable: true,\n configurable: true\n });\n }\n })();\n (function checkDocumentReadyState() {\n if (!hasDOM) {\n return;\n }\n if (!document.attachEvent) {\n return;\n }\n var documentProto = document.constructor.prototype;\n var readyStateProto = Object.getOwnPropertyDescriptor(documentProto, 'readyState');\n Object.defineProperty(documentProto, 'readyState', {\n get: function get() {\n var value = readyStateProto.get.call(this);\n return value === 'interactive' ? 'loading' : value;\n },\n set: function set(value) {\n readyStateProto.set.call(this, value);\n },\n\n enumerable: true,\n configurable: true\n });\n })();\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = function (value) {\n return typeof value === 'number' && isNaN(value);\n };\n })();\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n })();\n (function checkPromise() {\n if (globalScope.Promise) {\n if (typeof globalScope.Promise.all !== 'function') {\n globalScope.Promise.all = function (iterable) {\n var count = 0,\n results = [],\n resolve,\n reject;\n var promise = new globalScope.Promise(function (resolve_, reject_) {\n resolve = resolve_;\n reject = reject_;\n });\n iterable.forEach(function (p, i) {\n count++;\n p.then(function (result) {\n results[i] = result;\n count--;\n if (count === 0) {\n resolve(results);\n }\n }, reject);\n });\n if (count === 0) {\n resolve(results);\n }\n return promise;\n };\n }\n if (typeof globalScope.Promise.resolve !== 'function') {\n globalScope.Promise.resolve = function (value) {\n return new globalScope.Promise(function (resolve) {\n resolve(value);\n });\n };\n }\n if (typeof globalScope.Promise.reject !== 'function') {\n globalScope.Promise.reject = function (reason) {\n return new globalScope.Promise(function (resolve, reject) {\n reject(reason);\n });\n };\n }\n if (typeof globalScope.Promise.prototype.catch !== 'function') {\n globalScope.Promise.prototype.catch = function (onReject) {\n return globalScope.Promise.prototype.then(undefined, onReject);\n };\n }\n return;\n }\n var STATUS_PENDING = 0;\n var STATUS_RESOLVED = 1;\n var STATUS_REJECTED = 2;\n var REJECTION_TIMEOUT = 500;\n var HandlerManager = {\n handlers: [],\n running: false,\n unhandledRejections: [],\n pendingRejectionCheck: false,\n scheduleHandlers: function scheduleHandlers(promise) {\n if (promise._status === STATUS_PENDING) {\n return;\n }\n this.handlers = this.handlers.concat(promise._handlers);\n promise._handlers = [];\n if (this.running) {\n return;\n }\n this.running = true;\n setTimeout(this.runHandlers.bind(this), 0);\n },\n runHandlers: function runHandlers() {\n var RUN_TIMEOUT = 1;\n var timeoutAt = Date.now() + RUN_TIMEOUT;\n while (this.handlers.length > 0) {\n var handler = this.handlers.shift();\n var nextStatus = handler.thisPromise._status;\n var nextValue = handler.thisPromise._value;\n try {\n if (nextStatus === STATUS_RESOLVED) {\n if (typeof handler.onResolve === 'function') {\n nextValue = handler.onResolve(nextValue);\n }\n } else if (typeof handler.onReject === 'function') {\n nextValue = handler.onReject(nextValue);\n nextStatus = STATUS_RESOLVED;\n if (handler.thisPromise._unhandledRejection) {\n this.removeUnhandeledRejection(handler.thisPromise);\n }\n }\n } catch (ex) {\n nextStatus = STATUS_REJECTED;\n nextValue = ex;\n }\n handler.nextPromise._updateStatus(nextStatus, nextValue);\n if (Date.now() >= timeoutAt) {\n break;\n }\n }\n if (this.handlers.length > 0) {\n setTimeout(this.runHandlers.bind(this), 0);\n return;\n }\n this.running = false;\n },\n addUnhandledRejection: function addUnhandledRejection(promise) {\n this.unhandledRejections.push({\n promise: promise,\n time: Date.now()\n });\n this.scheduleRejectionCheck();\n },\n removeUnhandeledRejection: function removeUnhandeledRejection(promise) {\n promise._unhandledRejection = false;\n for (var i = 0; i < this.unhandledRejections.length; i++) {\n if (this.unhandledRejections[i].promise === promise) {\n this.unhandledRejections.splice(i);\n i--;\n }\n }\n },\n scheduleRejectionCheck: function scheduleRejectionCheck() {\n var _this = this;\n\n if (this.pendingRejectionCheck) {\n return;\n }\n this.pendingRejectionCheck = true;\n setTimeout(function () {\n _this.pendingRejectionCheck = false;\n var now = Date.now();\n for (var i = 0; i < _this.unhandledRejections.length; i++) {\n if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {\n var unhandled = _this.unhandledRejections[i].promise._value;\n var msg = 'Unhandled rejection: ' + unhandled;\n if (unhandled.stack) {\n msg += '\\n' + unhandled.stack;\n }\n try {\n throw new Error(msg);\n } catch (_) {\n console.warn(msg);\n }\n _this.unhandledRejections.splice(i);\n i--;\n }\n }\n if (_this.unhandledRejections.length) {\n _this.scheduleRejectionCheck();\n }\n }, REJECTION_TIMEOUT);\n }\n };\n var Promise = function Promise(resolver) {\n this._status = STATUS_PENDING;\n this._handlers = [];\n try {\n resolver.call(this, this._resolve.bind(this), this._reject.bind(this));\n } catch (e) {\n this._reject(e);\n }\n };\n Promise.all = function Promise_all(promises) {\n var resolveAll, rejectAll;\n var deferred = new Promise(function (resolve, reject) {\n resolveAll = resolve;\n rejectAll = reject;\n });\n var unresolved = promises.length;\n var results = [];\n if (unresolved === 0) {\n resolveAll(results);\n return deferred;\n }\n function reject(reason) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results = [];\n rejectAll(reason);\n }\n for (var i = 0, ii = promises.length; i < ii; ++i) {\n var promise = promises[i];\n var resolve = function (i) {\n return function (value) {\n if (deferred._status === STATUS_REJECTED) {\n return;\n }\n results[i] = value;\n unresolved--;\n if (unresolved === 0) {\n resolveAll(results);\n }\n };\n }(i);\n if (Promise.isPromise(promise)) {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n return deferred;\n };\n Promise.isPromise = function Promise_isPromise(value) {\n return value && typeof value.then === 'function';\n };\n Promise.resolve = function Promise_resolve(value) {\n return new Promise(function (resolve) {\n resolve(value);\n });\n };\n Promise.reject = function Promise_reject(reason) {\n return new Promise(function (resolve, reject) {\n reject(reason);\n });\n };\n Promise.prototype = {\n _status: null,\n _value: null,\n _handlers: null,\n _unhandledRejection: null,\n _updateStatus: function Promise__updateStatus(status, value) {\n if (this._status === STATUS_RESOLVED || this._status === STATUS_REJECTED) {\n return;\n }\n if (status === STATUS_RESOLVED && Promise.isPromise(value)) {\n value.then(this._updateStatus.bind(this, STATUS_RESOLVED), this._updateStatus.bind(this, STATUS_REJECTED));\n return;\n }\n this._status = status;\n this._value = value;\n if (status === STATUS_REJECTED && this._handlers.length === 0) {\n this._unhandledRejection = true;\n HandlerManager.addUnhandledRejection(this);\n }\n HandlerManager.scheduleHandlers(this);\n },\n _resolve: function Promise_resolve(value) {\n this._updateStatus(STATUS_RESOLVED, value);\n },\n _reject: function Promise_reject(reason) {\n this._updateStatus(STATUS_REJECTED, reason);\n },\n then: function Promise_then(onResolve, onReject) {\n var nextPromise = new Promise(function (resolve, reject) {\n this.resolve = resolve;\n this.reject = reject;\n });\n this._handlers.push({\n thisPromise: this,\n onResolve: onResolve,\n onReject: onReject,\n nextPromise: nextPromise\n });\n HandlerManager.scheduleHandlers(this);\n return nextPromise;\n },\n catch: function Promise_catch(onReject) {\n return this.then(undefined, onReject);\n }\n };\n globalScope.Promise = Promise;\n })();\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n var id = 0;\n function WeakMap() {\n this.id = '$weakmap' + id++;\n }\n WeakMap.prototype = {\n has: function has(obj) {\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' && typeof obj !== 'function' || obj === null) {\n return false;\n }\n return !!Object.getOwnPropertyDescriptor(obj, this.id);\n },\n get: function get(obj) {\n return this.has(obj) ? obj[this.id] : undefined;\n },\n set: function set(obj, value) {\n Object.defineProperty(obj, this.id, {\n value: value,\n enumerable: false,\n configurable: true\n });\n },\n delete: function _delete(obj) {\n delete obj[this.id];\n }\n };\n globalScope.WeakMap = WeakMap;\n })();\n (function checkURLConstructor() {\n var hasWorkingUrl = false;\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n hasWorkingUrl = u.href === 'http://a/c%20d';\n }\n } catch (e) {}\n if (hasWorkingUrl) {\n return;\n }\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n return h.toLowerCase();\n }\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n return encodeURIComponent(c);\n }\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n break;\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n if (stateOverride) {\n break loop;\n }\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n break;\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n break;\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n break;\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n break;\n case 'relative':\n this._isRelative = true;\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n this._path.pop();\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n state = 'relative path';\n continue;\n }\n break;\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n break;\n case 'authority second slash':\n state = 'authority ignore slashes';\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n break;\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n break;\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n seenAt = true;\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n var tempC = percentEscape(cp);\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n break;\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n break;\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n if (stateOverride) {\n break loop;\n }\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n break;\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n buffer = '';\n }\n if (stateOverride) {\n break loop;\n }\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n break;\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n state = 'relative path';\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n break;\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n var tmp;\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n if (buffer === '..') {\n this._path.pop();\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n this._path.push(buffer);\n }\n buffer = '';\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n break;\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n break;\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n break;\n }\n cursor++;\n }\n }\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n var authority = '';\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n get protocol() {\n return this._scheme + ':';\n },\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n parse.call(this, value + ':', 'scheme start');\n },\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'host');\n },\n get hostname() {\n return this._host;\n },\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'hostname');\n },\n get port() {\n return this._port;\n },\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n parse.call(this, value, 'port');\n },\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n this._query = '?';\n if (value[0] === '?') {\n value = value.slice(1);\n }\n parse.call(this, value, 'query');\n },\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n this._fragment = '#';\n if (value[0] === '#') {\n value = value.slice(1);\n }\n parse.call(this, value, 'fragment');\n },\n get origin() {\n var host;\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n return 'null';\n }\n host = this.host;\n if (!host) {\n return '';\n }\n return this._scheme + '://' + host;\n }\n };\n var OriginalURL = globalScope.URL;\n if (OriginalURL) {\n JURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n JURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n globalScope.URL = JURL;\n })();\n}\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isReadableStreamSupported = false;\nif (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n}\nif (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n} else {\n exports.ReadableStream = __w_pdfjs_require__(57).ReadableStream;\n}\n\n/***/ })\n/******/ ]);\n});\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}